CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
AlCaIsoTracksProducer Class Reference
Inheritance diagram for AlCaIsoTracksProducer:
edm::stream::EDProducer< edm::GlobalCache< AlCaIsoTracks::Counters > >

Public Member Functions

 AlCaIsoTracksProducer (edm::ParameterSet const &, const AlCaIsoTracks::Counters *count)
 
void endStream () override
 
void produce (edm::Event &, edm::EventSetup const &) override
 
 ~AlCaIsoTracksProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< AlCaIsoTracks::Counters > >
 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
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
static void globalEndJob (const AlCaIsoTracks::Counters *counters)
 
static std::unique_ptr< AlCaIsoTracks::CountersinitializeGlobalCache (edm::ParameterSet const &)
 

Private Member Functions

void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
reco::HcalIsolatedTrackCandidateCollectionselect (edm::Handle< edm::TriggerResults > &triggerResults, const std::vector< std::string > &triggerNames_, edm::Handle< reco::TrackCollection > &trkCollection, math::XYZPoint &leadPV, edm::Handle< EcalRecHitCollection > &barrelRecHitsHandle, edm::Handle< EcalRecHitCollection > &endcapRecHitsHandle, edm::Handle< HBHERecHitCollection > &hbhe, double ptL1, double etaL1, double phiL1)
 
void setPtEtaPhi (std::vector< edm::Ref< l1extra::L1JetParticleCollection > > &objref, double &ptL1, double &etaL1, double &phiL1)
 

Private Attributes

double a_charIsoR_
 
const double a_coneR_
 
const double a_mipR_
 
const MagneticFieldbField
 
const double eEcalMax_
 
const double eIsolate_
 
const CaloGeometrygeo
 
HLTConfigProvider hltConfig_
 
const edm::InputTag labelBS_
 
const edm::InputTag labelEB_
 
const edm::InputTag labelEE_
 
const edm::InputTag labelGenTrack_
 
const edm::InputTag labelHBHE_
 
const edm::InputTag labelHltGT_
 
const std::string labelIsoTk_
 
const edm::InputTag labelRecVtx_
 
const edm::InputTag labelTriggerEvent_
 
const edm::InputTag labelTriggerResults_
 
const double maxRestrictionP_
 
unsigned int nAll_
 
unsigned int nGood_
 
unsigned int nRange_
 
unsigned int nRun_
 
const int preScale_
 
const std::string processName_
 
const double pTrackHigh_
 
const double pTrackLow_
 
const double pTrackMin_
 
spr::trackSelectionParameters selectionParameter_
 
const double slopeRestrictionP_
 
const std::string theTrackQuality_
 
edm::EDGetTokenT< reco::BeamSpottok_bs_
 
edm::EDGetTokenT< EcalRecHitCollectiontok_EB_
 
edm::EDGetTokenT< EcalRecHitCollectiontok_EE_
 
edm::EDGetTokenT< reco::TrackCollectiontok_genTrack_
 
edm::ESGetToken< CaloGeometry, CaloGeometryRecordtok_geom_
 
edm::EDGetTokenT< HBHERecHitCollectiontok_hbhe_
 
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefstok_hltGT_
 
edm::ESGetToken< MagneticField, IdealMagneticFieldRecordtok_magField_
 
edm::EDGetTokenT< reco::VertexCollectiontok_recVtx_
 
edm::EDGetTokenT< trigger::TriggerEventtok_trigEvt_
 
edm::EDGetTokenT< edm::TriggerResultstok_trigRes_
 
const std::vector< std::string > trigNames_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< AlCaIsoTracks::Counters > >
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
 

Detailed Description

Definition at line 85 of file AlCaIsoTracksProducer.cc.

Constructor & Destructor Documentation

◆ AlCaIsoTracksProducer()

AlCaIsoTracksProducer::AlCaIsoTracksProducer ( edm::ParameterSet const &  iConfig,
const AlCaIsoTracks::Counters count 
)
explicit

Definition at line 149 of file AlCaIsoTracksProducer.cc.

150  : nRun_(0),
151  nAll_(0),
152  nGood_(0),
153  nRange_(0),
154  trigNames_(iConfig.getParameter<std::vector<std::string> >("triggers")),
155  theTrackQuality_(iConfig.getParameter<std::string>("trackQuality")),
156  processName_(iConfig.getParameter<std::string>("processName")),
157  a_coneR_(iConfig.getParameter<double>("coneRadius")),
158  a_mipR_(iConfig.getParameter<double>("coneRadiusMIP")),
159  maxRestrictionP_(iConfig.getParameter<double>("maxTrackP")),
160  slopeRestrictionP_(iConfig.getParameter<double>("slopeTrackP")),
161  pTrackMin_(iConfig.getParameter<double>("minimumTrackP")),
162  eEcalMax_(iConfig.getParameter<double>("maximumEcalEnergy")),
163  eIsolate_(iConfig.getParameter<double>("isolationEnergy")),
164  pTrackLow_(iConfig.getParameter<double>("momentumRangeLow")),
165  pTrackHigh_(iConfig.getParameter<double>("momentumRangeHigh")),
166  preScale_(iConfig.getParameter<int>("preScaleFactor")),
167  labelGenTrack_(iConfig.getParameter<edm::InputTag>("TrackLabel")),
168  labelRecVtx_(iConfig.getParameter<edm::InputTag>("VertexLabel")),
169  labelBS_(iConfig.getParameter<edm::InputTag>("BeamSpotLabel")),
170  labelEB_(iConfig.getParameter<edm::InputTag>("EBRecHitLabel")),
171  labelEE_(iConfig.getParameter<edm::InputTag>("EERecHitLabel")),
172  labelHBHE_(iConfig.getParameter<edm::InputTag>("HBHERecHitLabel")),
173  labelHltGT_(iConfig.getParameter<edm::InputTag>("L1GTSeedLabel")),
174  labelTriggerEvent_(iConfig.getParameter<edm::InputTag>("TriggerEventLabel")),
175  labelTriggerResults_(iConfig.getParameter<edm::InputTag>("TriggerResultLabel")),
176  labelIsoTk_(iConfig.getParameter<std::string>("IsoTrackLabel")) {
177  // Get the run parameters
178  // Different isolation cuts are described in DN-2016/029
179  // Tight cut uses 2 GeV; Loose cut uses 10 GeV
180  // Eta dependent cut uses (maxRestrictionP_ * exp(|ieta|*log(2.5)/18))
181  // with the factor for exponential slopeRestrictionP_ = log(2.5)/18
182  // maxRestrictionP_ = 8 GeV as came from a study
183  const double isolationRadius(28.9);
184  selectionParameter_.minPt = iConfig.getParameter<double>("minTrackPt");
185  ;
187  selectionParameter_.maxDxyPV = iConfig.getParameter<double>("maxDxyPV");
188  selectionParameter_.maxDzPV = iConfig.getParameter<double>("maxDzPV");
189  selectionParameter_.maxChi2 = iConfig.getParameter<double>("maxChi2");
190  selectionParameter_.maxDpOverP = iConfig.getParameter<double>("maxDpOverP");
191  selectionParameter_.minOuterHit = iConfig.getParameter<int>("minOuterHit");
192  selectionParameter_.minLayerCrossed = iConfig.getParameter<int>("minLayerCrossed");
193  selectionParameter_.maxInMiss = iConfig.getParameter<int>("maxInMiss");
194  selectionParameter_.maxOutMiss = iConfig.getParameter<int>("maxOutMiss");
195  a_charIsoR_ = a_coneR_ + isolationRadius;
196 
197  // define tokens for access
198  tok_hltGT_ = consumes<trigger::TriggerFilterObjectWithRefs>(labelHltGT_);
199  tok_trigEvt_ = consumes<trigger::TriggerEvent>(labelTriggerEvent_);
200  tok_trigRes_ = consumes<edm::TriggerResults>(labelTriggerResults_);
201  tok_genTrack_ = consumes<reco::TrackCollection>(labelGenTrack_);
202  tok_recVtx_ = consumes<reco::VertexCollection>(labelRecVtx_);
203  tok_bs_ = consumes<reco::BeamSpot>(labelBS_);
204  tok_EB_ = consumes<EcalRecHitCollection>(labelEB_);
205  tok_EE_ = consumes<EcalRecHitCollection>(labelEE_);
206  tok_hbhe_ = consumes<HBHERecHitCollection>(labelHBHE_);
207  // for event setup
208  tok_geom_ = esConsumes<CaloGeometry, CaloGeometryRecord, edm::Transition::BeginRun>();
209  tok_magField_ = esConsumes<MagneticField, IdealMagneticFieldRecord, edm::Transition::BeginRun>();
210 
211  edm::LogVerbatim("HcalIsoTrack") << "Parameters read from config file \n"
212  << "\t minPt " << selectionParameter_.minPt << "\t theTrackQuality "
213  << theTrackQuality_ << "\t minQuality " << selectionParameter_.minQuality
214  << "\t maxDxyPV " << selectionParameter_.maxDxyPV << "\t maxDzPV "
216  << "\t maxDpOverP " << selectionParameter_.maxDpOverP << "\t minOuterHit "
217  << selectionParameter_.minOuterHit << "\t minLayerCrossed "
218  << selectionParameter_.minLayerCrossed << "\t maxInMiss "
219  << selectionParameter_.maxInMiss << "\t maxOutMiss "
221  << "\t a_coneR " << a_coneR_ << "\t a_charIsoR " << a_charIsoR_ << "\t a_mipR "
222  << a_mipR_ << "\t pTrackMin " << pTrackMin_ << "\t eEcalMax " << eEcalMax_
223  << "\t maxRestrictionP_ " << maxRestrictionP_ << "\t slopeRestrictionP_ "
224  << slopeRestrictionP_ << "\t eIsolate_ " << eIsolate_ << "\t Process "
225  << processName_ << "\n"
226  << "\t Precale factor " << preScale_ << "\t in momentum range " << pTrackLow_ << ":"
227  << pTrackHigh_;
228  for (unsigned int k = 0; k < trigNames_.size(); ++k)
229  edm::LogVerbatim("HcalIsoTrack") << "Trigger[" << k << "] " << trigNames_[k];
230 
231  //create also IsolatedPixelTrackCandidateCollection which contains isolation info and reference to primary track
232  produces<reco::HcalIsolatedTrackCandidateCollection>(labelIsoTk_);
233  produces<reco::VertexCollection>(labelRecVtx_.label());
234  produces<EcalRecHitCollection>(labelEB_.instance());
235  produces<EcalRecHitCollection>(labelEE_.instance());
236  produces<HBHERecHitCollection>(labelHBHE_.label());
237 
238  edm::LogVerbatim("HcalIsoTrack") << " Expected to produce the collections:\n"
239  << "reco::HcalIsolatedTrackCandidateCollection "
240  << " with label HcalIsolatedTrackCollection\n"
241  << "reco::VertexCollection with label " << labelRecVtx_.label() << "\n"
242  << "EcalRecHitCollection with label EcalRecHitsEB\n"
243  << "EcalRecHitCollection with label EcalRecHitsEE\n"
244  << "HBHERecHitCollection with label " << labelHBHE_.label();
245 }

References a_charIsoR_, a_coneR_, a_mipR_, eEcalMax_, eIsolate_, edm::ParameterSet::getParameter(), edm::InputTag::instance(), dqmdumpme::k, edm::InputTag::label(), labelBS_, labelEB_, labelEE_, labelGenTrack_, labelHBHE_, labelHltGT_, labelIsoTk_, labelRecVtx_, labelTriggerEvent_, labelTriggerResults_, spr::trackSelectionParameters::maxChi2, spr::trackSelectionParameters::maxDpOverP, spr::trackSelectionParameters::maxDxyPV, spr::trackSelectionParameters::maxDzPV, spr::trackSelectionParameters::maxInMiss, spr::trackSelectionParameters::maxOutMiss, maxRestrictionP_, spr::trackSelectionParameters::minLayerCrossed, spr::trackSelectionParameters::minOuterHit, spr::trackSelectionParameters::minPt, spr::trackSelectionParameters::minQuality, preScale_, processName_, pTrackHigh_, pTrackLow_, pTrackMin_, reco::TrackBase::qualityByName(), selectionParameter_, slopeRestrictionP_, theTrackQuality_, tok_bs_, tok_EB_, tok_EE_, tok_genTrack_, tok_geom_, tok_hbhe_, tok_hltGT_, tok_magField_, tok_recVtx_, tok_trigEvt_, tok_trigRes_, and trigNames_.

◆ ~AlCaIsoTracksProducer()

AlCaIsoTracksProducer::~AlCaIsoTracksProducer ( )
override

Definition at line 247 of file AlCaIsoTracksProducer.cc.

247 {}

Member Function Documentation

◆ beginRun()

void AlCaIsoTracksProducer::beginRun ( edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprivate

Definition at line 472 of file AlCaIsoTracksProducer.cc.

472  {
473  bool changed(false);
474  edm::LogVerbatim("HcalIsoTrack") << "Run[" << nRun_ << "] " << iRun.run() << " hltconfig.init "
475  << hltConfig_.init(iRun, iSetup, processName_, changed);
476 
477  bField = &(iSetup.getData(tok_magField_));
478  geo = &(iSetup.getData(tok_geom_));
479 }

References bField, geo, edm::EventSetup::getData(), hltConfig_, HLTConfigProvider::init(), nRun_, processName_, edm::RunBase::run(), tok_geom_, and tok_magField_.

◆ endRun()

void AlCaIsoTracksProducer::endRun ( edm::Run const &  iRun,
edm::EventSetup const &   
)
overrideprivate

Definition at line 481 of file AlCaIsoTracksProducer.cc.

481  {
482  edm::LogVerbatim("HcalIsoTrack") << "endRun [" << nRun_ << "] " << iRun.run();
483  ++nRun_;
484 }

References nRun_, and edm::RunBase::run().

◆ endStream()

void AlCaIsoTracksProducer::endStream ( )
override

Definition at line 461 of file AlCaIsoTracksProducer.cc.

461  {
462  globalCache()->nAll_ += nAll_;
463  globalCache()->nGood_ += nGood_;
464  globalCache()->nRange_ += nRange_;
465 }

References nAll_, nGood_, and nRange_.

◆ fillDescriptions()

void AlCaIsoTracksProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 249 of file AlCaIsoTracksProducer.cc.

249  {
251  // producer for (HCAL isolated tracks)
252  desc.add<edm::InputTag>("TrackLabel", edm::InputTag("generalTracks"));
253  desc.add<edm::InputTag>("VertexLabel", edm::InputTag("offlinePrimaryVertices"));
254  desc.add<edm::InputTag>("BeamSpotLabel", edm::InputTag("offlineBeamSpot"));
255  desc.add<edm::InputTag>("EBRecHitLabel", edm::InputTag("ecalRecHit", "EcalRecHitsEB"));
256  desc.add<edm::InputTag>("EERecHitLabel", edm::InputTag("ecalRecHit", "EcalRecHitsEE"));
257  desc.add<edm::InputTag>("HBHERecHitLabel", edm::InputTag("hbhereco"));
258  desc.add<edm::InputTag>("L1GTSeedLabel", edm::InputTag("hltL1sV0SingleJet60"));
259  desc.add<edm::InputTag>("TriggerEventLabel", edm::InputTag("hltTriggerSummaryAOD", "", "HLT"));
260  desc.add<edm::InputTag>("TriggerResultLabel", edm::InputTag("TriggerResults", "", "HLT"));
261  desc.add<std::string>("IsoTrackLabel", "HcalIsolatedTrackCollection");
262  std::vector<std::string> triggers = {"HLT_IsoTrackHB", "HLT_IsoTrackHE"};
263  desc.add<std::vector<std::string> >("triggers", triggers);
264  desc.add<std::string>("processName", "HLT");
265  // following 10 parameters are parameters to select good tracks
266  desc.add<std::string>("trackQuality", "highPurity");
267  desc.add<double>("minTrackPt", 1.0);
268  desc.add<double>("maxDxyPV", 10.0);
269  desc.add<double>("maxDzPV", 100.0);
270  desc.add<double>("maxChi2", 5.0);
271  desc.add<double>("maxDpOverP", 0.1);
272  desc.add<int>("minOuterHit", 4);
273  desc.add<int>("minLayerCrossed", 8);
274  desc.add<int>("maxInMiss", 2);
275  desc.add<int>("maxOutMiss", 2);
276  // Minimum momentum of selected isolated track and signal zone
277  desc.add<double>("coneRadius", 34.98);
278  desc.add<double>("minimumTrackP", 20.0);
279  // signal zone in ECAL and MIP energy cutoff
280  desc.add<double>("coneRadiusMIP", 14.0);
281  desc.add<double>("maximumEcalEnergy", 2.0);
282  // following 3 parameters are for isolation cuts and described in the code
283  desc.add<double>("maxTrackP", 8.0);
284  desc.add<double>("slopeTrackP", 0.05090504066);
285  desc.add<double>("isolationEnergy", 10.0);
286  // Prescale events only containing isolated tracks in the range
287  desc.add<double>("momentumRangeLow", 20.0);
288  desc.add<double>("momentumRangeHigh", 40.0);
289  desc.add<int>("preScaleFactor", 1);
290  descriptions.add("alcaisotrk", desc);
291 }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ globalEndJob()

void AlCaIsoTracksProducer::globalEndJob ( const AlCaIsoTracks::Counters counters)
static

Definition at line 467 of file AlCaIsoTracksProducer.cc.

467  {
468  edm::LogVerbatim("HcalIsoTrack") << "Finds " << count->nGood_ << " good tracks in " << count->nAll_ << " events and "
469  << count->nRange_ << " events in the momentum raange";
470 }

References submitPVResolutionJobs::count.

◆ initializeGlobalCache()

static std::unique_ptr<AlCaIsoTracks::Counters> AlCaIsoTracksProducer::initializeGlobalCache ( edm::ParameterSet const &  )
inlinestatic

Definition at line 90 of file AlCaIsoTracksProducer.cc.

90  {
91  return std::make_unique<AlCaIsoTracks::Counters>();
92  }

◆ produce()

void AlCaIsoTracksProducer::produce ( edm::Event iEvent,
edm::EventSetup const &  iSetup 
)
override

Definition at line 293 of file AlCaIsoTracksProducer.cc.

293  {
294  nAll_++;
295 #ifdef EDM_ML_DEBUG
296  edm::LogVerbatim("HcalIsoTrack") << "Run " << iEvent.id().run() << " Event " << iEvent.id().event() << " Luminosity "
297  << iEvent.luminosityBlock() << " Bunch " << iEvent.bunchCrossing();
298 #endif
299  bool valid(true);
300  //Step1: Get all the relevant containers
302  edm::Handle<trigger::TriggerEvent> triggerEventHandle;
303  iEvent.getByToken(tok_trigEvt_, triggerEventHandle);
304  if (!triggerEventHandle.isValid()) {
305  edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelTriggerEvent_;
306  valid = false;
307  }
309  iEvent.getByToken(tok_trigRes_, triggerResults);
310  if (!triggerResults.isValid()) {
311  edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelTriggerResults_;
312  valid = false;
313  }
314 
316  iEvent.getByToken(tok_genTrack_, trkCollection);
317  if (!trkCollection.isValid()) {
318  edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelGenTrack_;
319  valid = false;
320  }
321 
323  iEvent.getByToken(tok_recVtx_, recVtxs);
324  if (!recVtxs.isValid()) {
325  edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelGenTrack_;
326  valid = false;
327  }
328 
329  edm::Handle<reco::BeamSpot> beamSpotH;
330  iEvent.getByToken(tok_bs_, beamSpotH);
331  math::XYZPoint leadPV(0, 0, 0);
332  if (valid) {
333  if (!recVtxs->empty() && !((*recVtxs)[0].isFake())) {
334  leadPV = math::XYZPoint((*recVtxs)[0].x(), (*recVtxs)[0].y(), (*recVtxs)[0].z());
335  } else if (beamSpotH.isValid()) {
336  leadPV = beamSpotH->position();
337  }
338  }
339 #ifdef EDM_ML_DEBUG
340  edm::LogVerbatim("HcalIsoTrack") << "Primary Vertex " << leadPV;
341 #endif
342 
343  edm::Handle<EcalRecHitCollection> barrelRecHitsHandle;
344  iEvent.getByToken(tok_EB_, barrelRecHitsHandle);
345  if (!barrelRecHitsHandle.isValid()) {
346  edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelEB_;
347  valid = false;
348  }
349  edm::Handle<EcalRecHitCollection> endcapRecHitsHandle;
350  iEvent.getByToken(tok_EE_, endcapRecHitsHandle);
351  if (!endcapRecHitsHandle.isValid()) {
352  edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelEE_;
353  valid = false;
354  }
356  iEvent.getByToken(tok_hbhe_, hbhe);
357  if (!hbhe.isValid()) {
358  edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelHBHE_;
359  valid = false;
360  }
361 
362  //Get L1 trigger object
363  double ptL1(0), etaL1(0), phiL1(0);
365  iEvent.getByToken(tok_hltGT_, l1trigobj);
366 
367  if (l1trigobj.isValid()) {
368  std::vector<edm::Ref<l1extra::L1JetParticleCollection> > l1tauobjref;
369  l1trigobj->getObjects(trigger::TriggerL1TauJet, l1tauobjref);
370  setPtEtaPhi(l1tauobjref, ptL1, etaL1, phiL1);
371 
372  std::vector<edm::Ref<l1extra::L1JetParticleCollection> > l1jetobjref;
373  l1trigobj->getObjects(trigger::TriggerL1CenJet, l1jetobjref);
374  setPtEtaPhi(l1jetobjref, ptL1, etaL1, phiL1);
375 
376  std::vector<edm::Ref<l1extra::L1JetParticleCollection> > l1forjetobjref;
377  l1trigobj->getObjects(trigger::TriggerL1ForJet, l1forjetobjref);
378  setPtEtaPhi(l1forjetobjref, ptL1, etaL1, phiL1);
379  } else {
380  valid = false;
381  }
382 
383  auto outputHcalIsoTrackColl = std::make_unique<reco::HcalIsolatedTrackCandidateCollection>();
384  auto outputVColl = std::make_unique<reco::VertexCollection>();
385  auto outputEBColl = std::make_unique<EBRecHitCollection>();
386  auto outputEEColl = std::make_unique<EERecHitCollection>();
387  auto outputHBHEColl = std::make_unique<HBHERecHitCollection>();
388 
389  //For valid HLT record
390  if (!valid) {
391  edm::LogWarning("HcalIsoTrack") << "Error! Can't get some of the products";
392  } else {
393  trigger::TriggerEvent triggerEvent = *(triggerEventHandle.product());
394  if (triggerResults.isValid()) {
395  const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults);
396  const std::vector<std::string>& triggerNames_ = triggerNames.triggerNames();
398  triggerNames_,
399  trkCollection,
400  leadPV,
401  barrelRecHitsHandle,
402  endcapRecHitsHandle,
403  hbhe,
404  ptL1,
405  etaL1,
406  phiL1);
407 #ifdef EDM_ML_DEBUG
408  edm::LogVerbatim("HcalIsoTrack") << "AlCaIsoTracksProducer::select returns " << isotk->size()
409  << " isolated tracks";
410 #endif
411 
412  if (!isotk->empty()) {
413  int ntrin(0), ntrout(0);
414  for (reco::HcalIsolatedTrackCandidateCollection::const_iterator itr = isotk->begin(); itr != isotk->end();
415  ++itr) {
416  if (itr->p() > pTrackLow_ && itr->p() < pTrackHigh_)
417  ntrin++;
418  else
419  ntrout++;
420  }
421  bool selectEvent = ntrout > 0;
422  if (!selectEvent && ntrin > 0) {
423  ++nRange_;
424  if (preScale_ <= 1)
425  selectEvent = true;
426  else if (nRange_ % preScale_ == 1)
427  selectEvent = true;
428  }
429  if (selectEvent) {
430  for (reco::HcalIsolatedTrackCandidateCollection::const_iterator itr = isotk->begin(); itr != isotk->end();
431  ++itr)
432  outputHcalIsoTrackColl->push_back(*itr);
433 
434  for (reco::VertexCollection::const_iterator vtx = recVtxs->begin(); vtx != recVtxs->end(); ++vtx)
435  outputVColl->push_back(*vtx);
436 
437  for (edm::SortedCollection<EcalRecHit>::const_iterator ehit = barrelRecHitsHandle->begin();
438  ehit != barrelRecHitsHandle->end();
439  ++ehit)
440  outputEBColl->push_back(*ehit);
441 
442  for (edm::SortedCollection<EcalRecHit>::const_iterator ehit = endcapRecHitsHandle->begin();
443  ehit != endcapRecHitsHandle->end();
444  ++ehit)
445  outputEEColl->push_back(*ehit);
446 
447  for (std::vector<HBHERecHit>::const_iterator hhit = hbhe->begin(); hhit != hbhe->end(); ++hhit)
448  outputHBHEColl->push_back(*hhit);
449  ++nGood_;
450  }
451  }
452  }
453  }
454  iEvent.put(std::move(outputHcalIsoTrackColl), labelIsoTk_);
455  iEvent.put(std::move(outputVColl), labelRecVtx_.label());
456  iEvent.put(std::move(outputEBColl), labelEB_.instance());
457  iEvent.put(std::move(outputEEColl), labelEE_.instance());
458  iEvent.put(std::move(outputHBHEColl), labelHBHE_.label());
459 }

References edm::SortedCollection< T, SORT >::begin(), edm::SortedCollection< T, SORT >::end(), trigger::TriggerRefsCollections::getObjects(), photonIsolationHIProducer_cfi::hbhe, iEvent, edm::InputTag::instance(), edm::HandleBase::isValid(), edm::InputTag::label(), labelEB_, labelEE_, labelGenTrack_, labelHBHE_, labelIsoTk_, labelRecVtx_, labelTriggerEvent_, labelTriggerResults_, eostools::move(), nAll_, nGood_, nRange_, reco::BeamSpot::position(), preScale_, edm::Handle< T >::product(), pTrackHigh_, pTrackLow_, select(), setPtEtaPhi(), tok_bs_, tok_EB_, tok_EE_, tok_genTrack_, tok_hbhe_, tok_hltGT_, tok_recVtx_, tok_trigEvt_, tok_trigRes_, PDWG_DiPhoton_SD_cff::triggerEvent, trigger::TriggerL1CenJet, trigger::TriggerL1ForJet, trigger::TriggerL1TauJet, L1TEGammaOffline_cfi::triggerNames, triggerResults, RunInfoPI::valid, extraflags_cff::vtx, x, y, and z.

◆ select()

reco::HcalIsolatedTrackCandidateCollection * AlCaIsoTracksProducer::select ( edm::Handle< edm::TriggerResults > &  triggerResults,
const std::vector< std::string > &  triggerNames_,
edm::Handle< reco::TrackCollection > &  trkCollection,
math::XYZPoint leadPV,
edm::Handle< EcalRecHitCollection > &  barrelRecHitsHandle,
edm::Handle< EcalRecHitCollection > &  endcapRecHitsHandle,
edm::Handle< HBHERecHitCollection > &  hbhe,
double  ptL1,
double  etaL1,
double  phiL1 
)
private

Definition at line 486 of file AlCaIsoTracksProducer.cc.

496  {
498  bool ok(false);
499 
500  // Find a good HLT trigger
501  for (unsigned int iHLT = 0; iHLT < triggerResults->size(); iHLT++) {
502  int hlt = triggerResults->accept(iHLT);
503  for (unsigned int i = 0; i < trigNames_.size(); ++i) {
504  if (triggerNames_[iHLT].find(trigNames_[i]) != std::string::npos) {
505  if (hlt > 0) {
506  ok = true;
507  }
508  edm::LogVerbatim("HcalIsoTrack") << "The trigger we are looking for " << triggerNames_[iHLT] << " Flag " << hlt
509  << ":" << ok;
510  }
511  }
512  }
513 
514  //Propagate tracks to calorimeter surface)
515  std::vector<spr::propagatedTrackDirection> trkCaloDirections;
516  spr::propagateCALO(trkCollection, geo, bField, theTrackQuality_, trkCaloDirections, false);
517 
518  std::vector<spr::propagatedTrackDirection>::const_iterator trkDetItr;
519  unsigned int nTracks(0), nselTracks(0);
520  for (trkDetItr = trkCaloDirections.begin(), nTracks = 0; trkDetItr != trkCaloDirections.end();
521  trkDetItr++, nTracks++) {
522  const reco::Track* pTrack = &(*(trkDetItr->trkItr));
523  math::XYZTLorentzVector v4(pTrack->px(), pTrack->py(), pTrack->pz(), pTrack->p());
524 #ifdef EDM_ML_DEBUG
525  edm::LogVerbatim("HcalIsoTrack") << "This track : " << nTracks << " (pt|eta|phi|p) :" << pTrack->pt() << "|"
526  << pTrack->eta() << "|" << pTrack->phi() << "|" << pTrack->p();
527 #endif
528  //Selection of good track
529  bool qltyFlag = spr::goodTrack(pTrack, leadPV, selectionParameter_, false);
530 #ifdef EDM_ML_DEBUG
531  edm::LogVerbatim("HcalIsoTrack") << "qltyFlag|okECAL|okHCAL : " << qltyFlag << "|" << trkDetItr->okECAL << "|"
532  << trkDetItr->okHCAL;
533 #endif
534  if (qltyFlag && trkDetItr->okECAL && trkDetItr->okHCAL) {
535  double t_p = pTrack->p();
536  nselTracks++;
537  int nRH_eMipDR(0), nNearTRKs(0);
538  double eMipDR = spr::eCone_ecal(geo,
539  barrelRecHitsHandle,
540  endcapRecHitsHandle,
541  trkDetItr->pointHCAL,
542  trkDetItr->pointECAL,
543  a_mipR_,
544  trkDetItr->directionECAL,
545  nRH_eMipDR);
546  double hmaxNearP = spr::chargeIsolationCone(nTracks, trkCaloDirections, a_charIsoR_, nNearTRKs, false);
547  HcalDetId detId = (HcalDetId)(trkDetItr->detIdHCAL);
548  int ieta = detId.ietaAbs();
549  double eIsolation = (maxRestrictionP_ * exp(slopeRestrictionP_ * ((double)(ieta))));
550  if (eIsolation < eIsolate_)
551  eIsolation = eIsolate_;
552 #ifdef EDM_ML_DEBUG
553  edm::LogVerbatim("HcalIsoTrack") << "This track : " << nTracks << " (pt|eta|phi|p) :" << pTrack->pt() << "|"
554  << pTrack->eta() << "|" << pTrack->phi() << "|" << t_p << " e_MIP " << eMipDR
555  << " Chg Isolation " << hmaxNearP << ":" << eIsolation;
556 #endif
557  if (t_p > pTrackMin_ && eMipDR < eEcalMax_ && hmaxNearP < eIsolation) {
558  reco::HcalIsolatedTrackCandidate newCandidate(v4);
559  newCandidate.SetMaxP(hmaxNearP);
560  newCandidate.SetEnergyEcal(eMipDR);
561  newCandidate.setL1(ptL1, etaL1, phiL1);
562  newCandidate.SetEtaPhiEcal((trkDetItr->pointECAL).eta(), (trkDetItr->pointECAL).phi());
563  HcalDetId detId = HcalDetId(trkDetItr->detIdHCAL);
564  newCandidate.SetEtaPhiHcal(
565  (trkDetItr->pointHCAL).eta(), (trkDetItr->pointHCAL).phi(), detId.ieta(), detId.iphi());
566  int indx(0);
567  for (reco::TrackCollection::const_iterator trkItr1 = trkCollection->begin(); trkItr1 != trkCollection->end();
568  ++trkItr1, ++indx) {
569  const reco::Track* pTrack1 = &(*trkItr1);
570  if (pTrack1 == pTrack) {
571  reco::TrackRef tRef = reco::TrackRef(trkCollection, indx);
572  newCandidate.setTrack(tRef);
573  break;
574  }
575  }
576  trackCollection->push_back(newCandidate);
577  }
578  }
579  }
580  return trackCollection;
581 }

References a_charIsoR_, a_mipR_, bField, spr::chargeIsolationCone(), spr::eCone_ecal(), eEcalMax_, eIsolate_, reco::TrackBase::eta(), JetChargeProducer_cfi::exp, spr::find(), geo, spr::goodTrack(), ValidationMatrix::hlt, mps_fire::i, LEDCalibrationChannels::ieta, HcalDetId::ieta(), HcalDetId::ietaAbs(), HcalDetId::iphi(), maxRestrictionP_, BeamSpotPI::nTracks, convertSQLiteXML::ok, reco::TrackBase::p(), phi, reco::TrackBase::phi(), spr::propagateCALO(), reco::TrackBase::pt(), pTrackMin_, reco::TrackBase::px(), reco::TrackBase::py(), reco::TrackBase::pz(), selectionParameter_, reco::HcalIsolatedTrackCandidate::SetEnergyEcal(), reco::HcalIsolatedTrackCandidate::SetEtaPhiEcal(), reco::HcalIsolatedTrackCandidate::SetEtaPhiHcal(), reco::HcalIsolatedTrackCandidate::setL1(), reco::HcalIsolatedTrackCandidate::SetMaxP(), reco::HcalIsolatedTrackCandidate::setTrack(), slopeRestrictionP_, theTrackQuality_, duplicaterechits_cfi::trackCollection, triggerResults, and trigNames_.

Referenced by produce().

◆ setPtEtaPhi()

void AlCaIsoTracksProducer::setPtEtaPhi ( std::vector< edm::Ref< l1extra::L1JetParticleCollection > > &  objref,
double &  ptL1,
double &  etaL1,
double &  phiL1 
)
private

Definition at line 583 of file AlCaIsoTracksProducer.cc.

586  {
587  for (unsigned int p = 0; p < objref.size(); p++) {
588  if (objref[p]->pt() > ptL1) {
589  ptL1 = objref[p]->pt();
590  phiL1 = objref[p]->phi();
591  etaL1 = objref[p]->eta();
592  }
593  }
594 }

References AlCaHLTBitMon_ParallelJobs::p, and DiDispStaMuonMonitor_cfi::pt.

Referenced by produce().

Member Data Documentation

◆ a_charIsoR_

double AlCaIsoTracksProducer::a_charIsoR_
private

Definition at line 132 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ a_coneR_

const double AlCaIsoTracksProducer::a_coneR_
private

Definition at line 123 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer().

◆ a_mipR_

const double AlCaIsoTracksProducer::a_mipR_
private

Definition at line 123 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ bField

const MagneticField* AlCaIsoTracksProducer::bField
private

Definition at line 133 of file AlCaIsoTracksProducer.cc.

Referenced by beginRun(), and select().

◆ eEcalMax_

const double AlCaIsoTracksProducer::eEcalMax_
private

Definition at line 125 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ eIsolate_

const double AlCaIsoTracksProducer::eIsolate_
private

Definition at line 125 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ geo

const CaloGeometry* AlCaIsoTracksProducer::geo
private

Definition at line 134 of file AlCaIsoTracksProducer.cc.

Referenced by beginRun(), and select().

◆ hltConfig_

HLTConfigProvider AlCaIsoTracksProducer::hltConfig_
private

Definition at line 118 of file AlCaIsoTracksProducer.cc.

Referenced by beginRun().

◆ labelBS_

const edm::InputTag AlCaIsoTracksProducer::labelBS_
private

Definition at line 128 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer().

◆ labelEB_

const edm::InputTag AlCaIsoTracksProducer::labelEB_
private

Definition at line 129 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelEE_

const edm::InputTag AlCaIsoTracksProducer::labelEE_
private

Definition at line 129 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelGenTrack_

const edm::InputTag AlCaIsoTracksProducer::labelGenTrack_
private

Definition at line 128 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelHBHE_

const edm::InputTag AlCaIsoTracksProducer::labelHBHE_
private

Definition at line 129 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelHltGT_

const edm::InputTag AlCaIsoTracksProducer::labelHltGT_
private

Definition at line 129 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer().

◆ labelIsoTk_

const std::string AlCaIsoTracksProducer::labelIsoTk_
private

Definition at line 131 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelRecVtx_

const edm::InputTag AlCaIsoTracksProducer::labelRecVtx_
private

Definition at line 128 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelTriggerEvent_

const edm::InputTag AlCaIsoTracksProducer::labelTriggerEvent_
private

Definition at line 130 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelTriggerResults_

const edm::InputTag AlCaIsoTracksProducer::labelTriggerResults_
private

Definition at line 130 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ maxRestrictionP_

const double AlCaIsoTracksProducer::maxRestrictionP_
private

Definition at line 124 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ nAll_

unsigned int AlCaIsoTracksProducer::nAll_
private

Definition at line 119 of file AlCaIsoTracksProducer.cc.

Referenced by endStream(), and produce().

◆ nGood_

unsigned int AlCaIsoTracksProducer::nGood_
private

Definition at line 119 of file AlCaIsoTracksProducer.cc.

Referenced by endStream(), and produce().

◆ nRange_

unsigned int AlCaIsoTracksProducer::nRange_
private

Definition at line 119 of file AlCaIsoTracksProducer.cc.

Referenced by endStream(), and produce().

◆ nRun_

unsigned int AlCaIsoTracksProducer::nRun_
private

Definition at line 119 of file AlCaIsoTracksProducer.cc.

Referenced by beginRun(), and endRun().

◆ preScale_

const int AlCaIsoTracksProducer::preScale_
private

Definition at line 127 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ processName_

const std::string AlCaIsoTracksProducer::processName_
private

Definition at line 122 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and beginRun().

◆ pTrackHigh_

const double AlCaIsoTracksProducer::pTrackHigh_
private

Definition at line 126 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ pTrackLow_

const double AlCaIsoTracksProducer::pTrackLow_
private

Definition at line 126 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ pTrackMin_

const double AlCaIsoTracksProducer::pTrackMin_
private

Definition at line 125 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ selectionParameter_

spr::trackSelectionParameters AlCaIsoTracksProducer::selectionParameter_
private

Definition at line 120 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ slopeRestrictionP_

const double AlCaIsoTracksProducer::slopeRestrictionP_
private

Definition at line 124 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ theTrackQuality_

const std::string AlCaIsoTracksProducer::theTrackQuality_
private

Definition at line 122 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ tok_bs_

edm::EDGetTokenT<reco::BeamSpot> AlCaIsoTracksProducer::tok_bs_
private

Definition at line 141 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_EB_

edm::EDGetTokenT<EcalRecHitCollection> AlCaIsoTracksProducer::tok_EB_
private

Definition at line 142 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_EE_

edm::EDGetTokenT<EcalRecHitCollection> AlCaIsoTracksProducer::tok_EE_
private

Definition at line 143 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_genTrack_

edm::EDGetTokenT<reco::TrackCollection> AlCaIsoTracksProducer::tok_genTrack_
private

Definition at line 139 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_geom_

edm::ESGetToken<CaloGeometry, CaloGeometryRecord> AlCaIsoTracksProducer::tok_geom_
private

Definition at line 145 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and beginRun().

◆ tok_hbhe_

edm::EDGetTokenT<HBHERecHitCollection> AlCaIsoTracksProducer::tok_hbhe_
private

Definition at line 144 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_hltGT_

edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> AlCaIsoTracksProducer::tok_hltGT_
private

Definition at line 136 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_magField_

edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> AlCaIsoTracksProducer::tok_magField_
private

Definition at line 146 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and beginRun().

◆ tok_recVtx_

edm::EDGetTokenT<reco::VertexCollection> AlCaIsoTracksProducer::tok_recVtx_
private

Definition at line 140 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_trigEvt_

edm::EDGetTokenT<trigger::TriggerEvent> AlCaIsoTracksProducer::tok_trigEvt_
private

Definition at line 137 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_trigRes_

edm::EDGetTokenT<edm::TriggerResults> AlCaIsoTracksProducer::tok_trigRes_
private

Definition at line 138 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ trigNames_

const std::vector<std::string> AlCaIsoTracksProducer::trigNames_
private

Definition at line 121 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

spr::trackSelectionParameters::maxDxyPV
double maxDxyPV
Definition: TrackSelection.h:22
AlCaIsoTracksProducer::tok_EB_
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
Definition: AlCaIsoTracksProducer.cc:142
DDAxes::y
mps_fire.i
i
Definition: mps_fire.py:428
edm::SortedCollection::const_iterator
std::vector< T >::const_iterator const_iterator
Definition: SortedCollection.h:80
edm::Handle::product
T const * product() const
Definition: Handle.h:70
AlCaIsoTracksProducer::tok_geom_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
Definition: AlCaIsoTracksProducer.cc:145
edm::InputTag::instance
std::string const & instance() const
Definition: InputTag.h:37
AlCaIsoTracksProducer::labelRecVtx_
const edm::InputTag labelRecVtx_
Definition: AlCaIsoTracksProducer.cc:128
spr::trackSelectionParameters::maxDzPV
double maxDzPV
Definition: TrackSelection.h:22
HcalDetId::iphi
constexpr int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
spr::trackSelectionParameters::maxChi2
double maxChi2
Definition: TrackSelection.h:22
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
reco::TrackBase::p
double p() const
momentum vector magnitude
Definition: TrackBase.h:631
trigger::TriggerL1ForJet
Definition: TriggerTypeDefs.h:34
AlCaIsoTracksProducer::labelEE_
const edm::InputTag labelEE_
Definition: AlCaIsoTracksProducer.cc:129
AlCaIsoTracksProducer::slopeRestrictionP_
const double slopeRestrictionP_
Definition: AlCaIsoTracksProducer.cc:124
AlCaIsoTracksProducer::hltConfig_
HLTConfigProvider hltConfig_
Definition: AlCaIsoTracksProducer.cc:118
AlCaIsoTracksProducer::select
reco::HcalIsolatedTrackCandidateCollection * select(edm::Handle< edm::TriggerResults > &triggerResults, const std::vector< std::string > &triggerNames_, edm::Handle< reco::TrackCollection > &trkCollection, math::XYZPoint &leadPV, edm::Handle< EcalRecHitCollection > &barrelRecHitsHandle, edm::Handle< EcalRecHitCollection > &endcapRecHitsHandle, edm::Handle< HBHERecHitCollection > &hbhe, double ptL1, double etaL1, double phiL1)
Definition: AlCaIsoTracksProducer.cc:486
AlCaIsoTracksProducer::labelBS_
const edm::InputTag labelBS_
Definition: AlCaIsoTracksProducer.cc:128
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
AlCaIsoTracksProducer::tok_hltGT_
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > tok_hltGT_
Definition: AlCaIsoTracksProducer.cc:136
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
triggerResults
static const std::string triggerResults
Definition: EdmProvDump.cc:45
reco::HcalIsolatedTrackCandidate
Definition: HcalIsolatedTrackCandidate.h:21
AlCaIsoTracksProducer::eIsolate_
const double eIsolate_
Definition: AlCaIsoTracksProducer.cc:125
reco::TrackBase::px
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:640
spr::goodTrack
bool goodTrack(const reco::Track *pTrack, math::XYZPoint leadPV, trackSelectionParameters parameters, bool debug=false)
Definition: TrackSelection.cc:10
DDAxes::x
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
BeamSpotPI::nTracks
Definition: BeamSpotPayloadInspectorHelper.h:42
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
edm::Handle< trigger::TriggerEvent >
AlCaIsoTracksProducer::labelHBHE_
const edm::InputTag labelHBHE_
Definition: AlCaIsoTracksProducer.cc:129
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
trigger::TriggerRefsCollections::getObjects
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
Definition: TriggerRefsCollections.h:590
edm::Ref< TrackCollection >
AlCaIsoTracksProducer::tok_recVtx_
edm::EDGetTokenT< reco::VertexCollection > tok_recVtx_
Definition: AlCaIsoTracksProducer.cc:140
AlCaIsoTracksProducer::labelIsoTk_
const std::string labelIsoTk_
Definition: AlCaIsoTracksProducer.cc:131
reco::TrackBase::pt
double pt() const
track transverse momentum
Definition: TrackBase.h:637
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
AlCaIsoTracksProducer::labelHltGT_
const edm::InputTag labelHltGT_
Definition: AlCaIsoTracksProducer.cc:129
AlCaIsoTracksProducer::pTrackLow_
const double pTrackLow_
Definition: AlCaIsoTracksProducer.cc:126
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
reco::TrackBase::py
double py() const
y coordinate of momentum vector
Definition: TrackBase.h:643
L1TEGammaOffline_cfi.triggerNames
triggerNames
Definition: L1TEGammaOffline_cfi.py:40
edm::SortedCollection::begin
const_iterator begin() const
Definition: SortedCollection.h:262
DDAxes::z
reco::Track
Definition: Track.h:27
AlCaIsoTracksProducer::selectionParameter_
spr::trackSelectionParameters selectionParameter_
Definition: AlCaIsoTracksProducer.cc:120
AlCaIsoTracksProducer::nRange_
unsigned int nRange_
Definition: AlCaIsoTracksProducer.cc:119
submitPVResolutionJobs.count
count
Definition: submitPVResolutionJobs.py:352
spr::trackSelectionParameters::minPt
double minPt
Definition: TrackSelection.h:20
spr::trackSelectionParameters::minOuterHit
int minOuterHit
Definition: TrackSelection.h:23
AlCaIsoTracksProducer::tok_EE_
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
Definition: AlCaIsoTracksProducer.cc:143
AlCaIsoTracksProducer::tok_trigRes_
edm::EDGetTokenT< edm::TriggerResults > tok_trigRes_
Definition: AlCaIsoTracksProducer.cc:138
dqmdumpme.k
k
Definition: dqmdumpme.py:60
reco::BeamSpot::position
const Point & position() const
position
Definition: BeamSpot.h:59
AlCaIsoTracksProducer::nAll_
unsigned int nAll_
Definition: AlCaIsoTracksProducer.cc:119
AlCaIsoTracksProducer::pTrackHigh_
const double pTrackHigh_
Definition: AlCaIsoTracksProducer.cc:126
spr::chargeIsolationCone
double chargeIsolationCone(unsigned int trkIndex, std::vector< spr::propagatedTrackDirection > &trkDirs, double dR, int &nNearTRKs, bool debug=false)
Definition: ChargeIsolation.cc:288
AlCaIsoTracksProducer::labelEB_
const edm::InputTag labelEB_
Definition: AlCaIsoTracksProducer.cc:129
reco::TrackBase::phi
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:649
AlCaIsoTracksProducer::preScale_
const int preScale_
Definition: AlCaIsoTracksProducer.cc:127
spr::trackSelectionParameters::maxDpOverP
double maxDpOverP
Definition: TrackSelection.h:22
reco::TrackRef
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
spr::trackSelectionParameters::minLayerCrossed
int minLayerCrossed
Definition: TrackSelection.h:23
reco::HcalIsolatedTrackCandidateCollection
std::vector< HcalIsolatedTrackCandidate > HcalIsolatedTrackCandidateCollection
collectin of HcalIsolatedTrackCandidate objects
Definition: HcalIsolatedTrackCandidateFwd.h:9
AlCaIsoTracksProducer::a_coneR_
const double a_coneR_
Definition: AlCaIsoTracksProducer.cc:123
AlCaIsoTracksProducer::tok_trigEvt_
edm::EDGetTokenT< trigger::TriggerEvent > tok_trigEvt_
Definition: AlCaIsoTracksProducer.cc:137
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
HcalDetId::ieta
constexpr int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
AlCaIsoTracksProducer::labelTriggerEvent_
const edm::InputTag labelTriggerEvent_
Definition: AlCaIsoTracksProducer.cc:130
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
duplicaterechits_cfi.trackCollection
trackCollection
Definition: duplicaterechits_cfi.py:4
edm::SortedCollection::end
const_iterator end() const
Definition: SortedCollection.h:267
AlCaIsoTracksProducer::tok_bs_
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
Definition: AlCaIsoTracksProducer.cc:141
spr::trackSelectionParameters::maxOutMiss
int maxOutMiss
Definition: TrackSelection.h:24
reco::TrackBase::eta
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:652
HcalDetId
Definition: HcalDetId.h:12
iEvent
int iEvent
Definition: GenABIO.cc:224
AlCaIsoTracksProducer::maxRestrictionP_
const double maxRestrictionP_
Definition: AlCaIsoTracksProducer.cc:124
AlCaIsoTracksProducer::a_mipR_
const double a_mipR_
Definition: AlCaIsoTracksProducer.cc:123
trigger::TriggerEvent
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
AlCaIsoTracksProducer::tok_hbhe_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
Definition: AlCaIsoTracksProducer.cc:144
PDWG_DiPhoton_SD_cff.triggerEvent
triggerEvent
Definition: PDWG_DiPhoton_SD_cff.py:39
spr::trackSelectionParameters::minQuality
reco::TrackBase::TrackQuality minQuality
Definition: TrackSelection.h:21
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
AlCaIsoTracksProducer::trigNames_
const std::vector< std::string > trigNames_
Definition: AlCaIsoTracksProducer.cc:121
photonIsolationHIProducer_cfi.hbhe
hbhe
Definition: photonIsolationHIProducer_cfi.py:8
AlCaIsoTracksProducer::a_charIsoR_
double a_charIsoR_
Definition: AlCaIsoTracksProducer.cc:132
spr::propagateCALO
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, const std::string &theTrackQuality, bool debug=false)
Definition: CaloPropagateTrack.cc:141
reco::TrackBase::qualityByName
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:126
AlCaIsoTracksProducer::processName_
const std::string processName_
Definition: AlCaIsoTracksProducer.cc:122
DDAxes::phi
AlCaIsoTracksProducer::theTrackQuality_
const std::string theTrackQuality_
Definition: AlCaIsoTracksProducer.cc:122
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
eostools.move
def move(src, dest)
Definition: eostools.py:511
AlCaIsoTracksProducer::eEcalMax_
const double eEcalMax_
Definition: AlCaIsoTracksProducer.cc:125
AlCaIsoTracksProducer::nGood_
unsigned int nGood_
Definition: AlCaIsoTracksProducer.cc:119
HLTConfigProvider::init
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
Definition: HLTConfigProvider.cc:36
AlCaIsoTracksProducer::setPtEtaPhi
void setPtEtaPhi(std::vector< edm::Ref< l1extra::L1JetParticleCollection > > &objref, double &ptL1, double &etaL1, double &phiL1)
Definition: AlCaIsoTracksProducer.cc:583
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:19
trigger::TriggerL1TauJet
Definition: TriggerTypeDefs.h:35
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
spr::trackSelectionParameters::maxInMiss
int maxInMiss
Definition: TrackSelection.h:24
AlCaIsoTracksProducer::nRun_
unsigned int nRun_
Definition: AlCaIsoTracksProducer.cc:119
edm::TriggerNames
Definition: TriggerNames.h:55
AlCaIsoTracksProducer::labelTriggerResults_
const edm::InputTag labelTriggerResults_
Definition: AlCaIsoTracksProducer.cc:130
AlCaIsoTracksProducer::tok_genTrack_
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
Definition: AlCaIsoTracksProducer.cc:139
reco::TrackBase::pz
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:646
RunInfoPI::valid
Definition: RunInfoPayloadInspectoHelper.h:16
AlCaIsoTracksProducer::labelGenTrack_
const edm::InputTag labelGenTrack_
Definition: AlCaIsoTracksProducer.cc:128
trigger::TriggerL1CenJet
Definition: TriggerTypeDefs.h:33
HcalDetId::ietaAbs
constexpr int ietaAbs() const
get the absolute value of the cell ieta
Definition: HcalDetId.h:148
JetChargeProducer_cfi.exp
exp
Definition: JetChargeProducer_cfi.py:6
AlCaIsoTracksProducer::pTrackMin_
const double pTrackMin_
Definition: AlCaIsoTracksProducer.cc:125
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
AlCaIsoTracksProducer::geo
const CaloGeometry * geo
Definition: AlCaIsoTracksProducer.cc:134
spr::eCone_ecal
double eCone_ecal(const CaloGeometry *geo, edm::Handle< T > &barrelhits, edm::Handle< T > &endcaphits, const GlobalPoint &hpoint1, const GlobalPoint &point1, double dR, const GlobalVector &trackMom, int &nRecHits, double ebThr=-100, double eeThr=-100, double tMin=-500, double tMax=500, bool debug=false)
edm::Log
Definition: MessageLogger.h:70
edm::InputTag
Definition: InputTag.h:15
AlCaIsoTracksProducer::tok_magField_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tok_magField_
Definition: AlCaIsoTracksProducer.cc:146
ValidationMatrix.hlt
hlt
Definition: ValidationMatrix.py:459
AlCaIsoTracksProducer::bField
const MagneticField * bField
Definition: AlCaIsoTracksProducer.cc:133