Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Genxsec contact comments93 x #20999

Merged
merged 5 commits into from Nov 7, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
18 changes: 15 additions & 3 deletions GeneratorInterface/Core/plugins/GenXSecAnalyzer.cc
Expand Up @@ -468,7 +468,7 @@ GenXSecAnalyzer::endJob() {
<< "GenXsecAnalyzer:" << "\n"
<< "------------------------------------";

if(!jetMatchEffStat_.size()) {
if(jetMatchEffStat_.empty()) {
edm::LogPrint("GenXSecAnalyzer") << "------------------------------------" << "\n"
<< "Cross-section summary not available" << "\n"
<< "------------------------------------";
Expand Down Expand Up @@ -496,6 +496,8 @@ GenXSecAnalyzer::endJob() {
unsigned int i = 0;
double jetmatch_eff=0;
double jetmatch_err=0;
double matching_eff=1;
double matching_efferr=1;

for(std::map<int, GenFilterInfo>::const_iterator iter = jetMatchEffStat_.begin();
iter!=jetMatchEffStat_.end(); ++iter, i++){
Expand Down Expand Up @@ -554,6 +556,8 @@ GenXSecAnalyzer::endJob() {
<< (thisEventEffStat.filterEfficiency(+3) * 100) << " +/- "
<< ( thisEventEffStat.filterEfficiencyError(+3) * 100);

matching_eff = thisEventEffStat.filterEfficiency(+3);
matching_efferr = thisEventEffStat.filterEfficiencyError(+3);
}
delete [] title;

Expand All @@ -569,10 +573,18 @@ GenXSecAnalyzer::endJob() {
<< "After matching: total cross section = "
<< std::scientific << std::setprecision(3)
<< xsecAfterMatching_[last].value() << " +- " << xsecAfterMatching_[last].error() << " pb";


edm::LogPrint("GenXSecAnalyzer")
<< "Matching efficiency = "
<< std::fixed << std::setprecision(1)
<< matching_eff << " +/- "
<< matching_efferr <<" [TO BE USED IN MCM]";

}
else if(hepidwtup_ == -1 )
edm::LogPrint("GenXSecAnalyzer")
<< "Before Filtrer: total cross section = "
<< "Before Filter: total cross section = "
<< std::scientific << std::setprecision(3)
<< xsecPreFilter_.value() << " +- " << xsecPreFilter_.error() << " pb";

Expand Down Expand Up @@ -634,7 +646,7 @@ GenXSecAnalyzer::endJob() {
<< "(" << filterOnly_event_total << ")"
<< " = "
<< std::scientific << std::setprecision(3)
<< filterOnly_event_eff << " +- " << filterOnly_event_err;
<< filterOnly_event_eff << " +- " << filterOnly_event_err << " [TO BE USED IN MCM]";

// fill negative fraction of negative weights and uncertainty after filter
final_fract_neg_w = filterOnly_event_pass > 0 ? filterOnlyEffStat_.numPassNegativeEvents()/(filterOnly_event_pass) : 0;
Expand Down
18 changes: 9 additions & 9 deletions GeneratorInterface/LHEInterface/plugins/LHESource.h
Expand Up @@ -34,17 +34,17 @@ class LHERunInfoProduct;
public:
explicit LHESource(const edm::ParameterSet &params,
const edm::InputSourceDescription &desc);
virtual ~LHESource();
~LHESource() override;

private:
virtual void endJob() override;
virtual void beginRun(edm::Run &run) override;
virtual void endRun(edm::Run &run) override;
virtual bool setRunAndEventInfo(edm::EventID&, edm::TimeValue_t&, edm::EventAuxiliary::ExperimentType&) override;
virtual void readRun_(edm::RunPrincipal& runPrincipal) override;
virtual void readLuminosityBlock_(edm::LuminosityBlockPrincipal& lumiPrincipal) override;
virtual void readEvent_(edm::EventPrincipal& eventPrincipal) override;
virtual void produce(edm::Event&) override {}
void endJob() override;
void beginRun(edm::Run &run) override;
void endRun(edm::Run &run) override;
bool setRunAndEventInfo(edm::EventID&, edm::TimeValue_t&, edm::EventAuxiliary::ExperimentType&) override;
void readRun_(edm::RunPrincipal& runPrincipal) override;
void readLuminosityBlock_(edm::LuminosityBlockPrincipal& lumiPrincipal) override;
void readEvent_(edm::EventPrincipal& eventPrincipal) override;
void produce(edm::Event&) override {}
std::shared_ptr<edm::RunAuxiliary> readRunAuxiliary_() override;
std::shared_ptr<edm::LuminosityBlockAuxiliary> readLuminosityBlockAuxiliary_() override;

Expand Down