CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
BaseTnPEfficiencyTask Class Referenceabstract

#include <BaseTnPEfficiencyTask.h>

Inheritance diagram for BaseTnPEfficiencyTask:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator > CSCTnPEfficiencyTask DTTnPEfficiencyTask RPCTnPEfficiencyTask

Public Member Functions

 BaseTnPEfficiencyTask (const edm::ParameterSet &config)
 Constructor. More...
 
 ~BaseTnPEfficiencyTask () override
 Destructor. More...
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Protected Member Functions

void analyze (const edm::Event &event, const edm::EventSetup &context) override
 Analyze. More...
 
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. More...
 
bool hasTrigger (std::vector< int > &trigIndices, const trigger::TriggerObjectCollection &trigObjs, edm::Handle< trigger::TriggerEvent > &trigEvent, const reco::Muon &muon)
 
virtual std::string topFolder () const =0
 Return the top folder. More...
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Protected Attributes

const double m_borderCut
 
const bool m_detailedAnalysis
 
const double m_dxCut
 
std::map< std::string, MonitorElement * > m_histos
 
const edm::EDGetTokenT< reco::MuonCollectionm_muToken
 
int m_nEvents
 
std::vector< std::vector< unsigned > > m_probeIndices
 
std::vector< std::vector< unsigned > > m_tagIndices
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Private Attributes

const double m_dxyCut
 
const double m_dzCut
 
const double m_highPairMassCut
 
HLTConfigProvider m_hltConfig
 
const double m_lowPairMassCut
 
const edm::EDGetTokenT< std::vector< reco::Vertex > > m_primaryVerticesToken
 
const StringCutObjectSelector< reco::Candidate, true > m_probeSelector
 
const StringCutObjectSelector< reco::Muon, true > m_tagSelector
 
const edm::EDGetTokenT< trigger::TriggerEventm_triggerEventToken
 
const edm::EDGetTokenT< edm::TriggerResultsm_triggerResultsToken
 
std::vector< int > m_trigIndices
 
const std::string m_trigName
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 

Detailed Description

Definition at line 35 of file BaseTnPEfficiencyTask.h.

Constructor & Destructor Documentation

◆ BaseTnPEfficiencyTask()

BaseTnPEfficiencyTask::BaseTnPEfficiencyTask ( const edm::ParameterSet config)

Constructor.

Definition at line 25 of file BaseTnPEfficiencyTask.cc.

References LogTrace.

26  : m_nEvents(0),
27  m_muToken(consumes<reco::MuonCollection>(config.getUntrackedParameter<edm::InputTag>("inputTagMuons"))),
28  m_borderCut(config.getUntrackedParameter<double>("borderCut")),
29  m_dxCut(config.getUntrackedParameter<double>("dx_cut")),
30  m_detailedAnalysis(config.getUntrackedParameter<bool>("detailedAnalysis")),
32  consumes<std::vector<reco::Vertex>>(config.getUntrackedParameter<edm::InputTag>("inputTagPrimaryVertices"))),
34  consumes<edm::TriggerResults>(config.getUntrackedParameter<edm::InputTag>("trigResultsTag"))),
35  m_triggerEventToken(consumes<trigger::TriggerEvent>(config.getUntrackedParameter<edm::InputTag>("trigEventTag"))),
36  m_trigName(config.getUntrackedParameter<std::string>("trigName")),
37  m_probeSelector(config.getUntrackedParameter<std::string>("probeCut")),
38  m_dxyCut(config.getUntrackedParameter<double>("probeDxyCut")),
39  m_dzCut(config.getUntrackedParameter<double>("probeDzCut")),
40  m_tagSelector(config.getUntrackedParameter<std::string>("tagCut")),
41  m_lowPairMassCut(config.getUntrackedParameter<double>("lowPairMassCut")),
42  m_highPairMassCut(config.getUntrackedParameter<double>("highPairMassCut")) {
43  LogTrace("DQMOffline|MuonDPG|BaseTnPEfficiencyTask") << "[BaseTnPEfficiencyTask]: Constructor" << std::endl;
44 }
const std::string m_trigName
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
#define LogTrace(id)
const edm::EDGetTokenT< std::vector< reco::Vertex > > m_primaryVerticesToken
const StringCutObjectSelector< reco::Candidate, true > m_probeSelector
const StringCutObjectSelector< reco::Muon, true > m_tagSelector

◆ ~BaseTnPEfficiencyTask()

BaseTnPEfficiencyTask::~BaseTnPEfficiencyTask ( )
override

Destructor.

Definition at line 46 of file BaseTnPEfficiencyTask.cc.

References LogTrace, and m_nEvents.

46  {
47  LogTrace("DQMOffline|MuonDPG|BaseTnPEfficiencyTask")
48  << "[BaseTnPEfficiencyTask]: analyzed " << m_nEvents << " events" << std::endl;
49 }
#define LogTrace(id)

Member Function Documentation

◆ analyze()

void BaseTnPEfficiencyTask::analyze ( const edm::Event event,
const edm::EventSetup context 
)
overrideprotectedvirtual

Analyze.

Reimplemented from DQMEDAnalyzer.

Reimplemented in RPCTnPEfficiencyTask, DTTnPEfficiencyTask, and CSCTnPEfficiencyTask.

Definition at line 89 of file BaseTnPEfficiencyTask.cc.

References funct::abs(), reco::LeafCandidate::charge(), hasTrigger(), edm::HandleBase::isValid(), m_dxyCut, m_dzCut, m_highPairMassCut, m_histos, m_muToken, m_nEvents, m_primaryVerticesToken, m_probeIndices, m_probeSelector, m_tagIndices, m_tagSelector, m_triggerEventToken, m_triggerResultsToken, m_trigIndices, HLT_2022v12_cff::muon, PDWG_BPHSkim_cff::muons, reco::LeafCandidate::polarP4(), egammaIdentification::pt_max, makeGlobalPositionRcd_cfg::tag, PDWG_DiPhoton_SD_cff::triggerEvent, triggerResults, and bphysicsOniaDQM_cfi::vertex.

Referenced by CSCTnPEfficiencyTask::analyze(), DTTnPEfficiencyTask::analyze(), and RPCTnPEfficiencyTask::analyze().

89  {
90  ++m_nEvents;
91 
93  if (!event.getByToken(m_muToken, muons))
94  return;
95 
97  if (!event.getByToken(m_primaryVerticesToken, vtxs))
98  return;
99  const reco::Vertex& vertex = vtxs->at(0);
100 
102  if (!event.getByToken(m_triggerResultsToken, triggerResults))
103  return;
104 
106  if (!event.getByToken(m_triggerEventToken, triggerEvent))
107  return;
108 
109  //common tnp variables
110  std::vector<unsigned> preSel_tag_indices;
111  std::vector<unsigned> tag_indices;
112  std::vector<unsigned> preSel_probe_indices;
113  std::vector<unsigned> probe_indices;
114 
115  if (muons.isValid() && vtxs.isValid()) {
116  //Is there a better way to initialize two different type variables?
117  for (auto [muon, muonColl_index] = std::tuple{std::vector<reco::Muon>::const_iterator{(*muons).begin()}, 0};
118  muon != (*muons).end();
119  ++muon, ++muonColl_index) {
120  bool trigMatch = false;
121 
122  //Getting trigger infos for tag selection
123  if (triggerResults.isValid() && triggerEvent.isValid()) {
124  const trigger::TriggerObjectCollection trigObjColl = triggerEvent->getObjects();
125  trigMatch = hasTrigger(m_trigIndices, trigObjColl, triggerEvent, *muon);
126  }
127 
128  //Probe selection
129  if (m_probeSelector(*muon) && (std::abs(muon->muonBestTrack()->dxy(vertex.position())) < m_dxyCut) &&
130  (std::abs(muon->muonBestTrack()->dz(vertex.position())) < m_dzCut)) {
131  preSel_probe_indices.push_back(muonColl_index);
132  }
133  //Tag selection
134  if (m_tagSelector(*muon) && trigMatch) {
135  preSel_tag_indices.push_back(muonColl_index);
136  }
137 
138  } //loop over muons
139  }
140 
141  //Probe selection
142  for (const auto i_tag : preSel_tag_indices) {
143  reco::Muon tag = (*muons).at(i_tag);
144  float pt_max = 0.;
145  int max_pt_idx;
146  bool pair_found = false;
147 
148  for (const auto i_probe : preSel_probe_indices) {
149  //Prevent tag and probe to be the same object
150  if (i_probe == i_tag)
151  continue;
152 
153  reco::Muon preSel_probe = (*muons).at(i_probe);
154 
155  int pair_charge_product = tag.charge() * preSel_probe.charge();
156 
157  //check if tag+probe pair is compatible with Z decay
158  if (pair_charge_product > 0)
159  continue;
160 
161  float pair_mass = (tag.polarP4() + preSel_probe.polarP4()).M();
162  m_histos.find("pairMass")->second->Fill(pair_mass);
163 
164  if (pair_mass < m_lowPairMassCut || pair_mass > m_highPairMassCut)
165  continue;
166 
167  float pair_pt = (tag.polarP4() + preSel_probe.polarP4()).Pt();
168  if (pair_pt > pt_max) {
169  pair_found = true;
170  pt_max = pair_pt;
171  max_pt_idx = i_probe;
172  }
173  }
174  if (pair_found) {
175  probe_indices.push_back(max_pt_idx);
176  tag_indices.push_back(i_tag);
177  }
178  }
179 
180  m_probeIndices.push_back(probe_indices);
181  m_tagIndices.push_back(tag_indices);
182 }
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
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
const PolarLorentzVector & polarP4() const final
four-momentum Lorentz vector
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::map< std::string, MonitorElement * > m_histos
static std::string const triggerResults
Definition: EdmProvDump.cc:44
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
bool isValid() const
Definition: HandleBase.h:70
Definition: event.py:1
int charge() const final
electric charge

◆ bookHistograms()

void BaseTnPEfficiencyTask::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  context 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Reimplemented in RPCTnPEfficiencyTask, CSCTnPEfficiencyTask, and DTTnPEfficiencyTask.

Definition at line 68 of file BaseTnPEfficiencyTask.cc.

References ALCARECODTCalibSynchDQM_cff::baseDir, dqm::implementation::IBooker::book1D(), LogTrace, m_detailedAnalysis, m_histos, Pi, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and topFolder().

Referenced by CSCTnPEfficiencyTask::bookHistograms(), DTTnPEfficiencyTask::bookHistograms(), and RPCTnPEfficiencyTask::bookHistograms().

70  {
71  LogTrace("DQMOffline|MuonDPG|BaseTnPEfficiencyTask") << "[BaseTnPEfficiencyTask]: bookHistograms" << std::endl;
72 
73  if (m_detailedAnalysis) {
74  std::string baseDir = topFolder() + "/detailed/";
75  iBooker.setCurrentFolder(baseDir);
76 
77  LogTrace("DQMOffline|MuonDPG|BaseTnPEfficiencyTask")
78  << "[BaseTnPEfficiencyTask]: booking histos in " << baseDir << std::endl;
79 
80  m_histos["probePt"] = iBooker.book1D("probePt", "probePt;probe p_{T} [GeV];Events", 125, 0., 250.);
81  m_histos["probeEta"] = iBooker.book1D("probeEta", "probeEta;probe #eta;Events", 24, -2.4, 2.4);
82  m_histos["probePhi"] = iBooker.book1D("probePhi", "probePhi;probe #phi; Events", 36, -TMath::Pi(), TMath::Pi());
83  m_histos["probeNumberOfMatchedStations"] = iBooker.book1D(
84  "probeNumberOfMatchedStations", "probeNumberOfMatchedStations;Number of matched stations;Events", 5, 0., 5);
85  m_histos["pairMass"] = iBooker.book1D("pairMass", "pairMass", 25, 70., 120.);
86  }
87 }
const double Pi
virtual std::string topFolder() const =0
Return the top folder.
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
#define LogTrace(id)
std::map< std::string, MonitorElement * > m_histos
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98

◆ dqmBeginRun()

void BaseTnPEfficiencyTask::dqmBeginRun ( const edm::Run run,
const edm::EventSetup context 
)
overrideprotectedvirtual

BeginRun.

Reimplemented from DQMEDAnalyzer.

Definition at line 51 of file BaseTnPEfficiencyTask.cc.

References visDQMUpload::context, HLTConfigProvider::init(), m_hltConfig, m_trigIndices, m_trigName, hltMonBTagIPClient_cfi::pathName, writedatasetfile::run, HLTConfigProvider::size(), simpleEdmComparison::tName, and HLTConfigProvider::triggerName().

51  {
52  bool changed = true;
53  m_hltConfig.init(run, context, "HLT", changed);
54 
55  bool enableWildCard = true;
56 
57  TString tName = TString(m_trigName);
58  TRegexp tNamePattern = TRegexp(tName, enableWildCard);
59 
60  for (unsigned iPath = 0; iPath < m_hltConfig.size(); ++iPath) {
61  TString pathName = TString(m_hltConfig.triggerName(iPath));
62  if (pathName.Contains(tNamePattern)) {
63  m_trigIndices.push_back(static_cast<int>(iPath));
64  }
65  }
66 }
const std::string & triggerName(unsigned int triggerIndex) const
const std::string m_trigName
std::vector< int > m_trigIndices
unsigned int size() const
number of trigger paths in trigger table
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
HLTConfigProvider m_hltConfig

◆ hasTrigger()

bool BaseTnPEfficiencyTask::hasTrigger ( std::vector< int > &  trigIndices,
const trigger::TriggerObjectCollection trigObjs,
edm::Handle< trigger::TriggerEvent > &  trigEvent,
const reco::Muon muon 
)
protected

Definition at line 184 of file BaseTnPEfficiencyTask.cc.

References HLTMuonOfflineAnalyzer_cfi::deltaR2, spr::find(), relativeConstraints::keys, m_hltConfig, HLTConfigProvider::moduleLabels(), B2GTnPMonitor_cfi::trigEvent, and TriggerAnalyzer::trigObjs.

Referenced by analyze().

187  {
188  float dR2match = 999.;
189  for (int trigIdx : trigIndices) {
190  const std::vector<std::string> trigModuleLabels = m_hltConfig.moduleLabels(trigIdx);
191 
192  const unsigned trigModuleIndex =
193  std::find(trigModuleLabels.begin(), trigModuleLabels.end(), "hltBoolEnd") - trigModuleLabels.begin() - 1;
194  const unsigned hltFilterIndex = trigEvent->filterIndex(edm::InputTag(trigModuleLabels[trigModuleIndex], "", "HLT"));
195  if (hltFilterIndex < trigEvent->sizeFilters()) {
196  const trigger::Keys keys = trigEvent->filterKeys(hltFilterIndex);
197  const trigger::Vids vids = trigEvent->filterIds(hltFilterIndex);
198  const unsigned nTriggers = vids.size();
199 
200  for (unsigned iTrig = 0; iTrig < nTriggers; ++iTrig) {
201  trigger::TriggerObject trigObj = trigObjs[keys[iTrig]];
202  float dR2 = deltaR2(muon, trigObj);
203  if (dR2 < dR2match)
204  dR2match = dR2;
205  }
206  }
207  }
208 
209  return dR2match < 0.01;
210 }
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
std::vector< size_type > Keys
HLTConfigProvider m_hltConfig
std::vector< int > Vids

◆ topFolder()

virtual std::string BaseTnPEfficiencyTask::topFolder ( ) const
protectedpure virtual

Return the top folder.

Implemented in RPCTnPEfficiencyTask, CSCTnPEfficiencyTask, and DTTnPEfficiencyTask.

Referenced by bookHistograms().

Member Data Documentation

◆ m_borderCut

const double BaseTnPEfficiencyTask::m_borderCut
protected

◆ m_detailedAnalysis

const bool BaseTnPEfficiencyTask::m_detailedAnalysis
protected

◆ m_dxCut

const double BaseTnPEfficiencyTask::m_dxCut
protected

◆ m_dxyCut

const double BaseTnPEfficiencyTask::m_dxyCut
private

Definition at line 82 of file BaseTnPEfficiencyTask.h.

Referenced by analyze().

◆ m_dzCut

const double BaseTnPEfficiencyTask::m_dzCut
private

Definition at line 83 of file BaseTnPEfficiencyTask.h.

Referenced by analyze().

◆ m_highPairMassCut

const double BaseTnPEfficiencyTask::m_highPairMassCut
private

Definition at line 92 of file BaseTnPEfficiencyTask.h.

Referenced by analyze().

◆ m_histos

std::map<std::string, MonitorElement*> BaseTnPEfficiencyTask::m_histos
protected

◆ m_hltConfig

HLTConfigProvider BaseTnPEfficiencyTask::m_hltConfig
private

Definition at line 78 of file BaseTnPEfficiencyTask.h.

Referenced by dqmBeginRun(), and hasTrigger().

◆ m_lowPairMassCut

const double BaseTnPEfficiencyTask::m_lowPairMassCut
private

Definition at line 91 of file BaseTnPEfficiencyTask.h.

◆ m_muToken

const edm::EDGetTokenT<reco::MuonCollection> BaseTnPEfficiencyTask::m_muToken
protected

◆ m_nEvents

int BaseTnPEfficiencyTask::m_nEvents
protected

◆ m_primaryVerticesToken

const edm::EDGetTokenT<std::vector<reco::Vertex> > BaseTnPEfficiencyTask::m_primaryVerticesToken
private

Definition at line 73 of file BaseTnPEfficiencyTask.h.

Referenced by analyze().

◆ m_probeIndices

std::vector<std::vector<unsigned> > BaseTnPEfficiencyTask::m_probeIndices
protected

◆ m_probeSelector

const StringCutObjectSelector<reco::Candidate, true> BaseTnPEfficiencyTask::m_probeSelector
private

Definition at line 81 of file BaseTnPEfficiencyTask.h.

Referenced by analyze().

◆ m_tagIndices

std::vector<std::vector<unsigned> > BaseTnPEfficiencyTask::m_tagIndices
protected

Definition at line 60 of file BaseTnPEfficiencyTask.h.

Referenced by analyze().

◆ m_tagSelector

const StringCutObjectSelector<reco::Muon, true> BaseTnPEfficiencyTask::m_tagSelector
private

Definition at line 86 of file BaseTnPEfficiencyTask.h.

Referenced by analyze().

◆ m_triggerEventToken

const edm::EDGetTokenT<trigger::TriggerEvent> BaseTnPEfficiencyTask::m_triggerEventToken
private

Definition at line 75 of file BaseTnPEfficiencyTask.h.

Referenced by analyze().

◆ m_triggerResultsToken

const edm::EDGetTokenT<edm::TriggerResults> BaseTnPEfficiencyTask::m_triggerResultsToken
private

Definition at line 74 of file BaseTnPEfficiencyTask.h.

Referenced by analyze().

◆ m_trigIndices

std::vector<int> BaseTnPEfficiencyTask::m_trigIndices
private

Definition at line 89 of file BaseTnPEfficiencyTask.h.

Referenced by analyze(), and dqmBeginRun().

◆ m_trigName

const std::string BaseTnPEfficiencyTask::m_trigName
private

Definition at line 77 of file BaseTnPEfficiencyTask.h.

Referenced by dqmBeginRun().