CMS 3D CMS Logo

EVTColContainer.cc
Go to the documentation of this file.
1 #ifndef HLTRIGGEROFFLINE_HIGGS_EVTCOLCONTAINER
2 #define HLTRIGGEROFFLINE_HIGGS_EVTCOLCONTAINER
3 
14 #include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h" // TO BE DEPRECATED
35 
36 #include <vector>
37 #include <map>
38 
40 struct EVTColContainer {
41  enum {
42  MUON,
43  ELEC,
44  PHOTON,
45  CALOMET,
46  PFMET,
47  PFTAU,
48  PFJET,
49  // TRACK,
50  _nMAX
51  };
52 
53  int nOfCollections;
54  int nInitialized;
57  const std::vector<reco::Muon>* muons;
58  const std::vector<reco::GsfElectron>* electrons;
59  const std::vector<reco::Photon>* photons;
60  const std::vector<reco::CaloMET>* caloMETs;
61  const std::vector<reco::PFMET>* pfMETs;
62  const std::vector<reco::PFTau>* pfTaus;
63  const std::vector<reco::PFJet>* pfJets;
65  //const std::vector<reco::Track> * tracks;
69  : nOfCollections(7),
70  nInitialized(0),
71  genParticles(nullptr),
72  genJets(nullptr),
73  muons(nullptr),
74  electrons(nullptr),
75  photons(nullptr),
76  caloMETs(nullptr),
77  pfMETs(nullptr),
78  pfTaus(nullptr),
79  pfJets(nullptr),
80  jetTags(nullptr),
81  //tracks(0),
82  rawTriggerEvent(nullptr),
83  triggerResults(nullptr) {}
85  bool isAllInit() { return (nInitialized == nOfCollections); }
86 
87  bool isCommonInit() { return (rawTriggerEvent != nullptr); }
89  void reset() {
90  nInitialized = 0;
91  genParticles = nullptr;
92  genJets = nullptr;
93  muons = nullptr;
94  electrons = nullptr;
95  photons = nullptr;
96  pfTaus = nullptr;
97  caloMETs = nullptr;
98  pfMETs = nullptr;
99  pfJets = nullptr; //tracks=0;
100  jetTags = nullptr;
101  rawTriggerEvent = nullptr;
102  triggerResults = nullptr;
103  }
105  void set(const reco::MuonCollection* v) {
106  muons = v;
107  ++nInitialized;
108  }
110  electrons = v;
111  ++nInitialized;
112  }
113  void set(const reco::PhotonCollection* v) {
114  photons = v;
115  ++nInitialized;
116  }
118  caloMETs = v;
119  ++nInitialized;
120  }
121  void set(const reco::PFMETCollection* v) {
122  pfMETs = v;
123  ++nInitialized;
124  }
125  void set(const reco::PFTauCollection* v) {
126  pfTaus = v;
127  ++nInitialized;
128  }
129  void set(const reco::PFJetCollection* v) {
130  pfJets = v;
131  ++nInitialized;
132  }
133  void set(const reco::JetTagCollection* v) { jetTags = v; }
134  /*void set(const reco::TrackCollection * v)
135  {
136  tracks = v;
137  ++nInitialized;
138  }*/
139  const unsigned int getSize(const unsigned int& objtype) const {
140  unsigned int size = 0;
141  if (objtype == EVTColContainer::MUON && muons != nullptr) {
142  size = muons->size();
143  } else if (objtype == EVTColContainer::ELEC && electrons != nullptr) {
144  size = electrons->size();
145  } else if (objtype == EVTColContainer::PHOTON && photons != nullptr) {
146  size = photons->size();
147  } else if (objtype == EVTColContainer::CALOMET && caloMETs != nullptr) {
148  size = caloMETs->size();
149  } else if (objtype == EVTColContainer::PFMET && pfMETs != nullptr) {
150  size = pfMETs->size();
151  } else if (objtype == EVTColContainer::PFTAU && pfTaus != nullptr) {
152  size = pfTaus->size();
153  } else if (objtype == EVTColContainer::PFJET && pfJets != nullptr) {
154  size = pfJets->size();
155  }
156  /*else if( objtype == EVTColContainer::TRACK && tracks != 0 )
157  {
158  size = tracks->size();
159  }*/
160 
161  return size;
162  }
163 
164  static std::string getTypeString(const unsigned int& objtype) {
165  std::string objTypestr;
166 
167  if (objtype == EVTColContainer::MUON) {
168  objTypestr = "Mu";
169  } else if (objtype == EVTColContainer::ELEC) {
170  objTypestr = "Ele";
171  } else if (objtype == EVTColContainer::PHOTON) {
172  objTypestr = "Photon";
173  } else if (objtype == EVTColContainer::CALOMET) {
174  objTypestr = "MET";
175  } else if (objtype == EVTColContainer::PFMET) {
176  objTypestr = "PFMET";
177  } else if (objtype == EVTColContainer::PFTAU) {
178  objTypestr = "PFTau";
179  } else if (objtype == EVTColContainer::PFJET) {
180  objTypestr = "Jet";
181  }
182  /*else if( objtype == EVTColContainer::TRACK )
183  {
184  // FIXME: decide what to do! Just a patch
185  objTypestr = "TkMu";
186  }*/
187  else {
188  edm::LogError("HiggsValidations") << "EVTColContainer::getTypeString, "
189  << "NOT Implemented error (object type id='" << objtype << "')" << std::endl;
190  ;
191  }
192 
193  return objTypestr;
194  }
195 };
196 #endif
trigger::TriggerEventWithRefs
Definition: TriggerEventWithRefs.h:27
EVTColContainer::set
void set(const reco::PFMETCollection *v)
Definition: EVTColContainer.cc:121
reco::PFMETCollection
std::vector< reco::PFMET > PFMETCollection
collection of PFMET objects
Definition: PFMETCollection.h:20
GenJetCollection.h
JetTag.h
PFTauFwd.h
EVTColContainer::electrons
const std::vector< reco::GsfElectron > * electrons
Definition: EVTColContainer.cc:72
Muon.h
EVTColContainer::set
void set(const reco::PFTauCollection *v)
Definition: EVTColContainer.cc:125
TriggerResults.h
EVTColContainer::set
void set(const reco::PFJetCollection *v)
Definition: EVTColContainer.cc:129
reco::GenJetCollection
std::vector< GenJet > GenJetCollection
collection of GenJet objects
Definition: GenJetCollection.h:14
EVTColContainer::jetTags
const reco::JetTagCollection * jetTags
Definition: EVTColContainer.cc:64
PFJet.h
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:68
TriggerEventWithRefs.h
EVTColContainer::MUON
Definition: EVTColContainer.cc:49
PhotonFwd.h
reco::GsfElectronCollection
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
Definition: GsfElectronFwd.h:14
EVTColContainer::isCommonInit
bool isCommonInit()
Definition: EVTColContainer.cc:87
findQualityFiles.v
v
Definition: findQualityFiles.py:179
EVTColContainer::ELEC
Definition: EVTColContainer.cc:48
EVTColContainer::rawTriggerEvent
const trigger::TriggerEventWithRefs * rawTriggerEvent
Definition: EVTColContainer.cc:66
EVTColContainer::set
void set(const reco::CaloMETCollection *v)
Definition: EVTColContainer.cc:117
CaloMETFwd.h
EVTColContainer::CALOMET
Definition: EVTColContainer.cc:57
GenParticle.h
Photon.h
EVTColContainer::triggerResults
const edm::TriggerResults * triggerResults
Definition: EVTColContainer.cc:84
Track.h
TrackFwd.h
EVTColContainer::_nMAX
Definition: EVTColContainer.cc:63
CaloMET.h
MuonFwd.h
reco::MuonCollection
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
EVTColContainer::PFTAU
Definition: EVTColContainer.cc:51
reco::PFTauCollection
std::vector< PFTau > PFTauCollection
collection of PFTau objects
Definition: PFTauFwd.h:9
EVTColContainer::isAllInit
bool isAllInit()
Definition: EVTColContainer.cc:85
EVTColContainer::genParticles
const reco::GenParticleCollection * genParticles
Definition: EVTColContainer.cc:69
EVTColContainer::set
void set(const reco::PhotonCollection *v)
Definition: EVTColContainer.cc:113
EVTColContainer::getTypeString
static std::string getTypeString(const unsigned int &objtype)
Definition: EVTColContainer.cc:164
EVTColContainer::pfMETs
const std::vector< reco::PFMET > * pfMETs
Definition: EVTColContainer.cc:75
GsfElectron.h
EVTColContainer::genJets
const reco::GenJetCollection * genJets
Definition: EVTColContainer.cc:56
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::AssociationVector
Definition: AssociationVector.h:67
GsfElectronFwd.h
edm::LogError
Definition: MessageLogger.h:183
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
EVTColContainer::set
void set(const reco::GsfElectronCollection *v)
Definition: EVTColContainer.cc:109
EVTColContainer::set
void set(const reco::MuonCollection *v)
Setter: multiple overloaded function.
Definition: EVTColContainer.cc:105
EVTColContainer::getSize
const unsigned int getSize(const unsigned int &objtype) const
Definition: EVTColContainer.cc:139
PFMETFwd.h
EVTColContainer::pfJets
const std::vector< reco::PFJet > * pfJets
Definition: EVTColContainer.cc:82
EVTColContainer::set
void set(const reco::JetTagCollection *v)
Definition: EVTColContainer.cc:133
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::photons
const std::vector< reco::Photon > * photons
Definition: EVTColContainer.cc:73
EVTColContainer::nInitialized
int nInitialized
Definition: EVTColContainer.cc:67
PFTau.h
reco::PhotonCollection
std::vector< Photon > PhotonCollection
collectin of Photon objects
Definition: PhotonFwd.h:9
EVTColContainer::reset
void reset()
Definition: EVTColContainer.cc:89
GenJet.h
reco::CaloMETCollection
std::vector< reco::CaloMET > CaloMETCollection
collection of CaloMET objects
Definition: CaloMETCollection.h:20
EVTColContainer::PHOTON
Definition: EVTColContainer.cc:47
EVTColContainer
container with all the objects needed
Definition: EVTColContainer.cc:45
edm::TriggerResults
Definition: TriggerResults.h:35
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443