CMS 3D CMS Logo

EVTColContainer.cc
Go to the documentation of this file.
1 #ifndef HLTRIGGEROFFLINE_EXOTICA_EVTCOLCONTAINER_CC
2 #define HLTRIGGEROFFLINE_EXOTICA_EVTCOLCONTAINER_CC
3 
37 
38 #include <map>
39 #include <vector>
40 
44 
46  enum {
47  PHOTON = 22,
48  ELEC = 11,
49  MUON = 13,
50  MUTRK = 130,
51  PFTAU = 15,
52  TRACK = 0,
53  PFMET = 39,
54  PFMHT = 40,
55  MET = 390000,
56  GENMET = 390001,
57  CALOMET = 390002,
58  HLTMET = 390003,
59  L1MET = 390004,
60  PFJET = 211,
61  CALOJET = 111,
62  CALOMHT = 400002,
64  };
65 
68 
70  const std::vector<reco::Muon> *muons;
71  const std::vector<reco::Track> *tracks;
72  const std::vector<reco::GsfElectron> *electrons;
73  const std::vector<reco::Photon> *photons;
74  const std::vector<reco::MET> *METs;
75  const std::vector<reco::PFMET> *pfMETs;
76  const std::vector<reco::PFMET> *pfMHTs;
77  const std::vector<reco::GenMET> *genMETs;
78  const std::vector<reco::CaloMET> *caloMETs;
79  const std::vector<reco::CaloMET> *caloMHTs;
80  const std::vector<l1extra::L1EtMissParticle> *l1METs;
81  const std::vector<reco::PFTau> *pfTaus;
82  const std::vector<reco::PFJet> *pfJets;
83  const std::vector<reco::CaloJet> *caloJets;
86 
88  : nOfCollections(6),
89  nInitialized(0),
90  genParticles(nullptr),
91  muons(nullptr),
92  tracks(nullptr),
93  electrons(nullptr),
94  photons(nullptr),
95  METs(nullptr),
96  pfMETs(nullptr),
97  pfMHTs(nullptr),
98  genMETs(nullptr),
99  caloMETs(nullptr),
100  caloMHTs(nullptr),
101  l1METs(nullptr),
102  pfTaus(nullptr),
103  pfJets(nullptr),
104  caloJets(nullptr),
105  triggerResults(nullptr),
106  bs(nullptr) {}
108  bool isAllInit() { return (nInitialized == nOfCollections); }
109 
110  bool isCommonInit() { return false; }
111 
113  void reset() {
114  nInitialized = 0;
115  genParticles = nullptr;
116  muons = nullptr;
117  tracks = nullptr;
118  electrons = nullptr;
119  photons = nullptr;
120  METs = nullptr;
121  pfMETs = nullptr;
122  pfMHTs = nullptr;
123  genMETs = nullptr;
124  caloMETs = nullptr;
125  caloMHTs = nullptr;
126  l1METs = nullptr;
127  pfTaus = nullptr;
128  pfJets = nullptr;
129  caloJets = nullptr;
130  triggerResults = nullptr;
131  bs = nullptr;
132  }
133 
135  void set(const reco::MuonCollection *v) {
136  muons = v;
137  ++nInitialized;
138  }
139  void set(const reco::TrackCollection *v) {
140  tracks = v;
141  ++nInitialized;
142  }
144  electrons = v;
145  ++nInitialized;
146  }
147  void set(const reco::PhotonCollection *v) {
148  photons = v;
149  ++nInitialized;
150  }
151  void set(const reco::METCollection *v) {
152  METs = v;
153  ++nInitialized;
154  }
155  void set(const reco::PFMETCollection *v) {
156  pfMETs = v;
157  ++nInitialized;
158  }
160  pfMHTs = v;
161  ++nInitialized;
162  }
163  void set(const reco::GenMETCollection *v) {
164  genMETs = v;
165  ++nInitialized;
166  }
168  caloMETs = v;
169  ++nInitialized;
170  }
172  caloMHTs = v;
173  ++nInitialized;
174  }
176  l1METs = v;
177  ++nInitialized;
178  }
179  void set(const reco::PFTauCollection *v) {
180  pfTaus = v;
181  ++nInitialized;
182  }
183  void set(const reco::PFJetCollection *v) {
184  pfJets = v;
185  ++nInitialized;
186  }
188  caloJets = v;
189  ++nInitialized;
190  }
191 
193  const unsigned int getSize(const unsigned int &objtype) const {
194  unsigned int size = 0;
195  if (objtype == EVTColContainer::MUON && muons != nullptr) {
196  size = muons->size();
197  } else if (objtype == EVTColContainer::MUTRK && tracks != nullptr) {
198  size = tracks->size();
199  } else if (objtype == EVTColContainer::TRACK && tracks != nullptr) {
200  size = tracks->size();
201  } else if (objtype == EVTColContainer::ELEC && electrons != nullptr) {
202  size = electrons->size();
203  } else if (objtype == EVTColContainer::PHOTON && photons != nullptr) {
204  size = photons->size();
205  } else if (objtype == EVTColContainer::MET && METs != nullptr) {
206  size = METs->size();
207  } else if (objtype == EVTColContainer::PFMET && pfMETs != nullptr) {
208  size = pfMETs->size();
209  } else if (objtype == EVTColContainer::PFMHT && pfMHTs != nullptr) {
210  size = pfMHTs->size();
211  } else if (objtype == EVTColContainer::GENMET && genMETs != nullptr) {
212  size = genMETs->size();
213  } else if (objtype == EVTColContainer::CALOMET && caloMETs != nullptr) {
214  size = caloMETs->size();
215  } else if (objtype == EVTColContainer::CALOMHT && caloMHTs != nullptr) {
216  size = caloMHTs->size();
217  } else if (objtype == EVTColContainer::L1MET && l1METs != nullptr) {
218  size = l1METs->size();
219  } else if (objtype == EVTColContainer::PFTAU && pfTaus != nullptr) {
220  size = pfTaus->size();
221  } else if (objtype == EVTColContainer::PFJET && pfJets != nullptr) {
222  size = pfJets->size();
223  } else if (objtype == EVTColContainer::CALOJET && caloJets != nullptr) {
224  size = caloJets->size();
225  }
226 
227  return size;
228  }
229 
231  const static std::string getTypeString(const unsigned int &objtype) {
232  std::string objTypestr;
233 
234  if (objtype == EVTColContainer::MUON) {
235  objTypestr = "Mu";
236  } else if (objtype == EVTColContainer::MUTRK) {
237  objTypestr = "refittedStandAloneMuons";
238  } else if (objtype == EVTColContainer::TRACK) {
239  objTypestr = "Track";
240  } else if (objtype == EVTColContainer::ELEC) {
241  objTypestr = "Ele";
242  } else if (objtype == EVTColContainer::PHOTON) {
243  objTypestr = "Photon";
244  } else if (objtype == EVTColContainer::MET) {
245  objTypestr = "MET";
246  } else if (objtype == EVTColContainer::PFMET) {
247  objTypestr = "PFMET";
248  } else if (objtype == EVTColContainer::PFMHT) {
249  objTypestr = "PFMHT";
250  } else if (objtype == EVTColContainer::GENMET) {
251  objTypestr = "GenMET";
252  } else if (objtype == EVTColContainer::CALOMET) {
253  objTypestr = "CaloMET";
254  } else if (objtype == EVTColContainer::CALOMHT) {
255  objTypestr = "CaloMHT";
256  } else if (objtype == EVTColContainer::L1MET) {
257  objTypestr = "l1MET";
258  } else if (objtype == EVTColContainer::PFTAU) {
259  objTypestr = "PFTau";
260  } else if (objtype == EVTColContainer::PFJET) {
261  objTypestr = "PFJet";
262  } else if (objtype == EVTColContainer::CALOJET) {
263  objTypestr = "CaloJet";
264  } else {
265  edm::LogError("ExoticaValidations") << "EVTColContainer::getTypeString, "
266  << "NOT Implemented error (object type id='" << objtype << "')" << std::endl;
267  ;
268  }
269 
270  return objTypestr;
271  }
272 };
273 #endif
EVTColContainer::getTypeString
const static std::string getTypeString(const unsigned int &objtype)
Tranform types into strings.
Definition: EVTColContainer.cc:231
EVTColContainer::set
void set(const reco::PFMETCollection *v)
Definition: EVTColContainer.cc:155
reco::PFMETCollection
std::vector< reco::PFMET > PFMETCollection
collection of PFMET objects
Definition: PFMETCollection.h:20
CaloJetCollection.h
CaloJet.h
PFTauFwd.h
EVTColContainer::electrons
const std::vector< reco::GsfElectron > * electrons
Definition: EVTColContainer.cc:72
Muon.h
EVTColContainer::METs
const std::vector< reco::MET > * METs
Definition: EVTColContainer.cc:74
EVTColContainer::setPFMHT
void setPFMHT(const reco::PFMETCollection *v)
Definition: EVTColContainer.cc:159
EVTColContainer::set
void set(const reco::PFTauCollection *v)
Definition: EVTColContainer.cc:179
TriggerResults.h
EVTColContainer::set
void set(const reco::PFJetCollection *v)
Definition: EVTColContainer.cc:183
EVTColContainer::GENMET
Definition: EVTColContainer.cc:56
PFJet.h
EVTColContainer::CALOMHT
Definition: EVTColContainer.cc:62
EVTColContainer::PFMET
Definition: EVTColContainer.cc:53
PFJetCollection.h
reco::GenParticleCollection
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
Definition: GenParticleFwd.h:13
EVTColContainer::EVTColContainer
EVTColContainer()
Definition: EVTColContainer.cc:87
EVTColContainer::tracks
const std::vector< reco::Track > * tracks
Definition: EVTColContainer.cc:71
EVTColContainer::MUON
Definition: EVTColContainer.cc:49
PhotonFwd.h
reco::GsfElectronCollection
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
Definition: GsfElectronFwd.h:14
EVTColContainer::set
void set(const l1extra::L1EtMissParticleCollection *v)
Definition: EVTColContainer.cc:175
EVTColContainer::isCommonInit
bool isCommonInit()
Definition: EVTColContainer.cc:110
EVTColContainer::set
void set(const reco::METCollection *v)
Definition: EVTColContainer.cc:151
findQualityFiles.v
v
Definition: findQualityFiles.py:179
EVTColContainer::bs
const reco::BeamSpot * bs
Definition: EVTColContainer.cc:85
EVTColContainer::ELEC
Definition: EVTColContainer.cc:48
EVTColContainer::set
void set(const reco::CaloMETCollection *v)
Definition: EVTColContainer.cc:167
CaloMETFwd.h
EVTColContainer::CALOMET
Definition: EVTColContainer.cc:57
GenParticle.h
reco::METCollection
std::vector< reco::MET > METCollection
collection of MET objects
Definition: METCollection.h:22
EVTColContainer::CALOJET
Definition: EVTColContainer.cc:61
Photon.h
EVTColContainer::triggerResults
const edm::TriggerResults * triggerResults
Definition: EVTColContainer.cc:84
reco::GenMETCollection
std::vector< reco::GenMET > GenMETCollection
collection of GenMET objects
Definition: GenMETCollection.h:20
EVTColContainer::_nMAX
Definition: EVTColContainer.cc:63
CaloMET.h
EVTColContainer::caloMHTs
const std::vector< reco::CaloMET > * caloMHTs
Definition: EVTColContainer.cc:79
MuonFwd.h
GenMETFwd.h
reco::MuonCollection
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
EVTColContainer::PFTAU
Definition: EVTColContainer.cc:51
reco::BeamSpot
Definition: BeamSpot.h:21
reco::PFTauCollection
std::vector< PFTau > PFTauCollection
collection of PFTau objects
Definition: PFTauFwd.h:9
EVTColContainer::isAllInit
bool isAllInit()
Definition: EVTColContainer.cc:108
EVTColContainer::genParticles
const reco::GenParticleCollection * genParticles
Definition: EVTColContainer.cc:69
EVTColContainer::PFMHT
Definition: EVTColContainer.cc:54
EVTColContainer::set
void set(const reco::PhotonCollection *v)
Definition: EVTColContainer.cc:147
EVTColContainer::pfMETs
const std::vector< reco::PFMET > * pfMETs
Definition: EVTColContainer.cc:75
GsfElectron.h
EVTColContainer::setCaloMHT
void setCaloMHT(const reco::CaloMETCollection *v)
Definition: EVTColContainer.cc:171
PFMET
Computes the MET from a collection of PFCandidates. HF missing!
Definition: PFMET.h:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GenMET.h
EVTColContainer::l1METs
const std::vector< l1extra::L1EtMissParticle > * l1METs
Definition: EVTColContainer.cc:80
GsfElectronFwd.h
EVTColContainer::set
void set(const reco::GenMETCollection *v)
Definition: EVTColContainer.cc:163
edm::LogError
Definition: MessageLogger.h:183
L1EtMissParticleFwd.h
EVTColContainer::caloJets
const std::vector< reco::CaloJet > * caloJets
Definition: EVTColContainer.cc:83
EVTColContainer::MET
Definition: EVTColContainer.cc:55
EVTColContainer::set
void set(const reco::CaloJetCollection *v)
Definition: EVTColContainer.cc:187
EVTColContainer::caloMETs
const std::vector< reco::CaloMET > * caloMETs
Definition: EVTColContainer.cc:78
EVTColContainer::muons
const std::vector< reco::Muon > * muons
Definition: EVTColContainer.cc:70
PFMET.h
EVTColContainer::nOfCollections
int nOfCollections
Definition: EVTColContainer.cc:66
reco::CaloJetCollection
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
Definition: CaloJetCollection.h:15
l1extra::L1EtMissParticleCollection
std::vector< L1EtMissParticle > L1EtMissParticleCollection
Definition: L1EtMissParticleFwd.h:32
EVTColContainer::set
void set(const reco::GsfElectronCollection *v)
Definition: EVTColContainer.cc:143
EVTColContainer::set
void set(const reco::TrackCollection *v)
Definition: EVTColContainer.cc:139
EVTColContainer::genMETs
const std::vector< reco::GenMET > * genMETs
Definition: EVTColContainer.cc:77
EVTColContainer::set
void set(const reco::MuonCollection *v)
Setter: multiple overloaded function.
Definition: EVTColContainer.cc:135
EVTColContainer::getSize
const unsigned int getSize(const unsigned int &objtype) const
Get size of collections.
Definition: EVTColContainer.cc:193
PFMETFwd.h
MET.h
EVTColContainer::pfJets
const std::vector< reco::PFJet > * pfJets
Definition: EVTColContainer.cc:82
EVTColContainer::pfTaus
const std::vector< reco::PFTau > * pfTaus
Definition: EVTColContainer.cc:81
reco::PFJetCollection
std::vector< PFJet > PFJetCollection
collection of PFJet objects
Definition: PFJetCollection.h:14
EVTColContainer::PFJET
Definition: EVTColContainer.cc:60
EVTColContainer::HLTMET
Definition: EVTColContainer.cc:58
EVTColContainer::photons
const std::vector< reco::Photon > * photons
Definition: EVTColContainer.cc:73
EVTColContainer::nInitialized
int nInitialized
Definition: EVTColContainer.cc:67
EVTColContainer::L1MET
Definition: EVTColContainer.cc:59
METFwd.h
PFTau.h
MET
reco::PhotonCollection
std::vector< Photon > PhotonCollection
collectin of Photon objects
Definition: PhotonFwd.h:9
EVTColContainer::reset
void reset()
Reset: clear all collections.
Definition: EVTColContainer.cc:113
reco::CaloMETCollection
std::vector< reco::CaloMET > CaloMETCollection
collection of CaloMET objects
Definition: CaloMETCollection.h:20
EVTColContainer::pfMHTs
const std::vector< reco::PFMET > * pfMHTs
Definition: EVTColContainer.cc:76
L1EtMissParticle.h
EVTColContainer::TRACK
Definition: EVTColContainer.cc:52
EVTColContainer::PHOTON
Definition: EVTColContainer.cc:47
EVTColContainer
container with all the objects needed
Definition: EVTColContainer.cc:45
reco::TrackCollection
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
edm::TriggerResults
Definition: TriggerResults.h:35
EVTColContainer::MUTRK
Definition: EVTColContainer.cc:50
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443