CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
BasicGenParticleValidation Class Reference

#include <BasicGenParticleValidation.h>

Inheritance diagram for BasicGenParticleValidation:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &) override
 
 BasicGenParticleValidation (const edm::ParameterSet &)
 
virtual void bookHistograms (DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
 
bool matchParticles (const HepMC::GenParticle *&, const reco::GenParticle *&)
 
virtual ~BasicGenParticleValidation ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Attributes

MonitorElementgenJetCentral
 
edm::InputTag genjetCollection_
 
edm::EDGetTokenT
< reco::GenJetCollection
genjetCollectionToken_
 
MonitorElementgenJetDeltaEtaMin
 
MonitorElementgenJetEnergy
 
MonitorElementgenJetEta
 
MonitorElementgenJetMult
 
MonitorElementgenJetPhi
 
MonitorElementgenJetPt
 
MonitorElementgenJetPto1
 
MonitorElementgenJetPto10
 
MonitorElementgenJetPto100
 
MonitorElementgenJetTotPt
 
MonitorElementgenMatched
 
edm::InputTag genparticleCollection_
 
edm::EDGetTokenT
< reco::GenParticleCollection
genparticleCollectionToken_
 
MonitorElementgenPMultiplicity
 
edm::InputTag hepmcCollection_
 
edm::EDGetTokenT
< edm::HepMCProduct
hepmcCollectionToken_
 
MonitorElementmatchedResolution
 
double matchPr_
 
MonitorElementmultipleMatching
 
MonitorElementnEvt
 
unsigned int verbosity_
 
WeightManager wmanager_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
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 ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
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)
 

Detailed Description

Definition at line 37 of file BasicGenParticleValidation.h.

Constructor & Destructor Documentation

BasicGenParticleValidation::BasicGenParticleValidation ( const edm::ParameterSet iPSet)
explicit

Definition at line 15 of file BasicGenParticleValidation.cc.

References genjetCollection_, genjetCollectionToken_, genparticleCollection_, genparticleCollectionToken_, hepmcCollection_, and hepmcCollectionToken_.

15  :
17  hepmcCollection_(iPSet.getParameter<edm::InputTag>("hepmcCollection")),
18  genparticleCollection_(iPSet.getParameter<edm::InputTag>("genparticleCollection")),
19  genjetCollection_(iPSet.getParameter<edm::InputTag>("genjetsCollection")),
20  matchPr_(iPSet.getParameter<double>("matchingPrecision")),
21  verbosity_(iPSet.getUntrackedParameter<unsigned int>("verbosity",0))
22 {
23 
24  hepmcCollectionToken_=consumes<HepMCProduct>(hepmcCollection_);
25  genparticleCollectionToken_=consumes<reco::GenParticleCollection>(genparticleCollection_);
26  genjetCollectionToken_=consumes<reco::GenJetCollection>(genjetCollection_);
27 
28 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< reco::GenJetCollection > genjetCollectionToken_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
edm::EDGetTokenT< reco::GenParticleCollection > genparticleCollectionToken_
BasicGenParticleValidation::~BasicGenParticleValidation ( )
virtual

Definition at line 30 of file BasicGenParticleValidation.cc.

30 {}

Member Function Documentation

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

Gathering the HepMCProduct information

Implements edm::stream::EDAnalyzerBase.

Definition at line 69 of file BasicGenParticleValidation.cc.

References gather_cfg::cout, HLTFastRecoForTau_cff::deltaEta, eta(), MonitorElement::Fill(), genJetCentral, genjetCollectionToken_, genJetDeltaEtaMin, genJetEnergy, genJetEta, genJetMult, genJetPhi, genJetPt, genJetPto1, genJetPto10, genJetPto100, genJetTotPt, genMatched, genparticleCollectionToken_, genParticleCandidates2GenParticles_cfi::genParticles, genPMultiplicity, edm::Event::getByToken(), hepmcCollectionToken_, i, getDQMSummary::iter, j, reco::btau::jetEta, matchedResolution, matchParticles(), min(), multipleMatching, nEvt, EnergyCorrector::pt, rho, theIndex(), verbosity_, WeightManager::weight(), histoStyle::weight, and wmanager_.

70 {
71 
72  unsigned int initSize = 1000;
73 
76  iEvent.getByToken(hepmcCollectionToken_, evt);
77 
78  //Get HepMC EVENT
79  HepMC::GenEvent *myGenEvent = new HepMC::GenEvent(*(evt->GetEvent()));
80 
81  double weight = wmanager_.weight(iEvent);
82 
83  nEvt->Fill(0.5, weight);
84 
85  std::vector<const HepMC::GenParticle*> hepmcGPCollection;
86  std::vector<int> barcodeList;
87  hepmcGPCollection.reserve(initSize);
88  barcodeList.reserve(initSize);
89 
90  //Looping through HepMC::GenParticle collection to search for status 1 particles
91  for (HepMC::GenEvent::particle_const_iterator iter = myGenEvent->particles_begin(); iter != myGenEvent->particles_end(); ++iter){
92  if ( (*iter)->status() == 1) {
93  hepmcGPCollection.push_back(*iter);
94  barcodeList.push_back((*iter)->barcode());
95  if ( verbosity_ > 0 ) {
96  std::cout << "HepMC " << std::setw(14) << std::fixed << (*iter)->pdg_id() << std::setw(14) << std::fixed << (*iter)->momentum().px() << std::setw(14) << std::fixed
97  << (*iter)->momentum().py() << std::setw(14) << std::fixed << (*iter)->momentum().pz() << std::endl;
98  }
99  }
100  }
101 
102 
103  // Gather information on the reco::GenParticle collection
105  iEvent.getByToken(genparticleCollectionToken_, genParticles );
106 
107  std::vector<const reco::GenParticle*> particles;
108  particles.reserve(initSize);
109  for (reco::GenParticleCollection::const_iterator iter=genParticles->begin();iter!=genParticles->end();++iter){
110  if ( (*iter).status() == 1) {
111  particles.push_back(&*iter);
112  if ( verbosity_ > 0 ) {
113  std::cout << "reco " << std::setw(14) << std::fixed << (*iter).pdgId() << std::setw(14) << std::fixed << (*iter).px()
114  << std::setw(14) << std::fixed << (*iter).py() << std::setw(14) << std::fixed << (*iter).pz() << std::endl;
115  }
116  }
117  }
118 
119  unsigned int nReco = particles.size();
120  unsigned int nHepMC = hepmcGPCollection.size();
121 
122  genPMultiplicity->Fill(std::log10(nReco), weight);
123 
124  // Define vector containing index of hepmc corresponding to the reco::GenParticle
125  std::vector<int> hepmcMatchIndex;
126  hepmcMatchIndex.reserve(initSize);
127 
128  // Matching procedure
129 
130  // Check array size consistency
131 
132  if ( nReco != nHepMC ) {
133  edm::LogWarning("CollectionSizeInconsistency") << "Collection size inconsistency: HepMC::GenParticle = " << nHepMC << " reco::GenParticle = " << nReco;
134  }
135 
136  // Match each HepMC with a reco
137 
138  for ( unsigned int i = 0; i < nReco; ++i ){
139  for ( unsigned int j = 0; j < nHepMC; ++j ){
140  if ( matchParticles( hepmcGPCollection[j], particles[i] ) ) {
141  hepmcMatchIndex.push_back((int)j);
142  if ( hepmcGPCollection[j]->momentum().rho() != 0. ) {
143  double reso = 1.-particles[i]->p()/hepmcGPCollection[j]->momentum().rho();
144  if ( verbosity_ > 0 ) {
145  std::cout << "Matching momentum: reco = " << particles[i]->p() << " HepMC = "
146  << hepmcGPCollection[j]->momentum().rho() << " resoultion = " << reso << std::endl;
147  }
148  matchedResolution->Fill(std::log10(std::fabs(reso)),weight); }
149  continue;
150  }
151  }
152  }
153 
154  // Check unicity of matching
155 
156  unsigned int nMatched = hepmcMatchIndex.size();
157 
158  if ( nMatched != nReco ) {
159  edm::LogWarning("IncorrectMatching") << "Incorrect number of matched indexes: GenParticle = " << nReco << " matched indexes = " << nMatched;
160  }
161  genMatched->Fill(int(nReco-nMatched),weight);
162 
163  unsigned int nWrMatch = 0;
164 
165  for ( unsigned int i = 0; i < nMatched; ++i ){
166  for (unsigned int j = i+1; j < nMatched; ++j ){
167  if ( hepmcMatchIndex[i] == hepmcMatchIndex[j] ) {
168  int theIndex = hepmcMatchIndex[i];
169  edm::LogWarning("DuplicatedMatching") << "Multiple matching occurencies for GenParticle barcode = " << barcodeList[theIndex];
170  nWrMatch++;
171  }
172  }
173  }
174  multipleMatching->Fill(int(nWrMatch),weight);
175 
176  // Gather information in the GenJet collection
178  iEvent.getByToken(genjetCollectionToken_, genJets );
179 
180  int nJets = 0;
181  int nJetso1 = 0;
182  int nJetso10 = 0;
183  int nJetso100 = 0;
184  int nJetsCentral = 0;
185  double totPt = 0.;
186 
187  std::vector<double> jetEta;
188  jetEta.reserve(initSize);
189 
190  for (reco::GenJetCollection::const_iterator iter=genJets->begin();iter!=genJets->end();++iter){
191  nJets++;
192  double pt = (*iter).pt();
193  totPt += pt;
194  if (pt > 1.) nJetso1++;
195  if (pt > 10.) nJetso10++;
196  if (pt > 100.) nJetso100++;
197  double eta = (*iter).eta();
198  if ( std::fabs(eta) < 2.5 ) nJetsCentral++;
199  jetEta.push_back(eta);
200 
201  genJetEnergy->Fill(std::log10((*iter).energy()),weight);
202  genJetPt->Fill(std::log10(pt),weight);
203  genJetEta->Fill(eta,weight);
204  genJetPhi->Fill((*iter).phi()/CLHEP::degree,weight);
205  }
206 
207  genJetMult->Fill(nJets,weight);
208  genJetPto1->Fill(nJetso1,weight);
209  genJetPto10->Fill(nJetso10,weight);
210  genJetPto100->Fill(nJetso100,weight);
211  genJetCentral->Fill(nJetsCentral,weight);
212 
213  genJetTotPt->Fill(std::log10(totPt),weight);
214 
215  double deltaEta = 999.;
216  if ( jetEta.size() > 1 ) {
217  for (unsigned int i = 0; i < jetEta.size(); i++){
218  for (unsigned int j = i+1; j < jetEta.size(); j++){
219  deltaEta = std::min(deltaEta,std::fabs(jetEta[i]-jetEta[j]));
220  }
221  }
222  }
223 
224  genJetDeltaEtaMin->Fill(deltaEta,weight);
225 
226  delete myGenEvent;
227 }//analyze
int i
Definition: DBlmapReader.cc:9
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:449
Definition: DDAxes.h:10
theIndex(0)
bool matchParticles(const HepMC::GenParticle *&, const reco::GenParticle *&)
T eta() const
void Fill(long long x)
edm::EDGetTokenT< reco::GenJetCollection > genjetCollectionToken_
int j
Definition: DBlmapReader.cc:9
T min(T a, T b)
Definition: MathUtil.h:58
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
tuple cout
Definition: gather_cfg.py:121
int weight
Definition: histoStyle.py:50
double weight(const edm::Event &)
edm::EDGetTokenT< reco::GenParticleCollection > genparticleCollectionToken_
void BasicGenParticleValidation::bookHistograms ( DQMStore::IBooker i,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Setting the DQM top directories

Booking the ME's

multiplicity

Implements DQMEDAnalyzer.

Definition at line 34 of file BasicGenParticleValidation.cc.

References DQMHelper::book1dHisto(), genJetCentral, genJetDeltaEtaMin, genJetEnergy, genJetEta, genJetMult, genJetPhi, genJetPt, genJetPto1, genJetPto10, genJetPto100, genJetTotPt, genMatched, genPMultiplicity, matchedResolution, multipleMatching, nEvt, and DQMStore::IBooker::setCurrentFolder().

34  {
36  DQMHelper dqm(&i); i.setCurrentFolder("Generator/GenParticles");
38 
39  // Number of analyzed events
40  nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.);
41 
43  genPMultiplicity = dqm.book1dHisto("genPMultiplicty", "Log(No. all GenParticles)", 50, -1, 5); //Log
44  //difference in HepMC and reco multiplicity
45  genMatched = dqm.book1dHisto("genMatched", "Difference reco - matched", 50, -25, 25);
46  //multiple matching
47  multipleMatching = dqm.book1dHisto("multipleMatching", "multiple reco HepMC matching", 50, 0, 50);
48  //momentum difference of matched particles
49  matchedResolution = dqm.book1dHisto("matchedResolution", "log10(momentum difference of matched particles)", 70, -10., -3.);
50 
51  // GenJet general distributions
52  genJetMult = dqm.book1dHisto("genJetMult", "GenJet multiplicity", 50, 0, 50);
53  genJetEnergy = dqm.book1dHisto("genJetEnergy", "Log10(GenJet energy)", 60, -1, 5);
54  genJetPt = dqm.book1dHisto("genJetPt", "Log10(GenJet pt)", 60, -1, 5);
55  genJetEta = dqm.book1dHisto("genJetEta", "GenJet eta", 220, -11, 11);
56  genJetPhi = dqm.book1dHisto("genJetPhi", "GenJet phi", 360, -180, 180);
57  genJetDeltaEtaMin = dqm.book1dHisto("genJetDeltaEtaMin", "GenJet minimum rapidity gap", 30, 0, 30);
58 
59  genJetPto1 = dqm.book1dHisto("genJetPto1", "GenJet multiplicity above 1 GeV", 50, 0, 50);
60  genJetPto10 = dqm.book1dHisto("genJetPto10", "GenJet multiplicity above 10 GeV", 50, 0, 50);
61  genJetPto100 = dqm.book1dHisto("genJetPto100", "GenJet multiplicity above 100 GeV", 50, 0, 50);
62  genJetCentral = dqm.book1dHisto("genJetCentral", "GenJet multiplicity |eta|.lt.2.5", 50, 0, 50);
63 
64  genJetTotPt = dqm.book1dHisto("genJetTotPt", "Log10(GenJet total pt)", 100, -5, 5);
65 
66  return;
67 }
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
bool BasicGenParticleValidation::matchParticles ( const HepMC::GenParticle *&  hepmcP,
const reco::GenParticle *&  recoP 
)

Definition at line 229 of file BasicGenParticleValidation.cc.

References matchPr_, reco::LeafCandidate::pdgId(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), and reco::LeafCandidate::pz().

Referenced by analyze().

229  {
230 
231  bool state = false;
232 
233  if ( hepmcP->pdg_id() != recoP->pdgId() ) return state;
234  if ( std::fabs(hepmcP->momentum().px()-recoP->px()) < std::fabs(matchPr_*hepmcP->momentum().px()) &&
235  std::fabs(hepmcP->momentum().py()-recoP->py()) < std::fabs(matchPr_*hepmcP->momentum().py()) &&
236  std::fabs(hepmcP->momentum().pz()-recoP->pz()) < std::fabs(matchPr_*hepmcP->momentum().pz())) {
237  state = true; }
238 
239  return state;
240 
241 }
virtual int pdgId() const
PDG identifier.
virtual double px() const
x coordinate of momentum vector
virtual double pz() const
z coordinate of momentum vector
virtual double py() const
y coordinate of momentum vector

Member Data Documentation

MonitorElement* BasicGenParticleValidation::genJetCentral
private

Definition at line 78 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

edm::InputTag BasicGenParticleValidation::genjetCollection_
private

Definition at line 51 of file BasicGenParticleValidation.h.

Referenced by BasicGenParticleValidation().

edm::EDGetTokenT<reco::GenJetCollection> BasicGenParticleValidation::genjetCollectionToken_
private

Definition at line 84 of file BasicGenParticleValidation.h.

Referenced by analyze(), and BasicGenParticleValidation().

MonitorElement* BasicGenParticleValidation::genJetDeltaEtaMin
private

Definition at line 73 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* BasicGenParticleValidation::genJetEnergy
private

Definition at line 69 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* BasicGenParticleValidation::genJetEta
private

Definition at line 71 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* BasicGenParticleValidation::genJetMult
private

Definition at line 68 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* BasicGenParticleValidation::genJetPhi
private

Definition at line 72 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* BasicGenParticleValidation::genJetPt
private

Definition at line 70 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* BasicGenParticleValidation::genJetPto1
private

Definition at line 75 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* BasicGenParticleValidation::genJetPto10
private

Definition at line 76 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* BasicGenParticleValidation::genJetPto100
private

Definition at line 77 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* BasicGenParticleValidation::genJetTotPt
private

Definition at line 80 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* BasicGenParticleValidation::genMatched
private

Definition at line 62 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

edm::InputTag BasicGenParticleValidation::genparticleCollection_
private

Definition at line 50 of file BasicGenParticleValidation.h.

Referenced by BasicGenParticleValidation().

edm::EDGetTokenT<reco::GenParticleCollection> BasicGenParticleValidation::genparticleCollectionToken_
private

Definition at line 83 of file BasicGenParticleValidation.h.

Referenced by analyze(), and BasicGenParticleValidation().

MonitorElement* BasicGenParticleValidation::genPMultiplicity
private

Definition at line 61 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

edm::InputTag BasicGenParticleValidation::hepmcCollection_
private

Definition at line 49 of file BasicGenParticleValidation.h.

Referenced by BasicGenParticleValidation().

edm::EDGetTokenT<edm::HepMCProduct> BasicGenParticleValidation::hepmcCollectionToken_
private

Definition at line 82 of file BasicGenParticleValidation.h.

Referenced by analyze(), and BasicGenParticleValidation().

MonitorElement* BasicGenParticleValidation::matchedResolution
private

Definition at line 64 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

double BasicGenParticleValidation::matchPr_
private

Definition at line 52 of file BasicGenParticleValidation.h.

Referenced by matchParticles().

MonitorElement* BasicGenParticleValidation::multipleMatching
private

Definition at line 63 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* BasicGenParticleValidation::nEvt
private

Definition at line 57 of file BasicGenParticleValidation.h.

Referenced by analyze(), and bookHistograms().

unsigned int BasicGenParticleValidation::verbosity_
private

Definition at line 54 of file BasicGenParticleValidation.h.

Referenced by analyze().

WeightManager BasicGenParticleValidation::wmanager_
private

Definition at line 48 of file BasicGenParticleValidation.h.

Referenced by analyze().