CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
RivetAnalyzer Class Reference

#include <RivetAnalyzer.h>

Inheritance diagram for RivetAnalyzer:
edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void beginRun (const edm::Run &, const edm::EventSetup &) override
 
void endJob () override
 
void endRun (const edm::Run &, const edm::EventSetup &) override
 
 RivetAnalyzer (const edm::ParameterSet &)
 
 ~RivetAnalyzer () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const noexcept
 
bool wantsStreamRuns () const noexcept
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

std::unique_ptr< Rivet::AnalysisHandler > _analysisHandler
 
std::vector< std::string > _analysisNames
 
std::vector< std::string > _cleanedWeightNames
 
std::string _deselectMultiWeights
 
bool _doFinalize
 
edm::EDGetTokenT< GenEventInfoProduct_genEventInfoCollection
 
edm::EDGetTokenT< GenLumiInfoHeader_genLumiInfoToken
 
edm::EDGetTokenT< edm::HepMC3Product_hepmcCollection
 
bool _isFirstEvent
 
edm::EDGetTokenT< LHEEventProduct_LHECollection
 
const edm::InputTag _lheLabel
 
edm::EDGetTokenT< LHERunInfoProduct_lheRunInfoToken
 
std::vector< std::string > _lheWeightNames
 
double _NLOSmearing
 
std::string _outFileName
 
std::string _selectMultiWeights
 
bool _setIgnoreBeams
 
std::string _setNominalWeightName
 
bool _skipMultiWeights
 
bool _useLHEweights
 
double _weightCap
 
std::vector< std::string > _weightNames
 
double _xsection
 
std::shared_ptr< HepMC3::GenRunInfo > runinfo
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 22 of file RivetAnalyzer.h.

Constructor & Destructor Documentation

◆ RivetAnalyzer()

RivetAnalyzer::RivetAnalyzer ( const edm::ParameterSet pset)

Definition at line 19 of file RivetAnalyzer.cc.

References _deselectMultiWeights, _genLumiInfoToken, _hepmcCollection, _LHECollection, _lheLabel, _lheRunInfoToken, _NLOSmearing, _selectMultiWeights, _setIgnoreBeams, _setNominalWeightName, _skipMultiWeights, _useLHEweights, _weightCap, _xsection, muonDTDigis_cfi::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

20  : _isFirstEvent(true),
21  _outFileName(pset.getParameter<std::string>("OutputFile")),
22  _analysisNames(pset.getParameter<std::vector<std::string> >("AnalysisNames")),
23  //decide whether to finalize the plots or not.
24  //deciding not to finalize them can be useful for further harvesting of many jobs
25  _doFinalize(pset.getParameter<bool>("DoFinalize")),
26  _lheLabel(pset.getParameter<edm::InputTag>("LHECollection")),
27  _xsection(-1.) {
28  usesResource("Rivet");
29 
30  _hepmcCollection = consumes<HepMC3Product>(pset.getParameter<edm::InputTag>("HepMCCollection"));
31  _genLumiInfoToken = consumes<GenLumiInfoHeader, edm::InLumi>(pset.getParameter<edm::InputTag>("genLumiInfo"));
32 
33  _useLHEweights = pset.getParameter<bool>("useLHEweights");
34  if (_useLHEweights) {
35  _lheRunInfoToken = consumes<LHERunInfoProduct, edm::InRun>(_lheLabel);
36  _LHECollection = consumes<LHEEventProduct>(_lheLabel);
37  }
38 
39  _weightCap = pset.getParameter<double>("weightCap");
40  _NLOSmearing = pset.getParameter<double>("NLOSmearing");
41  _setIgnoreBeams = pset.getParameter<bool>("setIgnoreBeams");
42  _skipMultiWeights = pset.getParameter<bool>("skipMultiWeights");
43  _selectMultiWeights = pset.getParameter<std::string>("selectMultiWeights");
44  _deselectMultiWeights = pset.getParameter<std::string>("deselectMultiWeights");
45  _setNominalWeightName = pset.getParameter<std::string>("setNominalWeightName");
46 
47  //set user cross section if needed
48  _xsection = pset.getParameter<double>("CrossSection");
49 }
std::string _deselectMultiWeights
Definition: RivetAnalyzer.h:46
std::string _setNominalWeightName
Definition: RivetAnalyzer.h:47
std::vector< std::string > _analysisNames
Definition: RivetAnalyzer.h:55
bool _setIgnoreBeams
Definition: RivetAnalyzer.h:43
const edm::InputTag _lheLabel
Definition: RivetAnalyzer.h:57
edm::EDGetTokenT< edm::HepMC3Product > _hepmcCollection
Definition: RivetAnalyzer.h:39
std::string _selectMultiWeights
Definition: RivetAnalyzer.h:45
bool _skipMultiWeights
Definition: RivetAnalyzer.h:44
edm::EDGetTokenT< GenLumiInfoHeader > _genLumiInfoToken
Definition: RivetAnalyzer.h:50
edm::EDGetTokenT< LHERunInfoProduct > _lheRunInfoToken
Definition: RivetAnalyzer.h:51
double _xsection
Definition: RivetAnalyzer.h:58
std::string _outFileName
Definition: RivetAnalyzer.h:54
edm::EDGetTokenT< LHEEventProduct > _LHECollection
Definition: RivetAnalyzer.h:48
double _NLOSmearing
Definition: RivetAnalyzer.h:42
double _weightCap
Definition: RivetAnalyzer.h:41

◆ ~RivetAnalyzer()

RivetAnalyzer::~RivetAnalyzer ( )
override

Definition at line 51 of file RivetAnalyzer.cc.

51 {}

Member Function Documentation

◆ analyze()

void RivetAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Set analysis handler weight options

Implements edm::one::EDAnalyzerBase.

Definition at line 96 of file RivetAnalyzer.cc.

References _analysisHandler, _analysisNames, _cleanedWeightNames, _deselectMultiWeights, _genLumiInfoToken, _hepmcCollection, _isFirstEvent, _LHECollection, _lheWeightNames, _NLOSmearing, _selectMultiWeights, _setIgnoreBeams, _setNominalWeightName, _skipMultiWeights, _useLHEweights, _weightCap, _weightNames, _xsection, genWeightsTable_cfi::genEvent, edm::HepMC3Product::GetEvent(), mps_fire::i, iEvent, LHEEventProduct::originalXWGTUP(), runinfo, AlCaHLTBitMon_QueryRunRegistry::string, to_string(), LHEEventProduct::weights(), and PostProcessor_cff::xsection.

96  {
97  //finalize weight names on the first event
98  if (_isFirstEvent) {
99  auto genLumiInfoHandle = iEvent.getLuminosityBlock().getHandle(_genLumiInfoToken);
100  if (genLumiInfoHandle.isValid()) {
101  _weightNames = genLumiInfoHandle->weightNames();
102  }
103 
104  // need to reset the default weight name (or plotting will fail)
105  if (!_weightNames.empty()) {
106  _weightNames[0] = "";
107  } else { // Summer16 samples have 1 weight stored in HepMC but no weightNames
108  _weightNames.push_back("");
109  }
110  if (_useLHEweights) {
111  // Some samples have weights but no weight names -> assign generic names lheN
112  if (_lheWeightNames.empty()) {
113  edm::Handle<LHEEventProduct> lheEventHandle;
114  iEvent.getByToken(_LHECollection, lheEventHandle);
115  for (unsigned int i = 0; i < lheEventHandle->weights().size(); i++) {
116  _lheWeightNames.push_back("lhe" + std::to_string(i + 1)); // start with 1 to match LHE weight IDs
117  }
118  }
119  _weightNames.insert(_weightNames.end(), _lheWeightNames.begin(), _lheWeightNames.end());
120  }
121  // clean weight names to be accepted by Rivet plotting
122  for (const std::string& wn : _weightNames) {
123  _cleanedWeightNames.push_back(std::regex_replace(wn, std::regex("[^A-Za-z\\d\\._=]"), "_"));
124  }
125  runinfo = make_shared<HepMC3::GenRunInfo>();
126  runinfo->set_weight_names(_cleanedWeightNames);
127  }
128 
129  //get the hepmc product from the event
131  iEvent.getByToken(_hepmcCollection, evt);
132 
133  // get HepMC GenEvent
134  const HepMC3::GenEventData* genEventData = evt->GetEvent();
135  std::unique_ptr<HepMC3::GenEvent> genEvent = std::make_unique<HepMC3::GenEvent>();
136  genEvent->read_data(*genEventData);
137 
138  std::vector<double> mergedWeights;
139  for (unsigned int i = 0; i < genEvent->weights().size(); i++) {
140  mergedWeights.push_back(genEvent->weights()[i]);
141  }
142 
143  if (_useLHEweights) {
144  edm::Handle<LHEEventProduct> lheEventHandle;
145  iEvent.getByToken(_LHECollection, lheEventHandle);
146  for (unsigned int i = 0; i < _lheWeightNames.size(); i++) {
147  mergedWeights.push_back(genEvent->weights()[0] * lheEventHandle->weights().at(i).wgt /
148  lheEventHandle->originalXWGTUP());
149  }
150  }
151 
152  double xsection = _xsection > 0 ? _xsection : genEvent->cross_section()->xsecs()[0];
153  HepMC3::GenCrossSectionPtr xsec = make_shared<HepMC3::GenCrossSection>();
154  xsec->set_cross_section(std::vector<double>(mergedWeights.size(), xsection),
155  std::vector<double>(mergedWeights.size(), 0.));
156  genEvent->set_cross_section(xsec);
157  genEvent->set_run_info(runinfo);
158  genEvent->weights() = mergedWeights;
159 
160  //apply the beams initialization on the first event
161  if (_isFirstEvent) {
162  _analysisHandler = std::make_unique<Rivet::AnalysisHandler>();
163  _analysisHandler->addAnalyses(_analysisNames);
164 
166  _analysisHandler->setCheckBeams(!_setIgnoreBeams);
167  _analysisHandler->skipMultiWeights(_skipMultiWeights);
168  _analysisHandler->matchWeightNames(_selectMultiWeights);
169  _analysisHandler->unmatchWeightNames(_deselectMultiWeights);
170  _analysisHandler->setNominalWeightName(_setNominalWeightName);
171  _analysisHandler->setWeightCap(_weightCap);
172  _analysisHandler->setNLOSmearing(_NLOSmearing);
173 
174  _analysisHandler->init(*genEvent);
175 
176  _isFirstEvent = false;
177  }
178 
179  //run the analysis
180  _analysisHandler->analyze(const_cast<GenEvent&>(*genEvent));
181 }
std::string _deselectMultiWeights
Definition: RivetAnalyzer.h:46
std::unique_ptr< Rivet::AnalysisHandler > _analysisHandler
Definition: RivetAnalyzer.h:52
double originalXWGTUP() const
std::vector< std::string > _cleanedWeightNames
Definition: RivetAnalyzer.h:61
std::string _setNominalWeightName
Definition: RivetAnalyzer.h:47
std::vector< std::string > _analysisNames
Definition: RivetAnalyzer.h:55
bool _setIgnoreBeams
Definition: RivetAnalyzer.h:43
static std::string to_string(const XMLCh *ch)
int iEvent
Definition: GenABIO.cc:224
edm::EDGetTokenT< edm::HepMC3Product > _hepmcCollection
Definition: RivetAnalyzer.h:39
std::string _selectMultiWeights
Definition: RivetAnalyzer.h:45
bool _skipMultiWeights
Definition: RivetAnalyzer.h:44
edm::EDGetTokenT< GenLumiInfoHeader > _genLumiInfoToken
Definition: RivetAnalyzer.h:50
double _xsection
Definition: RivetAnalyzer.h:58
std::shared_ptr< HepMC3::GenRunInfo > runinfo
Definition: RivetAnalyzer.h:62
std::vector< std::string > _lheWeightNames
Definition: RivetAnalyzer.h:60
edm::EDGetTokenT< LHEEventProduct > _LHECollection
Definition: RivetAnalyzer.h:48
std::vector< std::string > _weightNames
Definition: RivetAnalyzer.h:59
const std::vector< WGT > & weights() const
const HepMC3::GenEventData * GetEvent() const
Definition: HepMC3Product.h:36
double _NLOSmearing
Definition: RivetAnalyzer.h:42
double _weightCap
Definition: RivetAnalyzer.h:41

◆ beginJob()

void RivetAnalyzer::beginJob ( void  )
overridevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 53 of file RivetAnalyzer.cc.

References SiStripCommissioningSource_FromEDM_cfg::cmsswbase, free(), and AlCaHLTBitMon_QueryRunRegistry::string.

53  {
54  //set the environment, very ugly but rivet is monolithic when it comes to paths
55  char* cmsswbase = std::getenv("CMSSW_BASE");
56  char* cmsswrelease = std::getenv("CMSSW_RELEASE_BASE");
57  if (!std::getenv("RIVET_REF_PATH")) {
58  const std::string rivetref = string(cmsswbase) +
59  "/src/GeneratorInterface/RivetInterface/data:" + string(cmsswrelease) +
60  "/src/GeneratorInterface/RivetInterface/data:.";
61  char* rivetrefCstr = strdup(rivetref.c_str());
62  setenv("RIVET_REF_PATH", rivetrefCstr, 1);
63  free(rivetrefCstr);
64  }
65  if (!std::getenv("RIVET_INFO_PATH")) {
66  const std::string rivetinfo = string(cmsswbase) +
67  "/src/GeneratorInterface/RivetInterface/data:" + string(cmsswrelease) +
68  "/src/GeneratorInterface/RivetInterface/data:.";
69  char* rivetinfoCstr = strdup(rivetinfo.c_str());
70  setenv("RIVET_INFO_PATH", rivetinfoCstr, 1);
71  free(rivetinfoCstr);
72  }
73 }
void free(void *ptr) noexcept

◆ beginRun()

void RivetAnalyzer::beginRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
override

Definition at line 75 of file RivetAnalyzer.cc.

References _lheLabel, _lheWeightNames, _useLHEweights, edm::Run::getByLabel(), LHERunInfoProduct::headers_begin(), LHERunInfoProduct::headers_end(), groupFilesInBlocks::lines, and match().

75  {
76  if (_useLHEweights) {
77  edm::Handle<LHERunInfoProduct> lheRunInfoHandle;
78  iRun.getByLabel(_lheLabel, lheRunInfoHandle);
79  typedef std::vector<LHERunInfoProduct::Header>::const_iterator headers_const_iterator;
80 
81  std::regex reg("<weight.*> ?(.*?) ?<\\/weight>");
82  for (headers_const_iterator iter = lheRunInfoHandle->headers_begin(); iter != lheRunInfoHandle->headers_end();
83  iter++) {
84  std::vector<std::string> lines = iter->lines();
85  for (unsigned int iLine = 0; iLine < lines.size(); iLine++) {
86  std::smatch match;
87  std::regex_search(lines.at(iLine), match, reg);
88  if (!match.empty()) {
89  _lheWeightNames.push_back(match[1]);
90  }
91  }
92  }
93  }
94 }
headers_const_iterator headers_begin() const
const edm::InputTag _lheLabel
Definition: RivetAnalyzer.h:57
headers_const_iterator headers_end() const
bool getByLabel(std::string const &label, Handle< PROD > &result) const
Definition: Run.h:278
std::vector< std::string > _lheWeightNames
Definition: RivetAnalyzer.h:60
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10

◆ endJob()

void RivetAnalyzer::endJob ( void  )
overridevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 191 of file RivetAnalyzer.cc.

191 {}

◆ endRun()

void RivetAnalyzer::endRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
override

Definition at line 183 of file RivetAnalyzer.cc.

References _analysisHandler, _doFinalize, and _outFileName.

183  {
184  if (_doFinalize)
185  _analysisHandler->finalize();
186  _analysisHandler->writeData(_outFileName);
187 
188  return;
189 }
std::unique_ptr< Rivet::AnalysisHandler > _analysisHandler
Definition: RivetAnalyzer.h:52
std::string _outFileName
Definition: RivetAnalyzer.h:54

Member Data Documentation

◆ _analysisHandler

std::unique_ptr<Rivet::AnalysisHandler> RivetAnalyzer::_analysisHandler
private

Definition at line 52 of file RivetAnalyzer.h.

Referenced by analyze(), and endRun().

◆ _analysisNames

std::vector<std::string> RivetAnalyzer::_analysisNames
private

Definition at line 55 of file RivetAnalyzer.h.

Referenced by analyze().

◆ _cleanedWeightNames

std::vector<std::string> RivetAnalyzer::_cleanedWeightNames
private

Definition at line 61 of file RivetAnalyzer.h.

Referenced by analyze().

◆ _deselectMultiWeights

std::string RivetAnalyzer::_deselectMultiWeights
private

Definition at line 46 of file RivetAnalyzer.h.

Referenced by analyze(), and RivetAnalyzer().

◆ _doFinalize

bool RivetAnalyzer::_doFinalize
private

Definition at line 56 of file RivetAnalyzer.h.

Referenced by endRun().

◆ _genEventInfoCollection

edm::EDGetTokenT<GenEventInfoProduct> RivetAnalyzer::_genEventInfoCollection
private

Definition at line 49 of file RivetAnalyzer.h.

◆ _genLumiInfoToken

edm::EDGetTokenT<GenLumiInfoHeader> RivetAnalyzer::_genLumiInfoToken
private

Definition at line 50 of file RivetAnalyzer.h.

Referenced by analyze(), and RivetAnalyzer().

◆ _hepmcCollection

edm::EDGetTokenT<edm::HepMC3Product> RivetAnalyzer::_hepmcCollection
private

Definition at line 39 of file RivetAnalyzer.h.

Referenced by analyze(), and RivetAnalyzer().

◆ _isFirstEvent

bool RivetAnalyzer::_isFirstEvent
private

Definition at line 53 of file RivetAnalyzer.h.

Referenced by analyze().

◆ _LHECollection

edm::EDGetTokenT<LHEEventProduct> RivetAnalyzer::_LHECollection
private

Definition at line 48 of file RivetAnalyzer.h.

Referenced by analyze(), and RivetAnalyzer().

◆ _lheLabel

const edm::InputTag RivetAnalyzer::_lheLabel
private

Definition at line 57 of file RivetAnalyzer.h.

Referenced by beginRun(), and RivetAnalyzer().

◆ _lheRunInfoToken

edm::EDGetTokenT<LHERunInfoProduct> RivetAnalyzer::_lheRunInfoToken
private

Definition at line 51 of file RivetAnalyzer.h.

Referenced by RivetAnalyzer().

◆ _lheWeightNames

std::vector<std::string> RivetAnalyzer::_lheWeightNames
private

Definition at line 60 of file RivetAnalyzer.h.

Referenced by analyze(), and beginRun().

◆ _NLOSmearing

double RivetAnalyzer::_NLOSmearing
private

Definition at line 42 of file RivetAnalyzer.h.

Referenced by analyze(), and RivetAnalyzer().

◆ _outFileName

std::string RivetAnalyzer::_outFileName
private

Definition at line 54 of file RivetAnalyzer.h.

Referenced by endRun().

◆ _selectMultiWeights

std::string RivetAnalyzer::_selectMultiWeights
private

Definition at line 45 of file RivetAnalyzer.h.

Referenced by analyze(), and RivetAnalyzer().

◆ _setIgnoreBeams

bool RivetAnalyzer::_setIgnoreBeams
private

Definition at line 43 of file RivetAnalyzer.h.

Referenced by analyze(), and RivetAnalyzer().

◆ _setNominalWeightName

std::string RivetAnalyzer::_setNominalWeightName
private

Definition at line 47 of file RivetAnalyzer.h.

Referenced by analyze(), and RivetAnalyzer().

◆ _skipMultiWeights

bool RivetAnalyzer::_skipMultiWeights
private

Definition at line 44 of file RivetAnalyzer.h.

Referenced by analyze(), and RivetAnalyzer().

◆ _useLHEweights

bool RivetAnalyzer::_useLHEweights
private

Definition at line 40 of file RivetAnalyzer.h.

Referenced by analyze(), beginRun(), and RivetAnalyzer().

◆ _weightCap

double RivetAnalyzer::_weightCap
private

Definition at line 41 of file RivetAnalyzer.h.

Referenced by analyze(), and RivetAnalyzer().

◆ _weightNames

std::vector<std::string> RivetAnalyzer::_weightNames
private

Definition at line 59 of file RivetAnalyzer.h.

Referenced by analyze().

◆ _xsection

double RivetAnalyzer::_xsection
private

Definition at line 58 of file RivetAnalyzer.h.

Referenced by analyze(), and RivetAnalyzer().

◆ runinfo

std::shared_ptr<HepMC3::GenRunInfo> RivetAnalyzer::runinfo
private

Definition at line 62 of file RivetAnalyzer.h.

Referenced by analyze().