CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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<vector>
39 #include<map>
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;
85  const reco::BeamSpot * bs;
86 
88  nOfCollections(6),
89  nInitialized(0),
90  genParticles(0),
91  muons(0),
92  tracks(0),
93  electrons(0),
94  photons(0),
95  METs(0),
96  pfMETs(0),
97  pfMHTs(0),
98  genMETs(0),
99  caloMETs(0),
100  caloMHTs(0),
101  l1METs(0),
102  pfTaus(0),
103  pfJets(0),
104  caloJets(0),
105  triggerResults(0),
106  bs(0)
107  {
108  }
110  bool isAllInit()
111  {
112  return (nInitialized == nOfCollections);
113  }
114 
116  {
117  return false;
118  }
119 
121  void reset()
122  {
123  nInitialized = 0;
124  genParticles = 0;
125  muons = 0;
126  tracks = 0;
127  electrons = 0;
128  photons = 0;
129  METs = 0;
130  pfMETs = 0;
131  pfMHTs = 0;
132  genMETs = 0;
133  caloMETs = 0;
134  caloMHTs = 0;
135  l1METs = 0;
136  pfTaus = 0;
137  pfJets = 0;
138  caloJets = 0;
139  triggerResults = 0;
140  bs = 0;
141  }
142 
144  void set(const reco::MuonCollection * v)
145  {
146  muons = v;
147  ++nInitialized;
148  }
150  {
151  tracks = v;
152  ++nInitialized;
153  }
155  {
156  electrons = v;
157  ++nInitialized;
158  }
160  {
161  photons = v;
162  ++nInitialized;
163  }
164  void set(const reco::METCollection * v)
165  {
166  METs = v;
167  ++nInitialized;
168  }
170  {
171  pfMETs = v;
172  ++nInitialized;
173  }
175  {
176  pfMHTs = v;
177  ++nInitialized;
178  }
180  {
181  genMETs = v;
182  ++nInitialized;
183  }
185  {
186  caloMETs = v;
187  ++nInitialized;
188  }
190  {
191  caloMHTs = v;
192  ++nInitialized;
193  }
195  {
196  l1METs = v;
197  ++nInitialized;
198  }
200  {
201  pfTaus = v;
202  ++nInitialized;
203  }
205  {
206  pfJets = v;
207  ++nInitialized;
208  }
210  {
211  caloJets = v;
212  ++nInitialized;
213  }
214 
216  const unsigned int getSize(const unsigned int & objtype) const
217  {
218  unsigned int size = 0;
219  if (objtype == EVTColContainer::MUON && muons != 0) {
220  size = muons->size();
221  } else if (objtype == EVTColContainer::MUTRK && tracks != 0) {
222  size = tracks->size();
223  } else if (objtype == EVTColContainer::TRACK && tracks != 0) {
224  size = tracks->size();
225  } else if (objtype == EVTColContainer::ELEC && electrons != 0) {
226  size = electrons->size();
227  } else if (objtype == EVTColContainer::PHOTON && photons != 0) {
228  size = photons->size();
229  } else if (objtype == EVTColContainer::MET && METs != 0) {
230  size = METs->size();
231  } else if (objtype == EVTColContainer::PFMET && pfMETs != 0) {
232  size = pfMETs->size();
233  } else if (objtype == EVTColContainer::PFMHT && pfMHTs != 0) {
234  size = pfMHTs->size();
235  } else if (objtype == EVTColContainer::GENMET && genMETs != 0) {
236  size = genMETs->size();
237  } else if (objtype == EVTColContainer::CALOMET && caloMETs != 0) {
238  size = caloMETs->size();
239  } else if (objtype == EVTColContainer::CALOMHT && caloMHTs != 0) {
240  size = caloMHTs->size();
241  } else if (objtype == EVTColContainer::L1MET && l1METs != 0) {
242  size = l1METs->size();
243  } else if (objtype == EVTColContainer::PFTAU && pfTaus != 0) {
244  size = pfTaus->size();
245  } else if (objtype == EVTColContainer::PFJET && pfJets != 0) {
246  size = pfJets->size();
247  } else if (objtype == EVTColContainer::CALOJET && caloJets != 0) {
248  size = caloJets->size();
249  }
250 
251  return size;
252  }
253 
255  const static std::string getTypeString(const unsigned int & objtype)
256  {
257  std::string objTypestr;
258 
259  if (objtype == EVTColContainer::MUON) {
260  objTypestr = "Mu";
261  } else if (objtype == EVTColContainer::MUTRK) {
262  objTypestr = "refittedStandAloneMuons";
263  } else if (objtype == EVTColContainer::TRACK) {
264  objTypestr = "Track";
265  } else if (objtype == EVTColContainer::ELEC) {
266  objTypestr = "Ele";
267  } else if (objtype == EVTColContainer::PHOTON) {
268  objTypestr = "Photon";
269  } else if (objtype == EVTColContainer::MET) {
270  objTypestr = "MET";
271  } else if (objtype == EVTColContainer::PFMET) {
272  objTypestr = "PFMET";
273  } else if (objtype == EVTColContainer::PFMHT) {
274  objTypestr = "PFMHT";
275  } else if (objtype == EVTColContainer::GENMET) {
276  objTypestr = "GenMET";
277  } else if (objtype == EVTColContainer::CALOMET) {
278  objTypestr = "CaloMET";
279  } else if (objtype == EVTColContainer::CALOMHT) {
280  objTypestr = "CaloMHT";
281  } else if (objtype == EVTColContainer::L1MET) {
282  objTypestr = "l1MET";
283  } else if (objtype == EVTColContainer::PFTAU) {
284  objTypestr = "PFTau";
285  } else if (objtype == EVTColContainer::PFJET) {
286  objTypestr = "PFJet";
287  } else if (objtype == EVTColContainer::CALOJET) {
288  objTypestr = "CaloJet";
289  } else {
290  edm::LogError("ExoticaValidations") << "EVTColContainer::getTypeString, "
291  << "NOT Implemented error (object type id='" << objtype << "')" << std::endl;;
292  }
293 
294  return objTypestr;
295  }
296 };
297 #endif
const std::vector< reco::Muon > * muons
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
std::vector< PFTau > PFTauCollection
collection of PFTau objects
Definition: PFTauFwd.h:9
void set(const reco::TrackCollection *v)
const std::vector< reco::CaloMET > * caloMETs
std::vector< reco::GenMET > GenMETCollection
collection of GenMET objects
void set(const reco::GsfElectronCollection *v)
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
const std::vector< reco::MET > * METs
const std::vector< reco::CaloJet > * caloJets
const reco::GenParticleCollection * genParticles
container with all the objects needed
void set(const reco::CaloMETCollection *v)
void set(const reco::GenMETCollection *v)
const unsigned int getSize(const unsigned int &objtype) const
Get size of collections.
std::vector< reco::MET > METCollection
collection of MET objects
Definition: METCollection.h:23
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
const std::vector< reco::PFTau > * pfTaus
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
void set(const reco::PFTauCollection *v)
void setPFMHT(const reco::PFMETCollection *v)
void set(const reco::MuonCollection *v)
Setter: multiple overloaded function.
const std::vector< reco::PFMET > * pfMHTs
const std::vector< reco::GenMET > * genMETs
void set(const l1extra::L1EtMissParticleCollection *v)
const reco::BeamSpot * bs
const std::vector< reco::PFJet > * pfJets
const std::vector< reco::Track > * tracks
const std::vector< reco::Photon > * photons
void reset()
Reset: clear all collections.
void set(const reco::PFMETCollection *v)
const std::vector< l1extra::L1EtMissParticle > * l1METs
std::vector< reco::CaloMET > CaloMETCollection
collection of CaloMET objects
std::vector< Photon > PhotonCollection
collectin of Photon objects
Definition: PhotonFwd.h:9
const std::vector< reco::GsfElectron > * electrons
void set(const reco::PFJetCollection *v)
void set(const reco::PhotonCollection *v)
std::vector< PFJet > PFJetCollection
collection of PFJet objects
std::vector< reco::PFMET > PFMETCollection
collection of PFMET objects
void set(const reco::CaloJetCollection *v)
const std::vector< reco::CaloMET > * caloMHTs
std::vector< L1EtMissParticle > L1EtMissParticleCollection
const std::vector< reco::PFMET > * pfMETs
void set(const reco::METCollection *v)
static const std::string getTypeString(const unsigned int &objtype)
Tranform types into strings.
const edm::TriggerResults * triggerResults
tuple size
Write out results.
void setCaloMHT(const reco::CaloMETCollection *v)
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
Computes the MET from a collection of PFCandidates. HF missing!
Definition: PFMET.h:30