CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
L1Muon2RecoTreeProducer Class Reference
Inheritance diagram for L1Muon2RecoTreeProducer:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

void empty_hlt ()
 
 L1Muon2RecoTreeProducer (const edm::ParameterSet &)
 
double match_trigger (std::vector< int > &trigIndices, const trigger::TriggerObjectCollection &trigObjs, edm::Handle< trigger::TriggerEvent > &triggerEvent, const reco::Muon &mu)
 
 ~L1Muon2RecoTreeProducer () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Public Attributes

L1Analysis::L1AnalysisRecoMuon2muon
 
L1Analysis::L1AnalysisRecoMuon2DataFormatmuon_data
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob (void) override
 
void beginRun (const edm::Run &, const edm::EventSetup &) override
 
void endJob () override
 

Private Attributes

edm::Service< TFileServicefs_
 
HLTConfigProvider hltConfig_
 
std::vector< int > isoTriggerIndices_
 
std::vector< std::string > isoTriggerNames_
 
edm::Handle< std::vector< std::string > > isoTriggerNamesToken_
 
edm::Handle< edm::TriggerResultsisoTriggerToken_
 
unsigned int maxMuon_
 
edm::EDGetTokenT< reco::PFMETCollectionmetToken_
 
edm::EDGetTokenT< reco::MuonCollectionMuonToken_
 
TTree * tree_
 
std::vector< int > triggerIndices_
 
bool triggerMatching_
 
double triggerMaxDeltaR_
 
std::vector< std::string > triggerNames_
 
std::string triggerProcessLabel_
 
edm::EDGetTokenT< edm::TriggerResultsTriggerResultsToken_
 
edm::EDGetTokenT< trigger::TriggerEventtriggerSummaryLabelToken_
 
edm::EDGetTokenT< reco::VertexCollectionVtxToken_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 85 of file L1Muon2RecoTreeProducer.cc.

Constructor & Destructor Documentation

◆ L1Muon2RecoTreeProducer()

L1Muon2RecoTreeProducer::L1Muon2RecoTreeProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 144 of file L1Muon2RecoTreeProducer.cc.

144  {
145  maxMuon_ = iConfig.getParameter<unsigned int>("maxMuon");
146  isoTriggerNames_ = iConfig.getParameter<std::vector<std::string>>("isoTriggerNames");
147  // isoTriggerToken_ = iConfig.getParameter<std::vector<std::string>>("isoTriggerNames");
148  // TriggerToken_ = iConfig.getParameter<std::vector<std::string>>("triggerNames");
149  MuonToken_ = consumes<reco::MuonCollection>(iConfig.getUntrackedParameter("MuonToken", edm::InputTag("muons")));
150  VtxToken_ = consumes<reco::VertexCollection>(
151  iConfig.getUntrackedParameter("VertexToken", edm::InputTag("offlinePrimaryVertices")));
152 
153  TriggerResultsToken_ = consumes<edm::TriggerResults>(
154  iConfig.getUntrackedParameter("TriggerResultsToken", edm::InputTag("TriggerResults", "", "HLT")));
155  triggerSummaryLabelToken_ = consumes<trigger::TriggerEvent>(
156  iConfig.getUntrackedParameter("triggerSummaryLabelToken", edm::InputTag("hltTriggerSummaryAOD", "", "HLT")));
157  // TriggerResultsToken_ = consumes<edm::TriggerResults>(iConfig.getUntrackedParameter("TriggerResultsToken",edm::InputTag("triggerSummaryLabel")));
158  // triggerSummaryLabelToken_ = consumes<trigger::TriggerEvent>(iConfig.getUntrackedParameter("triggerSummaryLabelToken",edm::InputTag("triggerSummaryLabel")));
159  //iConfig.getParameter<edm::InputTag>("triggerSummaryLabel");
160  metToken_ = consumes<reco::PFMETCollection>(iConfig.getUntrackedParameter("metToken", edm::InputTag("pfMet")));
161 
162  muon = new L1Analysis::L1AnalysisRecoMuon2(iConfig);
163  muon_data = muon->getData();
164 
165  tree_ = fs_->make<TTree>("Muon2RecoTree", "Muon2RecoTree");
166  tree_->Branch("Muon", "L1Analysis::L1AnalysisRecoMuon2DataFormat", &muon_data, 32000, 3);
167 
168  triggerMaxDeltaR_ = iConfig.getParameter<double>("triggerMaxDeltaR");
169  triggerMatching_ = iConfig.getUntrackedParameter<bool>("triggerMatching");
170  triggerProcessLabel_ = iConfig.getUntrackedParameter<std::string>("triggerProcessLabel");
171  isoTriggerNames_ = iConfig.getParameter<std::vector<std::string>>("isoTriggerNames");
172  triggerNames_ = iConfig.getParameter<std::vector<std::string>>("triggerNames");
173 
174  // triggerMatching_ = iConfig.getUntrackedParameter<bool>("triggerMatching");
175  // _ = iConfig.getParameter<edm::InputTag>("triggerSummaryLabel");
176  // triggerProcessLabel_ = iConfig.getUntrackedParameter<std::string>("triggerProcessLabel");
177  // triggerNames_ = iConfig.getParameter<std::vector<std::string> > ("triggerNames");
178  // isoTriggerNames_ = iConfig.getParameter<std::vector<std::string> > ("isoTriggerNames");
179  // triggerMaxDeltaR_ = iConfig.getParameter<double> ("triggerMaxDeltaR");
180 }

References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~L1Muon2RecoTreeProducer()

L1Muon2RecoTreeProducer::~L1Muon2RecoTreeProducer ( )
override

Definition at line 182 of file L1Muon2RecoTreeProducer.cc.

182  {
183  // do anything here that needs to be done at desctruction time
184  // (e.g. close files, deallocate resources etc.)
185 }

Member Function Documentation

◆ analyze()

void L1Muon2RecoTreeProducer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 192 of file L1Muon2RecoTreeProducer.cc.

192  {
193  muon->Reset();
195  iEvent.getByToken(MuonToken_, recoMuons);
196 
198  iEvent.getByToken(VtxToken_, vertices);
199 
202 
203  edm::Handle<trigger::TriggerEvent> triggerSummaryLabel_;
204  iEvent.getByToken(triggerSummaryLabelToken_, triggerSummaryLabel_);
205 
207  iEvent.getByToken(metToken_, metLabel_);
208 
209  int counter_met = 0;
210 
211  double METx = 0.;
212  double METy = 0.;
213 
214  for (reco::PFMETCollection::const_iterator imet = metLabel_->begin();
215  imet != metLabel_->end() && (unsigned)counter_met < 1;
216  imet++) {
217  METx = imet->px();
218  METy = imet->py();
219  }
220 
221  if (recoMuons.isValid()) {
222  muon->SetMuon(iEvent, iSetup, recoMuons, vertices, METx, METy, maxMuon_);
223  } else {
224  }
225 
226  int counter_mu = 0;
227  for (reco::MuonCollection::const_iterator imu = recoMuons->begin();
228  imu != recoMuons->end() && (unsigned)counter_mu < maxMuon_;
229  imu++) {
230  //---------------------------------------------------------------------
231  // TRIGGER MATCHING:
232  // if specified the reconstructed muons are matched to a trigger
233  //---------------------------------------------------------------------
234  if (triggerMatching_) {
235  double isoMatchDeltaR = 9999.;
236  double matchDeltaR = 9999.;
237  int hasIsoTriggered = 0;
238  int hasTriggered = 0;
239 
240  int passesSingleMuonFlag = 0;
241 
242  // first check if the trigger results are valid:
243  if (triggerResults.isValid()) {
244  if (triggerSummaryLabel_.isValid()) {
245  const edm::TriggerNames &trigNames = iEvent.triggerNames(*triggerResults);
246  // for(UInt_t iPath = 0 ; iPath < trigNames.size() ; ++iPath)
247  // {
248  // cout<<iPath<<": "<<trigNames.triggerName(iPath)<<endl;
249  // }
250 
251  for (UInt_t iPath = 0; iPath < isoTriggerNames_.size(); ++iPath) {
252  if (passesSingleMuonFlag == 1)
253  continue;
255 
256  bool passTrig = false;
257  //cout<<"testing pathName = "<<pathName<<endl;
258  //cout<<"trigNames.triggerIndex(pathName) = "<<trigNames.triggerIndex(pathName)<<endl;
259  // cout<<"trigNames.triggerIndex(pathName)<trigNames.size()= "<<(trigNames.triggerIndex(pathName)<trigNames.size())<<endl;
260 
261  if (trigNames.triggerIndex(pathName) < trigNames.size())
262  passTrig = triggerResults->accept(trigNames.triggerIndex(pathName));
263  // cout<<"pass = "<<passTrig<<endl;
264  if (passTrig)
265  passesSingleMuonFlag = 1;
266  }
267 
268  if (triggerSummaryLabel_.isValid()) {
269  // get trigger objects:
270  const trigger::TriggerObjectCollection triggerObjects = triggerSummaryLabel_->getObjects();
271 
272  matchDeltaR = match_trigger(triggerIndices_, triggerObjects, triggerSummaryLabel_, (*imu));
273  if (matchDeltaR < triggerMaxDeltaR_)
274  hasTriggered = 1;
275 
276  // cout<<"isoTriggerIndices_.size() = "<<isoTriggerIndices_.size()<<endl;
277  // cout<<"triggerObjects.size() = "<<triggerObjects.size()<<endl;
278  // cout<<"imu->eta() = "<<imu->eta()<<endl;
279 
280  isoMatchDeltaR = match_trigger(isoTriggerIndices_, triggerObjects, triggerSummaryLabel_, (*imu));
281  if (isoMatchDeltaR < triggerMaxDeltaR_)
282  hasIsoTriggered = 1;
283 
284  } // end if (triggerEvent.isValid())
285 
286  } // end if (triggerResults.isValid())
287 
288  } // end if (triggerResults.isValid())
289 
290  // fill trigger matching variables:
291  muon_data->hlt_isomu.push_back(hasIsoTriggered);
292  muon_data->hlt_mu.push_back(hasTriggered);
293  muon_data->hlt_isoDeltaR.push_back(isoMatchDeltaR);
294  muon_data->hlt_deltaR.push_back(matchDeltaR);
295  muon_data->passesSingleMuon.push_back(passesSingleMuonFlag);
296 
297  } else {
298  empty_hlt();
299  } // end if (triggerMatching_)
300  }
301 
302  tree_->Fill();
303 }

References trigger::TriggerEvent::getObjects(), iEvent, edm::HandleBase::isValid(), hltdqm::passTrig(), hltMonBTagIPClient_cfi::pathName, AlCaHLTBitMon_QueryRunRegistry::string, triggerMatchMonitor_cfi::triggerObjects, triggerResults, trigNames, and AlignmentTracksFromVertexSelector_cfi::vertices.

◆ beginJob()

void L1Muon2RecoTreeProducer::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 306 of file L1Muon2RecoTreeProducer.cc.

306 {}

◆ beginRun()

void L1Muon2RecoTreeProducer::beginRun ( const edm::Run run,
const edm::EventSetup eventSetup 
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 355 of file L1Muon2RecoTreeProducer.cc.

355  {
356  // Prepare for trigger matching for each new run:
357  // Look up triggetIndices in the HLT config for the different paths
358  if (triggerMatching_) {
359  bool changed = true;
360  if (!hltConfig_.init(run, eventSetup, triggerProcessLabel_, changed)) {
361  // if you can't initialize hlt configuration, crash!
362  std::cout << "Error: didn't find process" << triggerProcessLabel_ << std::endl;
363  assert(false);
364  }
365 
366  bool enableWildcard = true;
367  for (size_t iTrig = 0; iTrig < triggerNames_.size(); ++iTrig) {
368  // prepare for regular expression (with wildcards) functionality:
369  TString tNameTmp = TString(triggerNames_[iTrig]);
370  TRegexp tNamePattern = TRegexp(tNameTmp, enableWildcard);
371  int tIndex = -1;
372  // find the trigger index:
373  for (unsigned ipath = 0; ipath < hltConfig_.size(); ++ipath) {
374  // use TString since it provides reg exp functionality:
375  TString tmpName = TString(hltConfig_.triggerName(ipath));
376  if (tmpName.Contains(tNamePattern)) {
377  tIndex = int(ipath);
378  triggerIndices_.push_back(tIndex);
379  }
380  }
381  if (tIndex < 0) { // if can't find trigger path at all, give warning:
382  std::cout << "Warning: Could not find trigger" << triggerNames_[iTrig] << std::endl;
383  //assert(false);
384  }
385  } // end for triggerNames
386  for (size_t iTrig = 0; iTrig < isoTriggerNames_.size(); ++iTrig) {
387  // prepare for regular expression functionality:
388  TString tNameTmp = TString(isoTriggerNames_[iTrig]);
389  TRegexp tNamePattern = TRegexp(tNameTmp, enableWildcard);
390  int tIndex = -1;
391  // find the trigger index:
392  for (unsigned ipath = 0; ipath < hltConfig_.size(); ++ipath) {
393  // use TString since it provides reg exp functionality:
394  TString tmpName = TString(hltConfig_.triggerName(ipath));
395  if (tmpName.Contains(tNamePattern)) {
396  tIndex = int(ipath);
397  isoTriggerIndices_.push_back(tIndex);
398  }
399  }
400  if (tIndex < 0) { // if can't find trigger path at all, give warning:
401  std::cout << "Warning: Could not find trigger" << isoTriggerNames_[iTrig] << std::endl;
402  //assert(false);
403  }
404  } // end for isoTriggerNames
405  } // end if (triggerMatching_)
406 
407  muon->init(eventSetup);
408 }

References cms::cuda::assert(), gather_cfg::cout, createfilelist::int, and writedatasetfile::run.

◆ empty_hlt()

void L1Muon2RecoTreeProducer::empty_hlt ( )

Definition at line 311 of file L1Muon2RecoTreeProducer.cc.

311  {
312  muon_data->hlt_isomu.push_back(-9999);
313  muon_data->hlt_mu.push_back(-9999);
314  muon_data->hlt_isoDeltaR.push_back(-9999);
315  muon_data->hlt_deltaR.push_back(-9999);
316 }

◆ endJob()

void L1Muon2RecoTreeProducer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 309 of file L1Muon2RecoTreeProducer.cc.

309 {}

◆ match_trigger()

double L1Muon2RecoTreeProducer::match_trigger ( std::vector< int > &  trigIndices,
const trigger::TriggerObjectCollection trigObjs,
edm::Handle< trigger::TriggerEvent > &  triggerEvent,
const reco::Muon mu 
)

Definition at line 318 of file L1Muon2RecoTreeProducer.cc.

321  {
322  double matchDeltaR = 9999;
323 
324  for (size_t iTrigIndex = 0; iTrigIndex < trigIndices.size(); ++iTrigIndex) {
325  int triggerIndex = trigIndices[iTrigIndex];
326  const std::vector<std::string> moduleLabels(hltConfig_.moduleLabels(triggerIndex));
327  // find index of the last module:
328  const unsigned moduleIndex = hltConfig_.size(triggerIndex) - 2;
329  // find index of HLT trigger name:
330  const unsigned hltFilterIndex =
331  triggerEvent->filterIndex(edm::InputTag(moduleLabels[moduleIndex], "", triggerProcessLabel_));
332 
333  if (hltFilterIndex < triggerEvent->sizeFilters()) {
334  const trigger::Keys triggerKeys(triggerEvent->filterKeys(hltFilterIndex));
335  const trigger::Vids triggerVids(triggerEvent->filterIds(hltFilterIndex));
336 
337  const unsigned nTriggers = triggerVids.size();
338  for (size_t iTrig = 0; iTrig < nTriggers; ++iTrig) {
339  // loop over all trigger objects:
340  const trigger::TriggerObject trigObject = trigObjs[triggerKeys[iTrig]];
341 
342  double dRtmp = deltaR(mu, trigObject);
343 
344  if (dRtmp < matchDeltaR) {
345  matchDeltaR = dRtmp;
346  }
347 
348  } // loop over different trigger objects
349  } // if trigger is in event (should apply hltFilter with used trigger...)
350  } // loop over muon candidates
351 
352  return matchDeltaR;
353 }

References PbPb_ZMuSkimMuonDPG_cff::deltaR, amptDefaultParameters_cff::mu, PDWG_DiPhoton_SD_cff::triggerEvent, and TriggerAnalyzer::trigObjs.

Member Data Documentation

◆ fs_

edm::Service<TFileService> L1Muon2RecoTreeProducer::fs_
private

Definition at line 109 of file L1Muon2RecoTreeProducer.cc.

◆ hltConfig_

HLTConfigProvider L1Muon2RecoTreeProducer::hltConfig_
private

Definition at line 131 of file L1Muon2RecoTreeProducer.cc.

◆ isoTriggerIndices_

std::vector<int> L1Muon2RecoTreeProducer::isoTriggerIndices_
private

Definition at line 140 of file L1Muon2RecoTreeProducer.cc.

◆ isoTriggerNames_

std::vector<std::string> L1Muon2RecoTreeProducer::isoTriggerNames_
private

Definition at line 138 of file L1Muon2RecoTreeProducer.cc.

◆ isoTriggerNamesToken_

edm::Handle<std::vector<std::string> > L1Muon2RecoTreeProducer::isoTriggerNamesToken_
private

Definition at line 128 of file L1Muon2RecoTreeProducer.cc.

◆ isoTriggerToken_

edm::Handle<edm::TriggerResults> L1Muon2RecoTreeProducer::isoTriggerToken_
private

Definition at line 127 of file L1Muon2RecoTreeProducer.cc.

◆ maxMuon_

unsigned int L1Muon2RecoTreeProducer::maxMuon_
private

Definition at line 134 of file L1Muon2RecoTreeProducer.cc.

◆ metToken_

edm::EDGetTokenT<reco::PFMETCollection> L1Muon2RecoTreeProducer::metToken_
private

Definition at line 119 of file L1Muon2RecoTreeProducer.cc.

◆ muon

L1Analysis::L1AnalysisRecoMuon2* L1Muon2RecoTreeProducer::muon

Definition at line 97 of file L1Muon2RecoTreeProducer.cc.

◆ muon_data

L1Analysis::L1AnalysisRecoMuon2DataFormat* L1Muon2RecoTreeProducer::muon_data

Definition at line 99 of file L1Muon2RecoTreeProducer.cc.

◆ MuonToken_

edm::EDGetTokenT<reco::MuonCollection> L1Muon2RecoTreeProducer::MuonToken_
private

Definition at line 115 of file L1Muon2RecoTreeProducer.cc.

◆ tree_

TTree* L1Muon2RecoTreeProducer::tree_
private

Definition at line 112 of file L1Muon2RecoTreeProducer.cc.

◆ triggerIndices_

std::vector<int> L1Muon2RecoTreeProducer::triggerIndices_
private

Definition at line 141 of file L1Muon2RecoTreeProducer.cc.

◆ triggerMatching_

bool L1Muon2RecoTreeProducer::triggerMatching_
private

Definition at line 136 of file L1Muon2RecoTreeProducer.cc.

◆ triggerMaxDeltaR_

double L1Muon2RecoTreeProducer::triggerMaxDeltaR_
private

Definition at line 135 of file L1Muon2RecoTreeProducer.cc.

◆ triggerNames_

std::vector<std::string> L1Muon2RecoTreeProducer::triggerNames_
private

Definition at line 139 of file L1Muon2RecoTreeProducer.cc.

◆ triggerProcessLabel_

std::string L1Muon2RecoTreeProducer::triggerProcessLabel_
private

Definition at line 137 of file L1Muon2RecoTreeProducer.cc.

◆ TriggerResultsToken_

edm::EDGetTokenT<edm::TriggerResults> L1Muon2RecoTreeProducer::TriggerResultsToken_
private

Definition at line 116 of file L1Muon2RecoTreeProducer.cc.

◆ triggerSummaryLabelToken_

edm::EDGetTokenT<trigger::TriggerEvent> L1Muon2RecoTreeProducer::triggerSummaryLabelToken_
private

Definition at line 117 of file L1Muon2RecoTreeProducer.cc.

◆ VtxToken_

edm::EDGetTokenT<reco::VertexCollection> L1Muon2RecoTreeProducer::VtxToken_
private

Definition at line 118 of file L1Muon2RecoTreeProducer.cc.

L1Muon2RecoTreeProducer::metToken_
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: L1Muon2RecoTreeProducer.cc:119
L1Muon2RecoTreeProducer::isoTriggerNames_
std::vector< std::string > isoTriggerNames_
Definition: L1Muon2RecoTreeProducer.cc:138
L1Muon2RecoTreeProducer::triggerMaxDeltaR_
double triggerMaxDeltaR_
Definition: L1Muon2RecoTreeProducer.cc:135
trigNames
static const char *const trigNames[]
Definition: EcalDumpRaw.cc:57
triggerMatchMonitor_cfi.triggerObjects
triggerObjects
Definition: triggerMatchMonitor_cfi.py:15
trigger::Vids
std::vector< int > Vids
Definition: TriggerTypeDefs.h:21
muon
Definition: MuonCocktails.h:17
amptDefaultParameters_cff.mu
mu
Definition: amptDefaultParameters_cff.py:16
TriggerAnalyzer.trigObjs
trigObjs
Definition: TriggerAnalyzer.py:89
gather_cfg.cout
cout
Definition: gather_cfg.py:144
L1Muon2RecoTreeProducer::triggerMatching_
bool triggerMatching_
Definition: L1Muon2RecoTreeProducer.cc:136
triggerResults
static const std::string triggerResults
Definition: EdmProvDump.cc:45
cms::cuda::assert
assert(be >=bs)
L1Analysis::L1AnalysisRecoMuon2
Definition: L1AnalysisRecoMuon2.h:40
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
L1Muon2RecoTreeProducer::match_trigger
double match_trigger(std::vector< int > &trigIndices, const trigger::TriggerObjectCollection &trigObjs, edm::Handle< trigger::TriggerEvent > &triggerEvent, const reco::Muon &mu)
Definition: L1Muon2RecoTreeProducer.cc:318
L1Muon2RecoTreeProducer::MuonToken_
edm::EDGetTokenT< reco::MuonCollection > MuonToken_
Definition: L1Muon2RecoTreeProducer.cc:115
edm::Handle< reco::MuonCollection >
L1Muon2RecoTreeProducer::fs_
edm::Service< TFileService > fs_
Definition: L1Muon2RecoTreeProducer.cc:109
AlignmentTracksFromVertexSelector_cfi.vertices
vertices
Definition: AlignmentTracksFromVertexSelector_cfi.py:5
HLTConfigProvider::moduleLabels
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
Definition: HLTConfigProvider.h:76
L1Analysis::L1AnalysisRecoMuon2DataFormat::hlt_isomu
std::vector< short > hlt_isomu
Definition: L1AnalysisRecoMuon2DataFormat.h:54
hltMonBTagIPClient_cfi.pathName
pathName
Definition: hltMonBTagIPClient_cfi.py:5
L1Muon2RecoTreeProducer::hltConfig_
HLTConfigProvider hltConfig_
Definition: L1Muon2RecoTreeProducer.cc:131
L1Muon2RecoTreeProducer::maxMuon_
unsigned int maxMuon_
Definition: L1Muon2RecoTreeProducer.cc:134
L1Analysis::L1AnalysisRecoMuon2DataFormat::hlt_isoDeltaR
std::vector< float > hlt_isoDeltaR
Definition: L1AnalysisRecoMuon2DataFormat.h:56
trigger::TriggerObject
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
HLTConfigProvider::size
unsigned int size() const
number of trigger paths in trigger table
Definition: HLTConfigProvider.h:63
trigger::TriggerObjectCollection
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
L1Analysis::L1AnalysisRecoMuon2DataFormat::hlt_mu
std::vector< short > hlt_mu
Definition: L1AnalysisRecoMuon2DataFormat.h:55
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
trigger::Keys
std::vector< size_type > Keys
Definition: TriggerTypeDefs.h:19
L1Muon2RecoTreeProducer::tree_
TTree * tree_
Definition: L1Muon2RecoTreeProducer.cc:112
L1Muon2RecoTreeProducer::TriggerResultsToken_
edm::EDGetTokenT< edm::TriggerResults > TriggerResultsToken_
Definition: L1Muon2RecoTreeProducer.cc:116
L1Muon2RecoTreeProducer::empty_hlt
void empty_hlt()
Definition: L1Muon2RecoTreeProducer.cc:311
PDWG_DiPhoton_SD_cff.triggerEvent
triggerEvent
Definition: PDWG_DiPhoton_SD_cff.py:39
trigger::TriggerEvent::getObjects
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
TFileService::make
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
L1Analysis::L1AnalysisRecoMuon2DataFormat::passesSingleMuon
std::vector< int > passesSingleMuon
Definition: L1AnalysisRecoMuon2DataFormat.h:58
L1Muon2RecoTreeProducer::isoTriggerIndices_
std::vector< int > isoTriggerIndices_
Definition: L1Muon2RecoTreeProducer.cc:140
hltdqm::passTrig
bool passTrig(const float objEta, float objPhi, const trigger::TriggerEvent &trigEvt, const std::string &filterName, const std::string &processName)
Definition: UtilFuncs.h:14
writedatasetfile.run
run
Definition: writedatasetfile.py:27
HLTConfigProvider::init
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
Definition: HLTConfigProvider.cc:36
L1Muon2RecoTreeProducer::triggerProcessLabel_
std::string triggerProcessLabel_
Definition: L1Muon2RecoTreeProducer.cc:137
edm::TriggerNames
Definition: TriggerNames.h:55
L1Muon2RecoTreeProducer::triggerIndices_
std::vector< int > triggerIndices_
Definition: L1Muon2RecoTreeProducer.cc:141
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
L1Muon2RecoTreeProducer::triggerSummaryLabelToken_
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryLabelToken_
Definition: L1Muon2RecoTreeProducer.cc:117
L1Muon2RecoTreeProducer::triggerNames_
std::vector< std::string > triggerNames_
Definition: L1Muon2RecoTreeProducer.cc:139
L1Analysis::L1AnalysisRecoMuon2DataFormat::hlt_deltaR
std::vector< float > hlt_deltaR
Definition: L1AnalysisRecoMuon2DataFormat.h:57
L1Muon2RecoTreeProducer::muon_data
L1Analysis::L1AnalysisRecoMuon2DataFormat * muon_data
Definition: L1Muon2RecoTreeProducer.cc:99
HLTConfigProvider::triggerName
const std::string & triggerName(unsigned int triggerIndex) const
Definition: HLTConfigProvider.h:70
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::InputTag
Definition: InputTag.h:15
L1Muon2RecoTreeProducer::VtxToken_
edm::EDGetTokenT< reco::VertexCollection > VtxToken_
Definition: L1Muon2RecoTreeProducer.cc:118