CMS 3D CMS Logo

EgHLTOffEvt.h
Go to the documentation of this file.
1 #ifndef DQMOFFLINE_TRIGGER_EGHLTOFFEVT
2 #define DQMOFFLINE_TRIGGER_EGHLTOFFEVT
3 
4 //struct: EgHLTOffData (Egamma HLT Offline Data)
5 //
6 //author: Sam Harper (July 2008)
7 //
8 //WARNING: interface is NOT final, please dont use this class for now without clearing it with me
9 // as I will change it and possibly break all your code
10 //
11 //aim: this is a simple struct which allows all the data needed by the egamma offline HLT DQM code to be passed in as single object
12 // this includes the TriggerEvent handle and the vector of EgHLTOffEle at the moment
13 //
14 //implimentation:
15 //
16 //
17 
18 #include <utility>
19 
22 
26 
27 namespace egHLT {
28  //we own nothing....
29  class OffEvt {
30  private:
31  //edm::Handle<trigger::TriggerEvent> trigEvt_;
33 
34  std::vector<OffEle>
35  eles_; //egHLT::OffEle is lightweightish and handles copying okay hence it isnt a vector of pointers
36  std::vector<OffPho>
37  phos_; //egHLT::OffPho is lightweightish and handles copying okay hence it isnt a vector of pointers
38  //const std::vector<reco::CaloJet>* jets_;
39 
40  TrigCodes::TrigBitSet evtTrigBits_; //the triggers that fired in the event all in a handy bit set
41 
42  public:
43  OffEvt() = default;
44  ~OffEvt() = default;
45 
46  //accessors
47  // const trigger::TriggerEvent& trigEvt()const{return *trigEvt_.product();}
48  const std::vector<OffEle>& eles() const { return eles_; }
49  std::vector<OffEle>& eles() { return eles_; }
50  const std::vector<OffPho>& phos() const { return phos_; }
51  std::vector<OffPho>& phos() { return phos_; }
53  const std::vector<reco::CaloJet>& jets() const { return *jets_.product(); }
54 
55  //modifiers
56  void clear();
57  void setEvtTrigBits(TrigCodes::TrigBitSet bits) { evtTrigBits_ = bits; }
58  void setJets(edm::Handle<std::vector<reco::CaloJet> > jets) { jets_ = std::move(jets); }
59  };
60 } // namespace egHLT
61 
62 #endif
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
~OffEvt()=default
void clear()
Definition: EgHLTOffEvt.cc:5
std::vector< OffEle > eles_
Definition: EgHLTOffEvt.h:35
std::vector< OffEle > & eles()
Definition: EgHLTOffEvt.h:49
void setEvtTrigBits(TrigCodes::TrigBitSet bits)
Definition: EgHLTOffEvt.h:57
TrigCodes::TrigBitSet evtTrigBits_
Definition: EgHLTOffEvt.h:40
TrigCodes::TrigBitSet evtTrigBits() const
Definition: EgHLTOffEvt.h:52
const std::vector< reco::CaloJet > & jets() const
Definition: EgHLTOffEvt.h:53
std::vector< OffPho > phos_
Definition: EgHLTOffEvt.h:37
const std::vector< OffPho > & phos() const
Definition: EgHLTOffEvt.h:50
std::vector< OffPho > & phos()
Definition: EgHLTOffEvt.h:51
T const * product() const
Definition: Handle.h:69
OffEvt()=default
void setJets(edm::Handle< std::vector< reco::CaloJet > > jets)
Definition: EgHLTOffEvt.h:58
const std::vector< OffEle > & eles() const
Definition: EgHLTOffEvt.h:48
edm::Handle< std::vector< reco::CaloJet > > jets_
Definition: EgHLTOffEvt.h:32
std::bitset< maxNrBits_ > TrigBitSet
def move(src, dest)
Definition: eostools.py:511