CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PATTriggerProducer.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_PatAlgos_PATTriggerProducer_h
2 #define PhysicsTools_PatAlgos_PATTriggerProducer_h
3 
4 
5 // -*- C++ -*-
6 //
7 // Package: PatAlgos
8 // Class: pat::PATTriggerProducer
9 //
10 // $Id: PATTriggerProducer.h,v 1.17.4.2 2012/09/11 22:21:47 vadler Exp $
11 //
42 
43 #include <string>
44 
47 
50 
51 namespace pat {
52 
54 
55  public:
56 
57  explicit PATTriggerProducer( const edm::ParameterSet & iConfig );
59 
60  private:
61 
62  virtual void beginRun( edm::Run & iRun, const edm::EventSetup & iSetup );
63  virtual void beginLuminosityBlock( edm::LuminosityBlock & iLuminosityBlock, const edm::EventSetup & iSetup );
64  virtual void produce( edm::Event & iEvent, const edm::EventSetup & iSetup );
65 
66  std::string nameProcess_; // configuration
68  bool onlyStandAlone_; // configuration
70  // L1
73  bool addL1Algos_; // configuration (optional with default)
74  edm::InputTag tagL1GlobalTriggerObjectMaps_; // configuration (optional with default)
75  edm::InputTag tagL1ExtraMu_; // configuration (optional)
76  edm::InputTag tagL1ExtraNoIsoEG_; // configuration (optional)
77  edm::InputTag tagL1ExtraIsoEG_; // configuration (optional)
78  edm::InputTag tagL1ExtraCenJet_; // configuration (optional)
79  edm::InputTag tagL1ExtraForJet_; // configuration (optional)
80  edm::InputTag tagL1ExtraTauJet_; // configuration (optional)
81  edm::InputTag tagL1ExtraETM_; // configuration (optional)
82  edm::InputTag tagL1ExtraHTM_; // configuration (optional)
91  bool mainBxOnly_; // configuration (optional with default)
92  bool saveL1Refs_; // configuration (optional with default)
93  // HLT
96  edm::InputTag tagTriggerResults_; // configuration (optional with default)
97  edm::InputTag tagTriggerEvent_; // configuration (optional with default)
98  std::string hltPrescaleLabel_; // configuration (optional)
99  std::string labelHltPrescaleTable_; // configuration (optional)
102  bool addPathModuleLabels_; // configuration (optional with default)
103  std::vector< std::string > exludeCollections_; // configuration (optional)
104 
106  public:
107  struct PathAndFlags {
108  PathAndFlags(const std::string &name, unsigned int index, bool last, bool l3) : pathName(name), pathIndex(index), lastFilter(last), l3Filter(l3) {}
110  std::string pathName;
111  unsigned int pathIndex;
113  bool l3Filter;
114  };
115  void init(const HLTConfigProvider &conf) ;
116  void clear() { map_.clear(); }
117  const std::vector<PathAndFlags> & operator[](const std::string & filter) const {
118  std::map<std::string,std::vector<PathAndFlags> >::const_iterator it = map_.find(filter);
119  return (it == map_.end() ? empty_ : it->second);
120  }
121  private:
122  void insert(const std::string & filter, const std::string &path, unsigned int pathIndex, bool lastFilter, bool l3Filter) {
123  map_[filter].push_back(PathAndFlags(path, pathIndex, lastFilter, l3Filter));
124  }
125  std::map<std::string,std::vector<PathAndFlags> > map_;
126  const std::vector<PathAndFlags> empty_;
127  };
129 
130  };
131 }
132 
133 
134 #endif
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup)
virtual void beginLuminosityBlock(edm::LuminosityBlock &iLuminosityBlock, const edm::EventSetup &iSetup)
PATTriggerProducer(const edm::ParameterSet &iConfig)
HLTConfigProvider hltConfig_
edm::InputTag tagTriggerResults_
The single EDProduct containing the HLT Prescale Table.
void insert(const std::string &filter, const std::string &path, unsigned int pathIndex, bool lastFilter, bool l3Filter)
PathAndFlags(const std::string &name, unsigned int index, bool last, bool l3)
const std::vector< PathAndFlags > & operator[](const std::string &filter) const
list path
Definition: scaleCards.py:51
Produces the full or stand-alone PAT trigger information collections.
int iEvent
Definition: GenABIO.cc:243
std::map< std::string, std::vector< PathAndFlags > > map_
trigger::HLTPrescaleTable hltPrescaleTableLumi_
tuple conf
Definition: dbtoconf.py:185
virtual void beginRun(edm::Run &iRun, const edm::EventSetup &iSetup)
edm::InputTag tagL1GlobalTriggerObjectMaps_
ModuleLabelToPathAndFlags moduleLabelToPathAndFlags_
trigger::HLTPrescaleTable hltPrescaleTableRun_
std::vector< std::string > exludeCollections_
edm::InputTag tagL1ExtraNoIsoEG_
Definition: Run.h:33
edm::ParameterSet * l1PSet_