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=default
 
- 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 ( )
overridedefault

Member Function Documentation

◆ beginRun()

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

Definition at line 463 of file AlCaIsoTracksProducer.cc.

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

463  {
464  bool changed(false);
465  edm::LogVerbatim("HcalIsoTrack") << "Run[" << nRun_ << "] " << iRun.run() << " hltconfig.init "
466  << hltConfig_.init(iRun, iSetup, processName_, changed);
467 
468  bField = &(iSetup.getData(tok_magField_));
469  geo = &(iSetup.getData(tok_geom_));
470 }
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 472 of file AlCaIsoTracksProducer.cc.

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

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

◆ endStream()

void AlCaIsoTracksProducer::endStream ( )
override

Definition at line 452 of file AlCaIsoTracksProducer.cc.

References nAll_, nGood_, and nRange_.

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

◆ fillDescriptions()

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

Definition at line 249 of file AlCaIsoTracksProducer.cc.

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

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", 10);
290  descriptions.add("alcaisotrk", desc);
291 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ globalEndJob()

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

Definition at line 458 of file AlCaIsoTracksProducer.cc.

References submitPVResolutionJobs::count.

458  {
459  edm::LogVerbatim("HcalIsoTrack") << "Finds " << count->nGood_ << " good tracks in " << count->nAll_ << " events and "
460  << count->nRange_ << " events in the momentum raange";
461 }
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 293 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, L1BJetProducer_cff::vtx, x, y, and z.

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

References a_charIsoR_, a_mipR_, bField, spr::chargeIsolationCone(), hcalRecHitTable_cff::detId, spr::eCone_ecal(), eEcalMax_, eIsolate_, reco::TrackBase::eta(), JetChargeProducer_cfi::exp, spr::find(), geo, spr::goodTrack(), ValidationMatrix::hlt, mps_fire::i, hcalRecHitTable_cff::ieta, 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_, JetHT_cfg::trackCollection, triggerResults, and trigNames_.

Referenced by produce().

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

◆ setPtEtaPhi()

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

Definition at line 573 of file AlCaIsoTracksProducer.cc.

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

Referenced by produce().

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

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