CMS 3D CMS Logo

MixCollectionValidation.h
Go to the documentation of this file.
1 #ifndef MixCollectionValidation_H
2 #define MixCollectionValidation_H
3 
4 // system include files
6 
9 
13 
16 
19 
22 
23 // DQM services for histogram
26 
27 #include <string>
28 
29 //
30 // class declaration
31 //
32 
34 public:
36  ~MixCollectionValidation() override;
37  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
38  void analyze(const edm::Event &, const edm::EventSetup &) override;
39 
40 private:
42 
43  template <class T1, class T2>
44  void fillMultiplicity(T1 &theItr_, T2 &theColl_, MonitorElement *theProfile_);
45 
46  template <class T1, class T2>
47  void fillGenParticleMulti(T1 &theItr_, T2 &theColl_, MonitorElement *theProfile_);
48 
49  template <class T1, class T2>
50  void fillSimHitTime(T1 &theItr_, T2 &theColl_, MonitorElement *theProfile_);
51 
52  template <class T1, class T2>
53  void fillCaloHitTime(T1 &theItr_, T2 &theColl_, MonitorElement *theProfile_);
54 
55  /* N.B. I see vector<InputTag> as private members of this class, but
56  in the corresponding C++ only the first element, if present, is
57  used to get products from the event. Hence I did implement a
58  single Token for each kind of objects, not a vector of
59  Tokens. For all but PSimHitTags_ and PCaloHitTags_, which have a
60  corresponding vector of Tokens. */
61 
65  std::vector<edm::EDGetTokenT<CrossingFrame<PSimHit>>> crossingFrame_PSimHit_Tokens_;
66  std::vector<edm::EDGetTokenT<CrossingFrame<PCaloHit>>> crossingFrame_PCaloHit_Tokens_;
67 
69  int minbunch_;
70  int maxbunch_;
71 
72  bool verbose_;
73 
77 
78  std::map<std::string, MonitorElement *> SimHitNrmap_;
79  std::map<std::string, MonitorElement *> SimHitTimemap_;
80 
81  std::map<std::string, MonitorElement *> CaloHitNrmap_;
82  std::map<std::string, MonitorElement *> CaloHitTimemap_;
83 
84  std::vector<edm::InputTag> HepMCProductTags_;
85  std::vector<edm::InputTag> SimTrackTags_;
86  std::vector<edm::InputTag> SimVertexTags_;
87  std::vector<edm::InputTag> PSimHitTags_;
88  std::vector<edm::InputTag> PCaloHitTags_;
89 
90  int nbin_;
91 };
92 
93 #endif
MixCollectionValidation::SimVertexTags_
std::vector< edm::InputTag > SimVertexTags_
Definition: MixCollectionValidation.h:86
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
edm::Run
Definition: Run.h:45
MixCollectionValidation::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: MixCollectionValidation.cc:116
edm::EDGetTokenT
Definition: EDGetToken.h:33
MixCollectionValidation::fillGenParticleMulti
void fillGenParticleMulti(T1 &theItr_, T2 &theColl_, MonitorElement *theProfile_)
CrossingFrame.h
MixCollectionValidation::~MixCollectionValidation
~MixCollectionValidation() override
Definition: MixCollectionValidation.cc:30
MixCollectionValidation::crossingFrame_SimVtx_Token_
edm::EDGetTokenT< CrossingFrame< SimVertex > > crossingFrame_SimVtx_Token_
Definition: MixCollectionValidation.h:64
DQMStore.h
MixCollectionValidation::outputFile_
std::string outputFile_
Definition: MixCollectionValidation.h:68
MixCollectionValidation::nbin_
int nbin_
Definition: MixCollectionValidation.h:90
MixCollectionValidation::fillSimHitTime
void fillSimHitTime(T1 &theItr_, T2 &theColl_, MonitorElement *theProfile_)
MixCollectionValidation::crossingFrame_SimTr_Token_
edm::EDGetTokenT< CrossingFrame< SimTrack > > crossingFrame_SimTr_Token_
Definition: MixCollectionValidation.h:63
MakerMacros.h
PSimHit.h
MixCollection.h
Service.h
MixCollectionValidation::crossingFrame_PCaloHit_Tokens_
std::vector< edm::EDGetTokenT< CrossingFrame< PCaloHit > > > crossingFrame_PCaloHit_Tokens_
Definition: MixCollectionValidation.h:66
MixCollectionValidation::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: MixCollectionValidation.cc:35
MixCollectionValidation::crossingFrame_Hep_Token_
edm::EDGetTokenT< CrossingFrame< edm::HepMCProduct > > crossingFrame_Hep_Token_
Definition: MixCollectionValidation.h:62
MixCollectionValidation::nrSimTrackH_
MonitorElement * nrSimTrackH_
Definition: MixCollectionValidation.h:75
DQMEDAnalyzer.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
MixCollectionValidation::mixObjextsSet_
edm::ParameterSet mixObjextsSet_
Definition: MixCollectionValidation.h:41
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
MixCollectionValidation::fillMultiplicity
void fillMultiplicity(T1 &theItr_, T2 &theColl_, MonitorElement *theProfile_)
MixCollectionValidation::nrHepMCProductH_
MonitorElement * nrHepMCProductH_
Definition: MixCollectionValidation.h:74
edm::EventSetup
Definition: EventSetup.h:57
MixCollectionValidation::minbunch_
int minbunch_
Definition: MixCollectionValidation.h:69
InputTag.h
MixCollectionValidation::fillCaloHitTime
void fillCaloHitTime(T1 &theItr_, T2 &theColl_, MonitorElement *theProfile_)
MixCollectionValidation::verbose_
bool verbose_
Definition: MixCollectionValidation.h:72
MixCollectionValidation::PCaloHitTags_
std::vector< edm::InputTag > PCaloHitTags_
Definition: MixCollectionValidation.h:88
MixCollectionValidation::PSimHitTags_
std::vector< edm::InputTag > PSimHitTags_
Definition: MixCollectionValidation.h:87
Frameworkfwd.h
MixCollectionValidation::SimHitTimemap_
std::map< std::string, MonitorElement * > SimHitTimemap_
Definition: MixCollectionValidation.h:79
MixCollectionValidation::crossingFrame_PSimHit_Tokens_
std::vector< edm::EDGetTokenT< CrossingFrame< PSimHit > > > crossingFrame_PSimHit_Tokens_
Definition: MixCollectionValidation.h:65
MixCollectionValidation::CaloHitTimemap_
std::map< std::string, MonitorElement * > CaloHitTimemap_
Definition: MixCollectionValidation.h:82
PCaloHitContainer.h
dqm::implementation::IBooker
Definition: DQMStore.h:43
MixCollectionValidation::SimHitNrmap_
std::map< std::string, MonitorElement * > SimHitNrmap_
Definition: MixCollectionValidation.h:78
ParameterSet.h
HepMCProduct.h
MixCollectionValidation::SimTrackTags_
std::vector< edm::InputTag > SimTrackTags_
Definition: MixCollectionValidation.h:85
edm::Event
Definition: Event.h:73
MixCollectionValidation::CaloHitNrmap_
std::map< std::string, MonitorElement * > CaloHitNrmap_
Definition: MixCollectionValidation.h:81
SimTrackContainer.h
MixCollectionValidation
Definition: MixCollectionValidation.h:33
MixCollectionValidation::HepMCProductTags_
std::vector< edm::InputTag > HepMCProductTags_
Definition: MixCollectionValidation.h:84
MixCollectionValidation::nrSimVertexH_
MonitorElement * nrSimVertexH_
Definition: MixCollectionValidation.h:76
MixCollectionValidation::MixCollectionValidation
MixCollectionValidation(const edm::ParameterSet &)
Definition: MixCollectionValidation.cc:21
MixCollectionValidation::maxbunch_
int maxbunch_
Definition: MixCollectionValidation.h:70