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< alCaIsoTracksProducer::Counters > >

Public Member Functions

 AlCaIsoTracksProducer (edm::ParameterSet const &, const alCaIsoTracksProducer::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< alCaIsoTracksProducer::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 alCaIsoTracksProducer::Counters *counters)
 
static std::unique_ptr< alCaIsoTracksProducer::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 > const &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< alCaIsoTracksProducer::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 86 of file AlCaIsoTracksProducer.cc.

Constructor & Destructor Documentation

◆ AlCaIsoTracksProducer()

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

Definition at line 150 of file AlCaIsoTracksProducer.cc.

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_.

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

◆ ~AlCaIsoTracksProducer()

AlCaIsoTracksProducer::~AlCaIsoTracksProducer ( )
override

Definition at line 249 of file AlCaIsoTracksProducer.cc.

249 {}

Member Function Documentation

◆ beginRun()

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

Definition at line 465 of file AlCaIsoTracksProducer.cc.

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

465  {
466  bool changed(false);
467  edm::LogVerbatim("HcalIsoTrack") << "Run[" << nRun_ << "] " << iRun.run() << " hltconfig.init "
468  << hltConfig_.init(iRun, iSetup, processName_, changed);
469 
470  bField = &(iSetup.getData(tok_magField_));
471  geo = &(iSetup.getData(tok_geom_));
472 }
Log< level::Info, true > LogVerbatim
const CaloGeometry * geo
const std::string processName_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
const MagneticField * bField
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tok_magField_

◆ endRun()

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

Definition at line 474 of file AlCaIsoTracksProducer.cc.

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

474  {
475  edm::LogVerbatim("HcalIsoTrack") << "endRun [" << nRun_ << "] " << iRun.run();
476  ++nRun_;
477 }
Log< level::Info, true > LogVerbatim

◆ endStream()

void AlCaIsoTracksProducer::endStream ( )
override

Definition at line 454 of file AlCaIsoTracksProducer.cc.

References nAll_, nGood_, and nRange_.

454  {
455  globalCache()->nAll_ += nAll_;
456  globalCache()->nGood_ += nGood_;
457  globalCache()->nRange_ += nRange_;
458 }

◆ fillDescriptions()

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

Definition at line 251 of file AlCaIsoTracksProducer.cc.

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

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

◆ globalEndJob()

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

Definition at line 460 of file AlCaIsoTracksProducer.cc.

References submitPVResolutionJobs::count.

460  {
461  edm::LogVerbatim("HcalIsoTrack") << "Finds " << count->nGood_ << " good tracks in " << count->nAll_ << " events and "
462  << count->nRange_ << " events in the momentum raange";
463 }
Log< level::Info, true > LogVerbatim

◆ initializeGlobalCache()

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

Definition at line 91 of file AlCaIsoTracksProducer.cc.

91  {
92  return std::make_unique<alCaIsoTracksProducer::Counters>();
93  }

◆ produce()

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

Definition at line 295 of file AlCaIsoTracksProducer.cc.

References photonIsolationHIProducer_cfi::hbhe, iEvent, edm::InputTag::instance(), edm::InputTag::label(), labelEB_, labelEE_, labelGenTrack_, labelHBHE_, labelIsoTk_, labelRecVtx_, labelTriggerEvent_, labelTriggerResults_, eostools::move(), nAll_, nGood_, nRange_, preScale_, 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, validateGeometry_cfg::valid, extraflags_cff::vtx, x, y, and z.

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

◆ select()

reco::HcalIsolatedTrackCandidateCollection * AlCaIsoTracksProducer::select ( edm::Handle< edm::TriggerResults > const &  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 479 of file AlCaIsoTracksProducer.cc.

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().

489  {
491  bool ok(false);
492 
493  // Find a good HLT trigger
494  for (unsigned int iHLT = 0; iHLT < triggerResults->size(); iHLT++) {
495  int hlt = triggerResults->accept(iHLT);
496  for (unsigned int i = 0; i < trigNames_.size(); ++i) {
497  if (triggerNames_[iHLT].find(trigNames_[i]) != std::string::npos) {
498  if (hlt > 0) {
499  ok = true;
500  }
501  edm::LogVerbatim("HcalIsoTrack") << "The trigger we are looking for " << triggerNames_[iHLT] << " Flag " << hlt
502  << ":" << ok;
503  }
504  }
505  }
506 
507  //Propagate tracks to calorimeter surface)
508  std::vector<spr::propagatedTrackDirection> trkCaloDirections;
509  spr::propagateCALO(trkCollection, geo, bField, theTrackQuality_, trkCaloDirections, false);
510 
511  std::vector<spr::propagatedTrackDirection>::const_iterator trkDetItr;
512  unsigned int nTracks(0), nselTracks(0);
513  for (trkDetItr = trkCaloDirections.begin(), nTracks = 0; trkDetItr != trkCaloDirections.end();
514  trkDetItr++, nTracks++) {
515  const reco::Track* pTrack = &(*(trkDetItr->trkItr));
516  math::XYZTLorentzVector v4(pTrack->px(), pTrack->py(), pTrack->pz(), pTrack->p());
517 #ifdef EDM_ML_DEBUG
518  edm::LogVerbatim("HcalIsoTrack") << "This track : " << nTracks << " (pt|eta|phi|p) :" << pTrack->pt() << "|"
519  << pTrack->eta() << "|" << pTrack->phi() << "|" << pTrack->p();
520 #endif
521  //Selection of good track
522  bool qltyFlag = spr::goodTrack(pTrack, leadPV, selectionParameter_, false);
523 #ifdef EDM_ML_DEBUG
524  edm::LogVerbatim("HcalIsoTrack") << "qltyFlag|okECAL|okHCAL : " << qltyFlag << "|" << trkDetItr->okECAL << "|"
525  << trkDetItr->okHCAL;
526 #endif
527  if (qltyFlag && trkDetItr->okECAL && trkDetItr->okHCAL) {
528  double t_p = pTrack->p();
529  nselTracks++;
530  int nRH_eMipDR(0), nNearTRKs(0);
531  double eMipDR = spr::eCone_ecal(geo,
532  barrelRecHitsHandle,
533  endcapRecHitsHandle,
534  trkDetItr->pointHCAL,
535  trkDetItr->pointECAL,
536  a_mipR_,
537  trkDetItr->directionECAL,
538  nRH_eMipDR);
539  double hmaxNearP = spr::chargeIsolationCone(nTracks, trkCaloDirections, a_charIsoR_, nNearTRKs, false);
540  HcalDetId detId = (HcalDetId)(trkDetItr->detIdHCAL);
541  int ieta = detId.ietaAbs();
542  double eIsolation = (maxRestrictionP_ * exp(slopeRestrictionP_ * ((double)(ieta))));
543  if (eIsolation < eIsolate_)
544  eIsolation = eIsolate_;
545 #ifdef EDM_ML_DEBUG
546  edm::LogVerbatim("HcalIsoTrack") << "This track : " << nTracks << " (pt|eta|phi|p) :" << pTrack->pt() << "|"
547  << pTrack->eta() << "|" << pTrack->phi() << "|" << t_p << " e_MIP " << eMipDR
548  << " Chg Isolation " << hmaxNearP << ":" << eIsolation;
549 #endif
550  if (t_p > pTrackMin_ && eMipDR < eEcalMax_ && hmaxNearP < eIsolation) {
551  reco::HcalIsolatedTrackCandidate newCandidate(v4);
552  newCandidate.SetMaxP(hmaxNearP);
553  newCandidate.SetEnergyEcal(eMipDR);
554  newCandidate.setL1(ptL1, etaL1, phiL1);
555  newCandidate.SetEtaPhiEcal((trkDetItr->pointECAL).eta(), (trkDetItr->pointECAL).phi());
556  HcalDetId detId = HcalDetId(trkDetItr->detIdHCAL);
557  newCandidate.SetEtaPhiHcal(
558  (trkDetItr->pointHCAL).eta(), (trkDetItr->pointHCAL).phi(), detId.ieta(), detId.iphi());
559  int indx(0);
560  for (reco::TrackCollection::const_iterator trkItr1 = trkCollection->begin(); trkItr1 != trkCollection->end();
561  ++trkItr1, ++indx) {
562  const reco::Track* pTrack1 = &(*trkItr1);
563  if (pTrack1 == pTrack) {
564  reco::TrackRef tRef = reco::TrackRef(trkCollection, indx);
565  newCandidate.setTrack(tRef);
566  break;
567  }
568  }
569  trackCollection->push_back(newCandidate);
570  }
571  }
572  }
573  return trackCollection;
574 }
Log< level::Info, true > LogVerbatim
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, const std::string &theTrackQuality, bool debug=false)
constexpr int ietaAbs() const
get the absolute value of the cell ieta
Definition: HcalDetId.h:148
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:640
double p() const
momentum vector magnitude
Definition: TrackBase.h:631
const CaloGeometry * geo
double py() const
y coordinate of momentum vector
Definition: TrackBase.h:643
double chargeIsolationCone(unsigned int trkIndex, std::vector< spr::propagatedTrackDirection > &trkDirs, double dR, int &nNearTRKs, bool debug=false)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
const std::string theTrackQuality_
double pt() const
track transverse momentum
Definition: TrackBase.h:637
std::vector< HcalIsolatedTrackCandidate > HcalIsolatedTrackCandidateCollection
collectin of HcalIsolatedTrackCandidate objects
bool goodTrack(const reco::Track *pTrack, math::XYZPoint leadPV, trackSelectionParameters parameters, bool debug=false)
constexpr int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:649
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)
const MagneticField * bField
static std::string const triggerResults
Definition: EdmProvDump.cc:47
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:652
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:646
const std::vector< std::string > trigNames_
spr::trackSelectionParameters selectionParameter_
constexpr int iphi() const
get the cell iphi
Definition: HcalDetId.h:157

◆ setPtEtaPhi()

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

Definition at line 576 of file AlCaIsoTracksProducer.cc.

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

Referenced by produce().

579  {
580  for (unsigned int p = 0; p < objref.size(); p++) {
581  if (objref[p]->pt() > ptL1) {
582  ptL1 = objref[p]->pt();
583  phiL1 = objref[p]->phi();
584  etaL1 = objref[p]->eta();
585  }
586  }
587 }

Member Data Documentation

◆ a_charIsoR_

double AlCaIsoTracksProducer::a_charIsoR_
private

Definition at line 133 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ a_coneR_

const double AlCaIsoTracksProducer::a_coneR_
private

Definition at line 124 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer().

◆ a_mipR_

const double AlCaIsoTracksProducer::a_mipR_
private

Definition at line 124 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ bField

const MagneticField* AlCaIsoTracksProducer::bField
private

Definition at line 134 of file AlCaIsoTracksProducer.cc.

Referenced by beginRun(), and select().

◆ eEcalMax_

const double AlCaIsoTracksProducer::eEcalMax_
private

Definition at line 126 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ eIsolate_

const double AlCaIsoTracksProducer::eIsolate_
private

Definition at line 126 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ geo

const CaloGeometry* AlCaIsoTracksProducer::geo
private

Definition at line 135 of file AlCaIsoTracksProducer.cc.

Referenced by beginRun(), and select().

◆ hltConfig_

HLTConfigProvider AlCaIsoTracksProducer::hltConfig_
private

Definition at line 119 of file AlCaIsoTracksProducer.cc.

Referenced by beginRun().

◆ labelBS_

const edm::InputTag AlCaIsoTracksProducer::labelBS_
private

Definition at line 129 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer().

◆ labelEB_

const edm::InputTag AlCaIsoTracksProducer::labelEB_
private

Definition at line 130 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelEE_

const edm::InputTag AlCaIsoTracksProducer::labelEE_
private

Definition at line 130 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelGenTrack_

const edm::InputTag AlCaIsoTracksProducer::labelGenTrack_
private

Definition at line 129 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelHBHE_

const edm::InputTag AlCaIsoTracksProducer::labelHBHE_
private

Definition at line 130 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelHltGT_

const edm::InputTag AlCaIsoTracksProducer::labelHltGT_
private

Definition at line 130 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer().

◆ labelIsoTk_

const std::string AlCaIsoTracksProducer::labelIsoTk_
private

Definition at line 132 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelRecVtx_

const edm::InputTag AlCaIsoTracksProducer::labelRecVtx_
private

Definition at line 129 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelTriggerEvent_

const edm::InputTag AlCaIsoTracksProducer::labelTriggerEvent_
private

Definition at line 131 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ labelTriggerResults_

const edm::InputTag AlCaIsoTracksProducer::labelTriggerResults_
private

Definition at line 131 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ maxRestrictionP_

const double AlCaIsoTracksProducer::maxRestrictionP_
private

Definition at line 125 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ nAll_

unsigned int AlCaIsoTracksProducer::nAll_
private

Definition at line 120 of file AlCaIsoTracksProducer.cc.

Referenced by endStream(), and produce().

◆ nGood_

unsigned int AlCaIsoTracksProducer::nGood_
private

Definition at line 120 of file AlCaIsoTracksProducer.cc.

Referenced by endStream(), and produce().

◆ nRange_

unsigned int AlCaIsoTracksProducer::nRange_
private

Definition at line 120 of file AlCaIsoTracksProducer.cc.

Referenced by endStream(), and produce().

◆ nRun_

unsigned int AlCaIsoTracksProducer::nRun_
private

Definition at line 120 of file AlCaIsoTracksProducer.cc.

Referenced by beginRun(), and endRun().

◆ preScale_

const int AlCaIsoTracksProducer::preScale_
private

Definition at line 128 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ processName_

const std::string AlCaIsoTracksProducer::processName_
private

Definition at line 123 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and beginRun().

◆ pTrackHigh_

const double AlCaIsoTracksProducer::pTrackHigh_
private

Definition at line 127 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ pTrackLow_

const double AlCaIsoTracksProducer::pTrackLow_
private

Definition at line 127 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ pTrackMin_

const double AlCaIsoTracksProducer::pTrackMin_
private

Definition at line 126 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ selectionParameter_

spr::trackSelectionParameters AlCaIsoTracksProducer::selectionParameter_
private

Definition at line 121 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ slopeRestrictionP_

const double AlCaIsoTracksProducer::slopeRestrictionP_
private

Definition at line 125 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ theTrackQuality_

const std::string AlCaIsoTracksProducer::theTrackQuality_
private

Definition at line 123 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().

◆ tok_bs_

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

Definition at line 142 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_EB_

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

Definition at line 143 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_EE_

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

Definition at line 144 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_genTrack_

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

Definition at line 140 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_geom_

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

Definition at line 146 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and beginRun().

◆ tok_hbhe_

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

Definition at line 145 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_hltGT_

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

Definition at line 137 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_magField_

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

Definition at line 147 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and beginRun().

◆ tok_recVtx_

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

Definition at line 141 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_trigEvt_

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

Definition at line 138 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ tok_trigRes_

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

Definition at line 139 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and produce().

◆ trigNames_

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

Definition at line 122 of file AlCaIsoTracksProducer.cc.

Referenced by AlCaIsoTracksProducer(), and select().