CMS 3D CMS Logo

BaseTnPEfficiencyTask.h
Go to the documentation of this file.
1 #ifndef DQMOffline_MuonDPG_BaseTnPEfficiencyTask_H
2 #define DQMOffline_MuonDPG_BaseTnPEfficiencyTask_H
3 
4 /*
5  * \file BaseTnPEfficiencyTask.h
6  *
7  * \author L. Lunerti - INFN Bologna
8  *
9 */
10 
12 
15 
18 
23 
25 
27 
30 
31 #include <vector>
32 #include <string>
33 #include <map>
34 
36 public:
39 
41  ~BaseTnPEfficiencyTask() override;
42 
43 protected:
45  void dqmBeginRun(const edm::Run& run, const edm::EventSetup& context) override; //final ?
46 
47  void bookHistograms(DQMStore::IBooker& iBooker, edm::Run const& run, edm::EventSetup const& context) override;
48 
50  virtual std::string topFolder() const = 0;
51 
53  void analyze(const edm::Event& event, const edm::EventSetup& context) override; // final?
54  bool hasTrigger(std::vector<int>& trigIndices,
57  const reco::Muon& muon);
58 
59  std::vector<std::vector<unsigned>> m_probeIndices;
60  std::vector<std::vector<unsigned>> m_tagIndices;
61 
62  std::map<std::string, MonitorElement*> m_histos;
63 
64  int m_nEvents;
65 
67 
68  const double m_borderCut;
69  const double m_dxCut;
70  const bool m_detailedAnalysis;
71 
72 private:
76 
79 
80  //Probe selectors
82  const double m_dxyCut;
83  const double m_dzCut;
84 
85  //Tag selectors
87 
88  //Trigger indices
89  std::vector<int> m_trigIndices;
90 
91  const double m_lowPairMassCut;
92  const double m_highPairMassCut;
93 };
94 
95 #endif
const std::string m_trigName
virtual std::string topFolder() const =0
Return the top folder.
~BaseTnPEfficiencyTask() override
Destructor.
bool hasTrigger(std::vector< int > &trigIndices, const trigger::TriggerObjectCollection &trigObjs, edm::Handle< trigger::TriggerEvent > &trigEvent, const reco::Muon &muon)
std::vector< std::vector< unsigned > > m_tagIndices
const edm::EDGetTokenT< edm::TriggerResults > m_triggerResultsToken
const edm::EDGetTokenT< reco::MuonCollection > m_muToken
Definition: config.py:1
const edm::EDGetTokenT< trigger::TriggerEvent > m_triggerEventToken
const edm::EDGetTokenT< std::vector< reco::Vertex > > m_primaryVerticesToken
std::vector< std::vector< unsigned > > m_probeIndices
const StringCutObjectSelector< reco::Candidate, true > m_probeSelector
std::vector< int > m_trigIndices
std::map< std::string, MonitorElement * > m_histos
void analyze(const edm::Event &event, const edm::EventSetup &context) override
Analyze.
const StringCutObjectSelector< reco::Muon, true > m_tagSelector
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
void bookHistograms(DQMStore::IBooker &iBooker, edm::Run const &run, edm::EventSetup const &context) override
void dqmBeginRun(const edm::Run &run, const edm::EventSetup &context) override
BeginRun.
HLTConfigProvider m_hltConfig
BaseTnPEfficiencyTask(const edm::ParameterSet &config)
Constructor.
Definition: event.py:1
Definition: Run.h:45