CMS 3D CMS Logo

EgHLTOfflineSource.h
Go to the documentation of this file.
1 #ifndef DQMOFFLINE_TRIGGER_EGHLTOFFLINESOURCE
2 #define DQMOFFLINE_TRIGGER_EGHLTOFFLINESOURCE
3 
4 // -*- C++ -*-
5 //
6 // Package: EgammaHLTOffline
7 // Class: EgammaHLTOffline
8 //
9 /*
10  Description: This is a DQM source meant to plot high-level HLT trigger
11  quantities as stored in the HLT results object TriggerResults for the Egamma triggers
12 
13  Notes:
14  Currently I would like to plot simple histograms of three seperate types of variables
15  1) global event quantities: eg nr of electrons
16  2) di-object quanities: transverse mass, di-electron mass
17  3) single object kinematic and id variables: eg et,eta,isolation
18 
19 */
20 //
21 // Original Author: Sam Harper
22 // Created: June 2008
23 //
24 //
25 //
26 
27 //#include "DataFormats/HLTReco/interface/TriggerEvent.h"
28 //#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
29 
34 
42 
45 
46 class HLTConfigProvider;
47 
48 namespace egHLT {
49  class EleHLTFilterMon;
50  class PhoHLTFilterMon;
51 } // namespace egHLT
52 
53 // namespace trigger{
54 // class TriggerObject;
55 
56 // }
57 
59 private:
60  MonitorElement* dqmErrsMonElem_; //monitors DQM errors (ie failing to get trigger info, etc)
61  MonitorElement* nrEventsProcessedMonElem_; //number of events processed mon elem
62  int nrEventsProcessed_; //number of events processed
63 
64  std::vector<egHLT::EleHLTFilterMon*>
65  eleFilterMonHists_; //monitoring histograms for different trigger paths, we own them
66  std::vector<egHLT::PhoHLTFilterMon*>
67  phoFilterMonHists_; //monitoring histograms for different trigger paths, we own them
68  std::vector<egHLT::MonElemContainer<egHLT::OffEle>*> eleMonElems_; //mon elements for monitoring electrons, we own them
69  std::vector<egHLT::MonElemContainer<egHLT::OffPho>*> phoMonElems_; //mon elements for monitoring photons, we own them
70 
73  bool dohep_;
76  offEvtHelper_; // this is where up wrap up nasty code which will be replaced by offical tools at some point
77  std::unique_ptr<egHLT::TrigCodes> trigCodes; // the only place instantiate them
78 
79  //note ele,pho does not refer to whether the trigger is electron or photon, it refers to what type
80  //of object passing the trigger will be monitored, eg ele = offline gsf electrons
81  std::vector<std::string> eleHLTFilterNames_; //names of the filter names to use for offline ele
82  std::vector<std::string> phoHLTFilterNames_; //names of the filter names to use for offline pho
83  std::vector<std::string>
84  eleHLTFilterNames2Leg_; //names of the first leg of 2Leg filter names to use for offline ele in form filter1::filter2
85  std::vector<std::string> eleTightLooseTrigNames_; // list of 'tightTrig:looseTrig' pairs for ele
86  std::vector<std::string> phoTightLooseTrigNames_; // list of 'tightTrig:looseTrig' pairs for pho
87  std::vector<std::string> diEleTightLooseTrigNames_; // list of 'tightTrig:looseTrig' pairs for di-ele triggers
88  std::vector<std::string> diPhoTightLooseTrigNames_; // list of 'tightTrig:looseTrig' pairs for di-pho triggers
89 
92 
95 
96  //disabling copying/assignment (copying this class would be bad, mkay)
97  EgHLTOfflineSource(const EgHLTOfflineSource& rhs) = delete;
98  EgHLTOfflineSource& operator=(const EgHLTOfflineSource& rhs) = delete;
99 
100 public:
101  explicit EgHLTOfflineSource(const edm::ParameterSet&);
102  ~EgHLTOfflineSource() override;
103 
104  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
105  void analyze(const edm::Event&, const edm::EventSetup&) override;
106 
107  void addEleTrigPath(egHLT::MonElemFuncs& monElemFuncs, const std::string& name);
108  void addPhoTrigPath(egHLT::MonElemFuncs& monElemFuncs, const std::string& name);
109  void getHLTFilterNamesUsed(std::vector<std::string>& filterNames) const;
111 };
112 
113 #endif
EgHLTOfflineSource
Definition: EgHLTOfflineSource.h:58
EgHLTOfflineSource::~EgHLTOfflineSource
~EgHLTOfflineSource() override
Definition: EgHLTOfflineSource.cc:46
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
EgHLTOfflineSource::filterInactiveTriggers_
bool filterInactiveTriggers_
Definition: EgHLTOfflineSource.h:93
EgHLTOfflineSource::phoFilterMonHists_
std::vector< egHLT::PhoHLTFilterMon * > phoFilterMonHists_
Definition: EgHLTOfflineSource.h:67
edm::Run
Definition: Run.h:45
EgHLTOfflineSource::phoHLTFilterNames_
std::vector< std::string > phoHLTFilterNames_
Definition: EgHLTOfflineSource.h:82
egHLT::OffEvt
Definition: EgHLTOffEvt.h:29
EgHLTOfflineSource::diEleTightLooseTrigNames_
std::vector< std::string > diEleTightLooseTrigNames_
Definition: EgHLTOfflineSource.h:87
DQMStore.h
EgHLTMonElemContainer.h
EgHLTOfflineSource::operator=
EgHLTOfflineSource & operator=(const EgHLTOfflineSource &rhs)=delete
EgHLTMonElemFuncs.h
EDAnalyzer.h
EgHLTOfflineSource::cutMasks_
egHLT::CutMasks cutMasks_
Definition: EgHLTOfflineSource.h:91
EgHLTOfflineSource::phoTightLooseTrigNames_
std::vector< std::string > phoTightLooseTrigNames_
Definition: EgHLTOfflineSource.h:86
EgHLTOfflineSource::dqmErrsMonElem_
MonitorElement * dqmErrsMonElem_
Definition: EgHLTOfflineSource.h:60
EgHLTOfflineSource::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: EgHLTOfflineSource.cc:62
EgHLTOfflineSource::binData_
egHLT::BinData binData_
Definition: EgHLTOfflineSource.h:90
EgHLTOfflineSource::getHLTFilterNamesUsed
void getHLTFilterNamesUsed(std::vector< std::string > &filterNames) const
Definition: EgHLTOfflineSource.cc:196
DQMEDAnalyzer.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
egHLT::OffHelper
Definition: EgHLTOffHelper.h:58
egHLT::MonElemFuncs
Definition: EgHLTMonElemFuncs.h:30
edm::ParameterSet
Definition: ParameterSet.h:36
Event.h
EgHLTOfflineSource::subdirName_
std::string subdirName_
Definition: EgHLTOfflineSource.h:72
EgHLTOfflineSource::hltTag_
std::string hltTag_
Definition: EgHLTOfflineSource.h:94
EgHLTOfflineSource::filterTriggers
void filterTriggers(const HLTConfigProvider &hltConfig)
Definition: EgHLTOfflineSource.cc:241
EgHLTOfflineSource::dohep_
bool dohep_
Definition: EgHLTOfflineSource.h:73
EgHLTOfflineSource::eleHLTFilterNames_
std::vector< std::string > eleHLTFilterNames_
Definition: EgHLTOfflineSource.h:81
EgHLTOfflineSource::diPhoTightLooseTrigNames_
std::vector< std::string > diPhoTightLooseTrigNames_
Definition: EgHLTOfflineSource.h:88
EgHLTOfflineSource::offEvtHelper_
egHLT::OffHelper offEvtHelper_
Definition: EgHLTOfflineSource.h:76
egHLT::BinData
Definition: EgHLTBinData.h:12
edm::EventSetup
Definition: EventSetup.h:57
EgHLTOfflineSource::trigCodes
std::unique_ptr< egHLT::TrigCodes > trigCodes
Definition: EgHLTOfflineSource.h:77
egHLT::CutMasks
Definition: EgHLTCutMasks.h:12
EgHLTOfflineSource::dirName_
std::string dirName_
Definition: EgHLTOfflineSource.h:71
EgHLTBinData.h
HLTConfigProvider
Definition: HLTConfigProvider.h:28
EgHLTCutMasks.h
EgHLTOfflineSource::eleHLTFilterNames2Leg_
std::vector< std::string > eleHLTFilterNames2Leg_
Definition: EgHLTOfflineSource.h:84
Frameworkfwd.h
EgHLTOfflineSource::nrEventsProcessedMonElem_
MonitorElement * nrEventsProcessedMonElem_
Definition: EgHLTOfflineSource.h:61
EgHLTOfflineSource::phoMonElems_
std::vector< egHLT::MonElemContainer< egHLT::OffPho > * > phoMonElems_
Definition: EgHLTOfflineSource.h:69
EgHLTOfflineSource::eleFilterMonHists_
std::vector< egHLT::EleHLTFilterMon * > eleFilterMonHists_
Definition: EgHLTOfflineSource.h:65
EgHLTOfflineSource::eleTightLooseTrigNames_
std::vector< std::string > eleTightLooseTrigNames_
Definition: EgHLTOfflineSource.h:85
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
EgHLTOfflineSource::nrEventsProcessed_
int nrEventsProcessed_
Definition: EgHLTOfflineSource.h:62
HltComparatorCreateWorkflow.hltConfig
hltConfig
Definition: HltComparatorCreateWorkflow.py:161
dqm::implementation::IBooker
Definition: DQMStore.h:43
EgHLTTrigCodes.h
ParameterSet.h
EgHLTOfflineSource::eleMonElems_
std::vector< egHLT::MonElemContainer< egHLT::OffEle > * > eleMonElems_
Definition: EgHLTOfflineSource.h:68
EgHLTOffEvt.h
edm::Event
Definition: Event.h:73
egHLT
Definition: EgHLTBinData.h:10
EgHLTOffHelper.h
EgHLTOfflineSource::addEleTrigPath
void addEleTrigPath(egHLT::MonElemFuncs &monElemFuncs, const std::string &name)
Definition: EgHLTOfflineSource.cc:173
EgHLTOfflineSource::EgHLTOfflineSource
EgHLTOfflineSource(const EgHLTOfflineSource &rhs)=delete
EgHLTOfflineSource::offEvt_
egHLT::OffEvt offEvt_
Definition: EgHLTOfflineSource.h:74
EgHLTOfflineSource::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: EgHLTOfflineSource.cc:141
EgHLTOfflineSource::addPhoTrigPath
void addPhoTrigPath(egHLT::MonElemFuncs &monElemFuncs, const std::string &name)
Definition: EgHLTOfflineSource.cc:181