CMS 3D CMS Logo

EgHLTOffHelper.cc
Go to the documentation of this file.
2 
8 
10 
13 
19 
23 
24 #include <iostream>
25 
26 using namespace egHLT;
27 
30  delete hltEleTrkIsolAlgo_;
32  delete hltPhoTrkIsolAlgo_;
33 }
34 
36  ecalRecHitsEBToken = iC.consumes<EcalRecHitCollection>(conf.getParameter<edm::InputTag>("BarrelRecHitCollection"));
37  ecalRecHitsEEToken = iC.consumes<EcalRecHitCollection>(conf.getParameter<edm::InputTag>("EndcapRecHitCollection"));
38  caloJetsToken = iC.consumes<reco::CaloJetCollection>(conf.getParameter<edm::InputTag>("CaloJetCollection"));
39  isolTrkToken = iC.consumes<reco::TrackCollection>(conf.getParameter<edm::InputTag>("IsolTrackCollection"));
40  hbheHitsToken = iC.consumes<HBHERecHitCollection>(conf.getParameter<edm::InputTag>("HBHERecHitCollection"));
41  hfHitsToken = iC.consumes<HFRecHitCollection>(conf.getParameter<edm::InputTag>("HFRecHitCollection"));
42  electronsToken = iC.consumes<reco::GsfElectronCollection>(conf.getParameter<edm::InputTag>("ElectronCollection"));
43  photonsToken = iC.consumes<reco::PhotonCollection>(conf.getParameter<edm::InputTag>("PhotonCollection"));
44  triggerSummaryToken = iC.consumes<trigger::TriggerEvent>(conf.getParameter<edm::InputTag>("triggerSummaryLabel"));
45  hltTag_ = conf.getParameter<std::string>("hltTag");
46  beamSpotToken = iC.consumes<reco::BeamSpot>(conf.getParameter<edm::InputTag>("BeamSpotProducer"));
47  caloTowersToken = iC.consumes<CaloTowerCollection>(conf.getParameter<edm::InputTag>("CaloTowers"));
48  trigResultsToken = iC.consumes<edm::TriggerResults>(conf.getParameter<edm::InputTag>("TrigResults"));
49  vertexToken = iC.consumes<reco::VertexCollection>(conf.getParameter<edm::InputTag>("VertexCollection"));
50 
51  caloGeomToken_ = iC.esConsumes();
52  caloTopoToken_ = iC.esConsumes();
53  magFieldToken_ = iC.esConsumes();
54  ecalSeverityToken_ = iC.esConsumes();
55 
56  eleCuts_.setup(conf.getParameter<edm::ParameterSet>("eleCuts"));
57  eleLooseCuts_.setup(conf.getParameter<edm::ParameterSet>("eleLooseCuts"));
58  phoCuts_.setup(conf.getParameter<edm::ParameterSet>("phoCuts"));
59  phoLooseCuts_.setup(conf.getParameter<edm::ParameterSet>("phoLooseCuts"));
60 
61  //now we have the isolations completely configurable via python
62  hltEMIsolOuterCone_ = conf.getParameter<double>("hltEMIsolOuterCone");
63  hltEMIsolInnerConeEB_ = conf.getParameter<double>("hltEMIsolInnerConeEB");
64  hltEMIsolEtaSliceEB_ = conf.getParameter<double>("hltEMIsolEtaSliceEB");
65  hltEMIsolEtMinEB_ = conf.getParameter<double>("hltEMIsolEtMinEB");
66  hltEMIsolEMinEB_ = conf.getParameter<double>("hltEMIsolEMinEB");
67  hltEMIsolInnerConeEE_ = conf.getParameter<double>("hltEMIsolInnerConeEE");
68  hltEMIsolEtaSliceEE_ = conf.getParameter<double>("hltEMIsolEtaSliceEE");
69  hltEMIsolEtMinEE_ = conf.getParameter<double>("hltEMIsolEtMinEE");
70  hltEMIsolEMinEE_ = conf.getParameter<double>("hltEMIsolEMinEE");
71 
72  hltPhoTrkIsolPtMin_ = conf.getParameter<double>("hltPhoTrkIsolPtMin");
73  hltPhoTrkIsolOuterCone_ = conf.getParameter<double>("hltPhoTrkIsolOuterCone");
74  hltPhoTrkIsolInnerCone_ = conf.getParameter<double>("hltPhoTrkIsolInnerCone");
75  hltPhoTrkIsolZSpan_ = conf.getParameter<double>("hltPhoTrkIsolZSpan");
76  hltPhoTrkIsolRSpan_ = conf.getParameter<double>("hltPhoTrkIsolZSpan");
77  hltPhoTrkIsolCountTrks_ = conf.getParameter<bool>("hltPhoTrkIsolCountTrks");
78 
79  hltEleTrkIsolPtMin_ = conf.getParameter<double>("hltEleTrkIsolPtMin");
80  hltEleTrkIsolOuterCone_ = conf.getParameter<double>("hltEleTrkIsolOuterCone");
81  hltEleTrkIsolInnerCone_ = conf.getParameter<double>("hltEleTrkIsolInnerCone");
82  hltEleTrkIsolZSpan_ = conf.getParameter<double>("hltEleTrkIsolZSpan");
83  hltEleTrkIsolRSpan_ = conf.getParameter<double>("hltEleTrkIsolZSpan");
84 
85  hltHadIsolOuterCone_ = conf.getParameter<double>("hltHadIsolOuterCone");
86  hltHadIsolInnerCone_ = conf.getParameter<double>("hltHadIsolInnerCone");
87  hltHadIsolEtMin_ = conf.getParameter<double>("hltHadIsolEtMin");
88  hltHadIsolDepth_ = conf.getParameter<int>("hltHadIsolDepth");
89 
90  calHLTHcalIsol_ = conf.getParameter<bool>("calHLTHcalIsol");
91  calHLTEmIsol_ = conf.getParameter<bool>("calHLTEmIsol");
92  calHLTEleTrkIsol_ = conf.getParameter<bool>("calHLTEleTrkIsol");
93  calHLTPhoTrkIsol_ = conf.getParameter<bool>("calHLTPhoTrkIsol");
94 
95  trigCutParams_ = conf.getParameter<std::vector<edm::ParameterSet> >(
96  "triggerCuts"); //setupTriggers used to be in this function but had to be moved due to HLTConfigChanges (has to be called beginRun) so we have to save this for later.
97 
102 }
103 
104 //this code was taken out of OffHelper::setup due to HLTConfigProvider changes
105 //it still assumes that this is called only once
107  const std::vector<std::string>& hltFiltersUsed,
108  const TrigCodes& trigCodes) {
109  hltFiltersUsed_ = hltFiltersUsed; //expensive but only do this once and faster ways could make things less clear
110  //now work out how many objects are requires to pass filter for it to accept
113  for (size_t filterNr = 0; filterNr < hltFiltersUsed_.size(); filterNr++) {
114  hltFiltersUsedWithNrCandsCut_.push_back(std::make_pair(hltFiltersUsed_[filterNr], getMRObjs[filterNr]));
115  }
116 
117  //now loading the cuts for every trigger into our vector which stores them
118  //only load cuts for triggers that are in hltFiltersUsed
119 
120  for (auto& trigCutParam : trigCutParams_) {
121  std::string trigName = trigCutParam.getParameter<std::string>("trigName");
122  if (std::find(hltFiltersUsed_.begin(), hltFiltersUsed_.end(), trigName) !=
123  hltFiltersUsed_.end()) { //perhaps I should sort hltFiltersUsed_....
124  trigCuts_.push_back(std::make_pair(trigCodes.getCode(trigName), OffEgSel(trigCutParam)));
125  // std::cout<<trigName<<std::endl<<"between"<<std::endl<<trigCutParams_[trigNr]<<std::endl<<"after"<<std::endl;
126  }
127  }
128  trigCutParams_.clear(); //dont need it any more, get rid of it
129 
130  //to make my life difficult, the scaled l1 paths are special
131  //and arent stored in trigger event
132  //to I have to figure out the path, see if it passes
133  //and then hunt down the l1 seed filter and use that to match to the pho/ele
134  //matching on l1 seed filter is not enough as that will be passed for normal
135  //electron triggers even if pre-scale hasnt fired
136  l1PreScaledFilters_.clear();
137  l1PreScaledPaths_.clear();
138  l1PreAndSeedFilters_.clear();
139  for (auto& filterNr : hltFiltersUsed_) {
140  if (filterNr.find("hltPreL1") == 0) { //l1 prescaled path
141  l1PreScaledFilters_.push_back(filterNr);
142  }
143  }
144 
146  if (l1PreScaledPaths_.size() == l1PreScaledFilters_.size()) {
147  for (size_t pathNr = 0; pathNr < l1PreScaledPaths_.size(); pathNr++) {
149  //---Morse====
150  //std::cout<<l1PreScaledFilters_[pathNr]<<" "<<l1PreScaledPaths_[pathNr]<<" "<<l1SeedFilter<<std::endl;
151  //------------
152  l1PreAndSeedFilters_.push_back(std::make_pair(l1PreScaledFilters_[pathNr], l1SeedFilter));
153  }
154  }
155 }
156 
157 int OffHelper::makeOffEvt(const edm::Event& edmEvent,
158  const edm::EventSetup& setup,
159  egHLT::OffEvt& offEvent,
160  const TrigCodes& c) {
161  offEvent.clear();
162  int errCode = 0; //excution stops as soon as an error is flagged
163  if (errCode == 0)
164  errCode = getHandles(edmEvent, setup);
165  if (errCode == 0)
166  errCode = fillOffEleVec(offEvent.eles());
167  if (errCode == 0)
168  errCode = fillOffPhoVec(offEvent.phos());
169  if (errCode == 0)
170  errCode = setTrigInfo(edmEvent, offEvent, c);
171  if (errCode == 0)
172  offEvent.setJets(recoJets_);
173  return errCode;
174 }
175 
177  try {
178  caloGeom_ = setup.getHandle(caloGeomToken_);
179  caloTopology_ = setup.getHandle(caloTopoToken_);
180  //ecalSeverityLevel_ = setup.getHandle(ecalSeverityToken_);
181  } catch (cms::Exception& iException) {
182  return errCodes::Geom;
183  }
184  try {
185  magField_ = setup.getHandle(magFieldToken_);
186  } catch (cms::Exception& iException) {
187  return errCodes::MagField;
188  }
189 
190  //get objects
192  return errCodes::TrigEvent; //must have this, otherwise skip event
194  return errCodes::TrigEvent; //re using bit to minimise bug fix code changes
196  return errCodes::OffEle; //need for electrons
198  return errCodes::OffPho; //need for photons
200  return errCodes::OffJet; //need for electrons and photons
202  return errCodes::OffVertex; //need for eff vs nVertex
203 
204  //need for HLT isolations (rec hits also need for sigmaIPhiIPhi (ele/pho) and r9 pho)
206  return errCodes::EBRecHits;
208  return errCodes::EERecHits;
210  return errCodes::IsolTrks;
212  return errCodes::HBHERecHits; //I dont think we need hbhe rec-hits any more
214  return errCodes::HFRecHits; //I dont think we need hf rec-hits any more
216  return errCodes::BeamSpot;
218  return errCodes::CaloTowers;
219 
220  return 0;
221 }
222 
223 //this function coverts GsfElectrons to a format which is actually useful to me
224 int OffHelper::fillOffEleVec(std::vector<OffEle>& egHLTOffEles) {
225  egHLTOffEles.clear();
226  egHLTOffEles.reserve(recoEles_->size());
227  for (auto const& gsfIter : *recoEles_) {
228  if (!gsfIter.ecalDrivenSeed())
229  continue; //avoid PF electrons (this is Eg HLT validation and HLT is ecal driven)
230 
231  int nVertex = 0;
232  for (auto const& nVit : *recoVertices_) {
233  if (!nVit.isFake() && nVit.ndof() > 4 && std::fabs(nVit.z() < 24.0) &&
234  sqrt(nVit.x() * nVit.x() + nVit.y() * nVit.y()) < 2.0) {
235  nVertex++;
236  }
237  }
238  //if(nVertex>20)std::cout<<"nVertex: "<<nVertex<<std::endl;
239  OffEle::EventData eventData;
240  eventData.NVertex = nVertex;
241 
242  OffEle::IsolData isolData;
243  fillIsolData(gsfIter, isolData);
244 
245  OffEle::ClusShapeData clusShapeData;
246  fillClusShapeData(gsfIter, clusShapeData);
247 
248  OffEle::HLTData hltData;
249  fillHLTData(gsfIter, hltData);
250 
251  egHLTOffEles.emplace_back(gsfIter, clusShapeData, isolData, hltData, eventData);
252 
253  //now we would like to set the cut results
254  OffEle& ele = egHLTOffEles.back();
255  ele.setCutCode(eleCuts_.getCutCode(ele));
257 
258  std::vector<std::pair<TrigCodes::TrigBitSet, int> > trigCutsCutCodes;
259  for (auto& trigCut : trigCuts_)
260  trigCutsCutCodes.push_back(std::make_pair(trigCut.first, trigCut.second.getCutCode(ele)));
261  ele.setTrigCutsCutCodes(trigCutsCutCodes);
262  } //end loop over gsf electron collection
263  return 0;
264 }
265 
267  EgammaTowerIsolation hcalIsolAlgo(
274  caloGeom_,
275  *ebRecHits_,
277  DetId::Ecal);
283  caloGeom_,
284  *eeRecHits_,
286  DetId::Ecal);
287 
288  isolData.ptTrks = ele.dr03TkSumPt();
289  isolData.nrTrks = 999; //no longer supported
290  isolData.em = ele.dr03EcalRecHitSumEt();
291  isolData.hadDepth1 = ele.dr03HcalTowerSumEt(1);
292  isolData.hadDepth2 = ele.dr03HcalTowerSumEt(2);
293 
294  //now time to do the HLT algos
295  if (calHLTHcalIsol_)
296  isolData.hltHad = hcalIsolAlgo.getTowerESum(&ele);
297  else
298  isolData.hltHad = 0.;
299  if (calHLTEleTrkIsol_)
301  else
302  isolData.hltTrksEle = 0.;
303  if (calHLTPhoTrkIsol_) {
305  isolData.hltTrksPho = hltPhoTrkIsolAlgo_->photonTrackCount(&ele, isolTrks_.product(), false);
306  else
307  isolData.hltTrksPho = hltPhoTrkIsolAlgo_->photonPtSum(&ele, isolTrks_.product(), false);
308  } else
309  isolData.hltTrksPho = 0.;
310  if (calHLTEmIsol_)
311  isolData.hltEm = ecalIsolAlgoEB.getEtSum(&ele) + ecalIsolAlgoEE.getEtSum(&ele);
312  else
313  isolData.hltEm = 0.;
314 }
315 
317  clusShapeData.sigmaEtaEta = ele.sigmaEtaEta();
318  clusShapeData.sigmaIEtaIEta = ele.sigmaIetaIeta();
319  double e5x5 = ele.e5x5();
320  if (e5x5 != 0.) {
321  clusShapeData.e1x5Over5x5 = ele.e1x5() / e5x5;
322  clusShapeData.e2x5MaxOver5x5 = ele.e2x5Max() / e5x5;
323  } else {
324  clusShapeData.e1x5Over5x5 = -1;
325  clusShapeData.e2x5MaxOver5x5 = -1;
326  }
327 
328  //want to calculate r9, sigmaPhiPhi and sigmaIPhiIPhi, have to do old fashioned way
329  const reco::BasicCluster& seedClus = *(ele.superCluster()->seed());
330  const DetId seedDetId =
331  seedClus.hitsAndFractions()[0]
332  .first; //note this may not actually be the seed hit but it doesnt matter because all hits will be in the barrel OR endcap
333  if (seedDetId.subdetId() == EcalBarrel) {
334  const auto& stdCov =
335  EcalClusterTools::covariances(seedClus, ebRecHits_.product(), caloTopology_.product(), caloGeom_.product());
336  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, ebRecHits_.product(), caloTopology_.product());
337  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
338  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
339  if (ele.superCluster()->rawEnergy() != 0.) {
340  clusShapeData.r9 = EcalClusterTools::e3x3(seedClus, ebRecHits_.product(), caloTopology_.product()) /
341  ele.superCluster()->rawEnergy();
342  } else
343  clusShapeData.r9 = -1.;
344 
345  } else {
346  const auto& stdCov =
347  EcalClusterTools::covariances(seedClus, eeRecHits_.product(), caloTopology_.product(), caloGeom_.product());
348  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, eeRecHits_.product(), caloTopology_.product());
349  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
350  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
351  if (ele.superCluster()->rawEnergy() != 0.) {
352  clusShapeData.r9 = EcalClusterTools::e3x3(seedClus, eeRecHits_.product(), caloTopology_.product()) /
353  ele.superCluster()->rawEnergy();
354  } else
355  clusShapeData.r9 = -1.;
356  }
357 }
358 
359 //reco approximations of hlt quantities
361  if (ele.closestCtfTrackRef().isNonnull() && ele.closestCtfTrackRef()->extra().isNonnull()) {
362  reco::TrackRef ctfTrack = ele.closestCtfTrackRef();
363  reco::SuperClusterRef scClus = ele.superCluster();
364 
365  //dEta
367  math::XYZPoint scPosWRTVtx(scClus->x() - bsPos.x(), scClus->y() - bsPos.y(), scClus->z() - ctfTrack->vz());
368  hltData.dEtaIn = fabs(scPosWRTVtx.eta() - ctfTrack->eta());
369 
370  //dPhi: lifted straight from hlt code
371  float deltaPhi = fabs(ctfTrack->outerPosition().phi() - scClus->phi());
372  if (deltaPhi > 6.283185308)
373  deltaPhi -= 6.283185308;
374  if (deltaPhi > 3.141592654)
375  deltaPhi = 6.283185308 - deltaPhi;
376  hltData.dPhiIn = deltaPhi;
377 
378  //invEInvP
379  if (ele.ecalEnergy() != 0 && ctfTrack->p() != 0)
380  hltData.invEInvP = 1 / ele.ecalEnergy() - 1 / ctfTrack->p();
381  else
382  hltData.invEInvP = 0;
383  } else {
384  hltData.dEtaIn = 999;
385  hltData.dPhiIn = 999;
386  hltData.invEInvP = 999;
387  }
388 
389  //Now get HLT p4 from triggerobject
390  //reset the position first
391  hltData.HLTeta = 999;
392  hltData.HLTphi = 999;
393  hltData.HLTenergy = -999;
395  //trigTools::fillHLTposition(phos(),hltFiltersUsed_,l1PreAndSeedFilters_,evtTrigBits,trigEvt_.product(),hltTag_);
396 }
397 
399  //Now get HLT p4 from triggerobject
400  //reset the position first
401  hltData.HLTeta = 999;
402  hltData.HLTphi = 999;
403  hltData.HLTenergy = -999;
405  //trigTools::fillHLTposition(phos(),hltFiltersUsed_,l1PreAndSeedFilters_,evtTrigBits,trigEvt_.product(),hltTag_);
406 }
407 
408 //this function coverts Photons to a format which more useful to me
409 int OffHelper::fillOffPhoVec(std::vector<OffPho>& egHLTOffPhos) {
410  egHLTOffPhos.clear();
411  egHLTOffPhos.reserve(recoPhos_->size());
412  for (auto const& phoIter : *recoPhos_) {
413  OffPho::IsolData isolData;
414  OffPho::ClusShapeData clusShapeData;
415 
416  fillIsolData(phoIter, isolData);
417  fillClusShapeData(phoIter, clusShapeData);
418 
419  OffPho::HLTData hltData;
420  fillHLTDataPho(phoIter, hltData);
421 
422  egHLTOffPhos.emplace_back(phoIter, clusShapeData, isolData, hltData);
423  OffPho& pho = egHLTOffPhos.back();
424  pho.setCutCode(phoCuts_.getCutCode(pho));
426 
427  std::vector<std::pair<TrigCodes::TrigBitSet, int> > trigCutsCutCodes;
428  for (auto& trigCut : trigCuts_)
429  trigCutsCutCodes.push_back(std::make_pair(trigCut.first, trigCut.second.getCutCode(pho)));
430  pho.setTrigCutsCutCodes(trigCutsCutCodes);
431 
432  } //end loop over photon collection
433  return 0;
434 }
435 
437  EgammaTowerIsolation hcalIsolAlgo(
444  caloGeom_,
445  *ebRecHits_,
447  DetId::Ecal);
453  caloGeom_,
454  *eeRecHits_,
456  DetId::Ecal);
457 
458  isolData.nrTrks = pho.nTrkHollowConeDR03();
459  isolData.ptTrks = pho.trkSumPtHollowConeDR03();
460  isolData.em = pho.ecalRecHitSumEtConeDR03();
461  isolData.had = pho.hcalTowerSumEtConeDR03();
462 
463  //now calculate hlt algos
464  if (calHLTHcalIsol_)
465  isolData.hltHad = hcalIsolAlgo.getTowerESum(&pho);
466  else
467  isolData.hltHad = 0.;
468  if (calHLTPhoTrkIsol_) {
470  isolData.hltTrks = hltPhoTrkIsolAlgo_->photonTrackCount(&pho, isolTrks_.product(), false);
471  else
472  isolData.hltTrks = hltPhoTrkIsolAlgo_->photonPtSum(&pho, isolTrks_.product(), false);
473  } else
474  isolData.hltTrks = 0.;
475  if (calHLTEmIsol_)
476  isolData.hltEm = ecalIsolAlgoEB.getEtSum(&pho) + ecalIsolAlgoEE.getEtSum(&pho);
477  else
478  isolData.hltEm = 0.;
479 }
480 
482  clusShapeData.sigmaEtaEta = pho.sigmaEtaEta();
483  clusShapeData.sigmaIEtaIEta = pho.sigmaIetaIeta();
484  double e5x5 = pho.e5x5();
485  if (e5x5 !=
486  0.) { //even though it is almost impossible for this to be 0., this code can never ever crash under any situation
487  clusShapeData.e1x5Over5x5 = pho.e1x5() / e5x5;
488  clusShapeData.e2x5MaxOver5x5 = pho.e2x5() / e5x5;
489  } else {
490  clusShapeData.e1x5Over5x5 = -1;
491  clusShapeData.e2x5MaxOver5x5 = -1;
492  }
493  clusShapeData.r9 = pho.r9();
494 
495  //sigmaPhiPhi and sigmaIPhiIPhi are not in object (and nor should they be) so have to get them old fashioned way
496  //need to figure out if its in the barrel or endcap
497  //get the first hit of the cluster and figure out if its barrel or endcap
498  const reco::BasicCluster& seedClus = *(pho.superCluster()->seed());
499  const DetId seedDetId =
500  seedClus.hitsAndFractions()[0]
501  .first; //note this may not actually be the seed hit but it doesnt matter because all hits will be in the barrel OR endcap (it is also incredably inefficient as it getHitsByDetId passes the vector by value not reference
502  if (seedDetId.subdetId() == EcalBarrel) {
503  const auto& stdCov =
504  EcalClusterTools::covariances(seedClus, ebRecHits_.product(), caloTopology_.product(), caloGeom_.product());
505  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, ebRecHits_.product(), caloTopology_.product());
506  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
507  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
508  } else {
509  const auto& stdCov =
510  EcalClusterTools::covariances(seedClus, eeRecHits_.product(), caloTopology_.product(), caloGeom_.product());
511  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, eeRecHits_.product(), caloTopology_.product());
512  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
513  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
514  }
515 }
516 
517 int OffHelper::setTrigInfo(const edm::Event& edmEvent, egHLT::OffEvt& offEvent, const TrigCodes& trigCodes) {
518  TrigCodes::TrigBitSet evtTrigBits =
520  //the l1 prescale paths dont have a filter with I can figure out if it passed or failed with so have to use TriggerResults
521  if (l1PreScaledPaths_.size() ==
522  l1PreScaledFilters_.size()) { //check to ensure both vectors have same number of events incase of screw ups
524  for (size_t pathNr = 0; pathNr < l1PreScaledPaths_.size();
525  pathNr++) { //now we have to check the prescaled l1 trigger paths
526  unsigned int pathIndex = triggerNames.triggerIndex(l1PreScaledPaths_[pathNr]);
527  if (pathIndex < trigResults_->size() && trigResults_->accept(pathIndex)) {
528  evtTrigBits |= trigCodes.getCode(l1PreScaledFilters_[pathNr]);
529  }
530  }
531  }
532 
533  offEvent.setEvtTrigBits(evtTrigBits);
534 
536  offEvent.eles(), hltFiltersUsed_, l1PreAndSeedFilters_, evtTrigBits, trigCodes, trigEvt_.product(), hltTag_);
538  offEvent.phos(), hltFiltersUsed_, l1PreAndSeedFilters_, evtTrigBits, trigCodes, trigEvt_.product(), hltTag_);
539  return 0;
540 }
egHLT::OffHelper::recoJets_
edm::Handle< std::vector< reco::CaloJet > > recoJets_
Definition: EgHLTOffHelper.h:101
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
CaloJetCollection.h
egHLT::OffHelper::trigResultsToken
edm::EDGetTokenT< edm::TriggerResults > trigResultsToken
Definition: EgHLTOffHelper.h:79
egHLT::OffHelper::hltEleTrkIsolZSpan_
double hltEleTrkIsolZSpan_
Definition: EgHLTOffHelper.h:145
egHLT::OffPho::IsolData::nrTrks
int nrTrks
Definition: EgHLTOffPho.h:30
reco::GsfElectron::dr03TkSumPt
float dr03TkSumPt() const
Definition: GsfElectron.h:565
egHLT::OffEle::setTrigCutsCutCodes
void setTrigCutsCutCodes(const std::vector< std::pair< TrigCodes::TrigBitSet, int > > &trigCutsCutCodes)
Definition: EgHLTOffEle.h:116
egHLT::OffPho::IsolData
Definition: EgHLTOffPho.h:29
egHLT::OffHelper::caloGeomToken_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
Definition: EgHLTOffHelper.h:82
reco::GsfElectron::gsfTrack
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
Definition: GsfElectron.h:164
reco::Photon::superCluster
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
egHLT::OffHelper::ecalRecHitsEBToken
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEBToken
Definition: EgHLTOffHelper.h:68
egHLT::OffHelper::hltEleTrkIsolPtMin_
double hltEleTrkIsolPtMin_
Definition: EgHLTOffHelper.h:142
egHLT::OffHelper::trigCuts_
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_
Definition: EgHLTOffHelper.h:66
edm::Handle::product
T const * product() const
Definition: Handle.h:70
egHLT::OffHelper::hltHadIsolEtMin_
double hltHadIsolEtMin_
Definition: EgHLTOffHelper.h:150
egHLT::OffHelper::eeRecHits_
edm::Handle< EcalRecHitCollection > eeRecHits_
Definition: EgHLTOffHelper.h:93
egHLT::OffHelper::caloTowers_
edm::Handle< CaloTowerCollection > caloTowers_
Definition: EgHLTOffHelper.h:104
reco::Photon::sigmaIetaIeta
float sigmaIetaIeta() const
Definition: Photon.h:270
egHLT::OffHelper::magFieldToken_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magFieldToken_
Definition: EgHLTOffHelper.h:84
egHLT::OffHelper::magField_
edm::ESHandle< MagneticField > magField_
Definition: EgHLTOffHelper.h:89
egHLT::OffEle::IsolData::hltHad
float hltHad
Definition: EgHLTOffEle.h:39
EcalSeverityLevelAlgoRcd.h
egHLT::OffHelper::triggerSummaryToken
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
Definition: EgHLTOffHelper.h:74
egHLT::errCodes::HFRecHits
Definition: EgHLTErrCodes.h:21
egHLT::OffHelper::setup
void setup(const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
Definition: EgHLTOffHelper.cc:35
egHLT::errCodes::HBHERecHits
Definition: EgHLTErrCodes.h:20
EgammaHLTTrackIsolation
Definition: EgammaHLTTrackIsolation.h:42
egHLT::OffEvt::phos
const std::vector< OffPho > & phos() const
Definition: EgHLTOffEvt.h:50
egHLT::OffEle::IsolData::ptTrks
float ptTrks
Definition: EgHLTOffEle.h:36
egHLT::OffHelper::hltEMIsolEtaSliceEE_
double hltEMIsolEtaSliceEE_
Definition: EgHLTOffHelper.h:132
egHLT::OffHelper::phoLooseCuts_
OffEgSel phoLooseCuts_
Definition: EgHLTOffHelper.h:63
egHLT::OffEle::EventData::NVertex
int NVertex
Definition: EgHLTOffEle.h:72
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
egHLT::OffPho::ClusShapeData::sigmaPhiPhi
float sigmaPhiPhi
Definition: EgHLTOffPho.h:46
egHLT::OffPho::IsolData::hltHad
float hltHad
Definition: EgHLTOffPho.h:34
egHLT::OffEvt
Definition: EgHLTOffEvt.h:29
edm::SortedCollection< EcalRecHit >
egHLT::TrigCodes
Definition: EgHLTTrigCodes.h:20
egHLT::OffHelper::hltTag_
std::string hltTag_
Definition: EgHLTOffHelper.h:110
egHLT::errCodes::OffVertex
Definition: EgHLTErrCodes.h:25
egHLT::OffPho::ClusShapeData
Definition: EgHLTOffPho.h:41
egHLT::OffHelper::setupTriggers
void setupTriggers(const HLTConfigProvider &config, const std::vector< std::string > &hltFiltersUsed, const TrigCodes &trigCodes)
Definition: EgHLTOffHelper.cc:106
reco::GsfElectronCollection
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
Definition: GsfElectronFwd.h:14
egHLT::OffHelper::hltPhoTrkIsolAlgo_
EgammaHLTTrackIsolation * hltPhoTrkIsolAlgo_
Definition: EgHLTOffHelper.h:122
edm::Event::triggerNames
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
Definition: Event.cc:275
egHLT::OffHelper::caloGeom_
edm::ESHandle< CaloGeometry > caloGeom_
Definition: EgHLTOffHelper.h:87
EgammaRecHitIsolation
Definition: EgammaRecHitIsolation.h:26
egHLT::OffHelper::hltEMIsolInnerConeEE_
double hltEMIsolInnerConeEE_
Definition: EgHLTOffHelper.h:131
reco::Photon::nTrkHollowConeDR03
int nTrkHollowConeDR03() const
Definition: Photon.h:513
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
egHLT::OffHelper::caloJetsToken
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken
Definition: EgHLTOffHelper.h:70
egHLT::OffEle::ClusShapeData::sigmaIPhiIPhi
float sigmaIPhiIPhi
Definition: EgHLTOffEle.h:51
egHLT::OffHelper::trigCutParams_
std::vector< edm::ParameterSet > trigCutParams_
Definition: EgHLTOffHelper.h:158
egHLT::OffEle
Definition: EgHLTOffEle.h:29
EcalBarrel
Definition: EcalSubdetector.h:10
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
egHLT::OffPho::ClusShapeData::sigmaIEtaIEta
float sigmaIEtaIEta
Definition: EgHLTOffPho.h:43
egHLT::OffEle::ClusShapeData::sigmaIEtaIEta
float sigmaIEtaIEta
Definition: EgHLTOffEle.h:49
edm::Ref< TrackCollection >
reco::Photon::e2x5
float e2x5() const
Definition: Photon.h:265
egHLT::OffHelper::hltPhoTrkIsolInnerCone_
double hltPhoTrkIsolInnerCone_
Definition: EgHLTOffHelper.h:138
egHLT::OffPho::HLTData::HLTeta
float HLTeta
Definition: EgHLTOffPho.h:55
egHLT::OffHelper::hltPhoTrkIsolZSpan_
double hltPhoTrkIsolZSpan_
Definition: EgHLTOffHelper.h:139
egHLT::trigTools::getMinNrObjsRequiredByFilter
std::vector< int > getMinNrObjsRequiredByFilter(const std::vector< std::string > &filterName)
Definition: EgHLTTrigTools.cc:36
egHLT::errCodes::OffPho
Definition: EgHLTErrCodes.h:14
egHLT::OffHelper::caloTopology_
edm::ESHandle< CaloTopology > caloTopology_
Definition: EgHLTOffHelper.h:88
egHLT::OffHelper::l1PreScaledFilters_
std::vector< std::string > l1PreScaledFilters_
Definition: EgHLTOffHelper.h:117
egHLT::OffHelper::recoVertices_
edm::Handle< reco::VertexCollection > recoVertices_
Definition: EgHLTOffHelper.h:108
DetId
Definition: DetId.h:17
egHLT::OffPho::ClusShapeData::e1x5Over5x5
float e1x5Over5x5
Definition: EgHLTOffPho.h:45
reco::Photon::ecalRecHitSumEtConeDR03
float ecalRecHitSumEtConeDR03() const
Isolation variables in cone dR=0.3.
Definition: Photon.h:501
egHLT::errCodes::Geom
Definition: EgHLTErrCodes.h:16
egHLT::OffHelper::recoEles_
edm::Handle< reco::GsfElectronCollection > recoEles_
Definition: EgHLTOffHelper.h:100
egHLT::OffHelper::vertexToken
edm::EDGetTokenT< reco::VertexCollection > vertexToken
Definition: EgHLTOffHelper.h:80
egHLT::OffHelper::hltPhoTrkIsolCountTrks_
bool hltPhoTrkIsolCountTrks_
Definition: EgHLTOffHelper.h:141
egHLT::OffHelper::getHandles
int getHandles(const edm::Event &event, const edm::EventSetup &setup)
Definition: EgHLTOffHelper.cc:176
egHLT::OffHelper::beamSpotToken
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
Definition: EgHLTOffHelper.h:77
Track.h
egHLT::OffHelper::hltFiltersUsed_
std::vector< std::string > hltFiltersUsed_
Definition: EgHLTOffHelper.h:111
egHLT::OffPho
Definition: EgHLTOffPho.h:26
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
egHLT::OffEle::IsolData::hltTrksPho
float hltTrksPho
Definition: EgHLTOffEle.h:41
egHLT::TrigCodes::TrigBitSet
std::bitset< maxNrBits_ > TrigBitSet
Definition: EgHLTTrigCodes.h:23
L1TEGammaOffline_cfi.triggerNames
triggerNames
Definition: L1TEGammaOffline_cfi.py:40
egHLT::OffHelper::~OffHelper
~OffHelper()
Definition: EgHLTOffHelper.cc:28
egHLT::OffPho::setCutCode
void setCutCode(int code)
Definition: EgHLTOffPho.h:92
egHLT::errCodes::IsolTrks
Definition: EgHLTErrCodes.h:19
reco::CaloCluster
Definition: CaloCluster.h:31
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
EgammaHLTTrackIsolation::photonTrackCount
int photonTrackCount(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
Definition: EgammaHLTTrackIsolation.h:102
egHLT::OffHelper::hltPhoTrkIsolOuterCone_
double hltPhoTrkIsolOuterCone_
Definition: EgHLTOffHelper.h:137
reco::BeamSpot
Definition: BeamSpot.h:21
reco::GsfElectron::e2x5Max
float e2x5Max() const
Definition: GsfElectron.h:430
egHLT::OffPho::IsolData::hltEm
float hltEm
Definition: EgHLTOffPho.h:36
egHLT::OffEvt::setEvtTrigBits
void setEvtTrigBits(TrigCodes::TrigBitSet bits)
Definition: EgHLTOffEvt.h:57
EgammaHLTTrackIsolation.h
egHLT::OffHelper::hltHadIsolInnerCone_
double hltHadIsolInnerCone_
Definition: EgHLTOffHelper.h:149
egHLT::OffEvt::setJets
void setJets(edm::Handle< std::vector< reco::CaloJet > > jets)
Definition: EgHLTOffEvt.h:58
egHLT::OffEle::HLTData::HLTeta
float HLTeta
Definition: EgHLTOffEle.h:64
egHLT::OffEle::HLTData::dPhiIn
float dPhiIn
Definition: EgHLTOffEle.h:61
reco::GsfElectron
Definition: GsfElectron.h:35
reco::BeamSpot::position
const Point & position() const
position
Definition: BeamSpot.h:59
EgammaTowerIsolation.h
egHLT::OffPho::setTrigCutsCutCodes
void setTrigCutsCutCodes(const std::vector< std::pair< TrigCodes::TrigBitSet, int > > &trigCutsCutCodes)
Definition: EgHLTOffPho.h:96
reco::Photon::trkSumPtHollowConeDR03
float trkSumPtHollowConeDR03() const
Definition: Photon.h:509
egHLT::OffHelper::calHLTEleTrkIsol_
bool calHLTEleTrkIsol_
Definition: EgHLTOffHelper.h:155
egHLT::OffHelper::caloTopoToken_
edm::ESGetToken< CaloTopology, CaloTopologyRecord > caloTopoToken_
Definition: EgHLTOffHelper.h:83
egHLT::OffHelper::hltEMIsolEtMinEB_
double hltEMIsolEtMinEB_
Definition: EgHLTOffHelper.h:129
EcalSeverityLevelAlgo.h
egHLT::trigTools::getFiltersPassed
TrigCodes::TrigBitSet getFiltersPassed(const std::vector< std::pair< std::string, int > > &filters, const trigger::TriggerEvent *trigEvt, const std::string &hltTag, const TrigCodes &trigCodes)
Definition: EgHLTTrigTools.cc:8
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
qcdUeDQM_cfi.bsPos
bsPos
Definition: qcdUeDQM_cfi.py:39
EgammaHLTTrackIsolation::electronPtSum
float electronPtSum(const reco::Track *const tr, const reco::TrackCollection *isoTracks)
Get Pt sum of tracks inside an isolation cone for electrons.
Definition: EgammaHLTTrackIsolation.h:119
reco::Photon::sigmaEtaEta
float sigmaEtaEta() const
Definition: Photon.h:269
egHLT::OffPho::IsolData::had
float had
Definition: EgHLTOffPho.h:33
egHLT::OffHelper::ecalSeverityToken_
edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd > ecalSeverityToken_
Definition: EgHLTOffHelper.h:85
EcalSubdetector.h
egHLT::OffEgSel::setup
void setup(const edm::ParameterSet &)
Definition: EgHLTOffEgSel.cc:13
egHLT::errCodes::CaloTowers
Definition: EgHLTErrCodes.h:24
egHLT::OffHelper::eleCuts_
OffEgSel eleCuts_
Definition: EgHLTOffHelper.h:62
EgHLTOffTrigSelection_cfi.trigName
trigName
Definition: EgHLTOffTrigSelection_cfi.py:8
egHLT::OffHelper::isolTrks_
edm::Handle< reco::TrackCollection > isolTrks_
Definition: EgHLTOffHelper.h:96
egHLT::OffHelper::recoPhos_
edm::Handle< reco::PhotonCollection > recoPhos_
Definition: EgHLTOffHelper.h:99
egHLT::OffHelper::hltEleTrkIsolOuterCone_
double hltEleTrkIsolOuterCone_
Definition: EgHLTOffHelper.h:143
egHLT::OffHelper::beamSpot_
edm::Handle< reco::BeamSpot > beamSpot_
Definition: EgHLTOffHelper.h:103
egHLT::TrigCodes::getCode
TrigBitSet getCode(const char *descript) const
Definition: EgHLTTrigCodes.cc:42
egHLT::OffEle::HLTData::HLTenergy
float HLTenergy
Definition: EgHLTOffEle.h:66
egHLT::OffHelper::hltEMIsolEMinEB_
double hltEMIsolEMinEB_
Definition: EgHLTOffHelper.h:130
egHLT::OffEle::ClusShapeData::r9
float r9
Definition: EgHLTOffEle.h:54
edm::ParameterSet
Definition: ParameterSet.h:47
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
egHLT::OffHelper::hltEMIsolEMinEE_
double hltEMIsolEMinEE_
Definition: EgHLTOffHelper.h:134
reco::Photon::r9
float r9() const
Definition: Photon.h:273
reco::CaloCluster::hitsAndFractions
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
Definition: CaloCluster.h:210
egHLT::OffHelper::isolTrkToken
edm::EDGetTokenT< reco::TrackCollection > isolTrkToken
Definition: EgHLTOffHelper.h:71
egHLT::errCodes::BeamSpot
Definition: EgHLTErrCodes.h:22
egHLT::OffHelper::eleLooseCuts_
OffEgSel eleLooseCuts_
Definition: EgHLTOffHelper.h:61
egHLT::OffHelper::hltHadIsolDepth_
int hltHadIsolDepth_
Definition: EgHLTOffHelper.h:151
egHLT::OffHelper::hbheHitsToken
edm::EDGetTokenT< HBHERecHitCollection > hbheHitsToken
Definition: EgHLTOffHelper.h:72
egHLT::OffEle::IsolData::nrTrks
int nrTrks
Definition: EgHLTOffEle.h:37
EcalClusterTools.h
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
EgHLTErrCodes.h
egHLT::OffHelper::fillClusShapeData
void fillClusShapeData(const reco::GsfElectron &ele, OffEle::ClusShapeData &clusShapeData)
Definition: EgHLTOffHelper.cc:316
egHLT::OffHelper::trigResults_
edm::Handle< edm::TriggerResults > trigResults_
Definition: EgHLTOffHelper.h:106
egHLT::OffEle::ClusShapeData::e1x5Over5x5
float e1x5Over5x5
Definition: EgHLTOffEle.h:52
EgammaTowerIsolation
Definition: EgammaTowerIsolation.h:197
egHLT::OffHelper::hbheHits_
edm::Handle< HBHERecHitCollection > hbheHits_
Definition: EgHLTOffHelper.h:95
TriggerNames.h
egHLT::OffHelper::phoCuts_
OffEgSel phoCuts_
Definition: EgHLTOffHelper.h:64
egHLT::OffEle::HLTData::invEInvP
float invEInvP
Definition: EgHLTOffEle.h:62
egHLT::OffEgSel
Definition: EgHLTOffEgSel.h:24
reco::CaloJetCollection
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
Definition: CaloJetCollection.h:15
egHLT::OffEle::HLTData::dEtaIn
float dEtaIn
Definition: EgHLTOffEle.h:60
egHLT::OffEle::IsolData::hadDepth2
float hadDepth2
Definition: EgHLTOffEle.h:35
egHLT::errCodes::OffJet
Definition: EgHLTErrCodes.h:15
reco::GsfElectron::e1x5
float e1x5() const
Definition: GsfElectron.h:429
egHLT::OffHelper::calHLTHcalIsol_
bool calHLTHcalIsol_
Definition: EgHLTOffHelper.h:153
GsfTrack.h
egHLT::errCodes::MagField
Definition: EgHLTErrCodes.h:23
egHLT::OffHelper::calHLTPhoTrkIsol_
bool calHLTPhoTrkIsol_
Definition: EgHLTOffHelper.h:156
egHLT::OffHelper::ecalSeverityLevel_
edm::ESHandle< EcalSeverityLevelAlgo > ecalSeverityLevel_
Definition: EgHLTOffHelper.h:90
egHLT::trigTools::getL1SeedFilterOfPath
std::string getL1SeedFilterOfPath(const HLTConfigProvider &hltConfig, const std::string &path)
Definition: EgHLTTrigTools.cc:331
egHLT::OffHelper::ebRecHits_
edm::Handle< EcalRecHitCollection > ebRecHits_
Definition: EgHLTOffHelper.h:92
egHLT::errCodes::EBRecHits
Definition: EgHLTErrCodes.h:17
edm::EventSetup
Definition: EventSetup.h:58
egHLT::OffHelper::fillHLTDataPho
void fillHLTDataPho(const reco::Photon &pho, OffPho::HLTData &hltData)
Definition: EgHLTOffHelper.cc:398
reco::GsfElectron::closestCtfTrackRef
virtual TrackRef closestCtfTrackRef() const
Definition: GsfElectron.h:188
egHLT::errCodes::OffEle
Definition: EgHLTErrCodes.h:13
egHLT::OffPho::ClusShapeData::sigmaIPhiIPhi
float sigmaIPhiIPhi
Definition: EgHLTOffPho.h:47
trigger::TriggerEvent
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
egHLT::OffPho::HLTData
Definition: EgHLTOffPho.h:53
DetId::Ecal
Definition: DetId.h:27
egHLT::OffHelper::hltEMIsolEtMinEE_
double hltEMIsolEtMinEE_
Definition: EgHLTOffHelper.h:133
reco::Photon::e5x5
float e5x5() const
Definition: Photon.h:267
egHLT::OffHelper::hfHits_
edm::Handle< HFRecHitCollection > hfHits_
Definition: EgHLTOffHelper.h:94
egHLT::errCodes::EERecHits
Definition: EgHLTErrCodes.h:18
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
egHLT::OffHelper::fillOffPhoVec
int fillOffPhoVec(std::vector< OffPho > &offPhos)
Definition: EgHLTOffHelper.cc:409
egHLT::OffHelper::setTrigInfo
int setTrigInfo(const edm::Event &edmEvent, egHLT::OffEvt &offEvent, const TrigCodes &trigCodes)
Definition: EgHLTOffHelper.cc:517
reco::GsfElectron::sigmaEtaEta
float sigmaEtaEta() const
Definition: GsfElectron.h:426
egHLT::OffEle::ClusShapeData::sigmaEtaEta
float sigmaEtaEta
Definition: EgHLTOffEle.h:48
egHLT::OffEle::IsolData
Definition: EgHLTOffEle.h:32
reco::GsfElectron::sigmaIetaIeta
float sigmaIetaIeta() const
Definition: GsfElectron.h:427
egHLT::OffPho::HLTData::HLTenergy
float HLTenergy
Definition: EgHLTOffPho.h:57
reco::Photon
Definition: Photon.h:22
egHLT::OffPho::IsolData::em
float em
Definition: EgHLTOffPho.h:32
egHLT::OffEle::ClusShapeData::e2x5MaxOver5x5
float e2x5MaxOver5x5
Definition: EgHLTOffEle.h:53
egHLT::OffHelper::fillHLTData
void fillHLTData(const reco::GsfElectron &ele, OffEle::HLTData &hltData)
Definition: EgHLTOffHelper.cc:360
HLTConfigProvider
Definition: HLTConfigProvider.h:29
egHLT::OffEgSel::getCutCode
int getCutCode(const OffEle &ele, int cutMask=~0x0) const
Definition: EgHLTOffEgSel.cc:18
reco::GsfElectron::e5x5
float e5x5() const
Definition: GsfElectron.h:431
egHLT::OffHelper::hltHadIsolOuterCone_
double hltHadIsolOuterCone_
Definition: EgHLTOffHelper.h:148
egHLT::OffPho::ClusShapeData::sigmaEtaEta
float sigmaEtaEta
Definition: EgHLTOffPho.h:42
DetId.h
reco::Photon::hcalTowerSumEtConeDR03
float hcalTowerSumEtConeDR03(int depth=0) const
Hcal isolation sum for each depth excluding the region containing the rechits used for hcalOverEcal()
Definition: Photon.h:503
egHLT::OffHelper::hltEMIsolEtaSliceEB_
double hltEMIsolEtaSliceEB_
Definition: EgHLTOffHelper.h:128
egHLT::OffHelper::hltPhoTrkIsolRSpan_
double hltPhoTrkIsolRSpan_
Definition: EgHLTOffHelper.h:140
reco::Photon::e1x5
float e1x5() const
Shower shape variables.
Definition: Photon.h:264
egHLT::OffPho::IsolData::hltTrks
float hltTrks
Definition: EgHLTOffPho.h:35
EgammaRecHitIsolation.h
EgammaHLTTrackIsolation::photonPtSum
float photonPtSum(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
Definition: EgammaHLTTrackIsolation.h:134
edm::TriggerNames
Definition: TriggerNames.h:55
egHLT::OffEle::HLTData::HLTphi
float HLTphi
Definition: EgHLTOffEle.h:65
egHLT::OffHelper::trigEvt_
edm::Handle< trigger::TriggerEvent > trigEvt_
Definition: EgHLTOffHelper.h:98
egHLT::OffEle::ClusShapeData::sigmaPhiPhi
float sigmaPhiPhi
Definition: EgHLTOffEle.h:50
egHLT::OffHelper::l1PreAndSeedFilters_
std::vector< std::pair< std::string, std::string > > l1PreAndSeedFilters_
Definition: EgHLTOffHelper.h:115
egHLT::trigTools::translateFiltersToPathNames
void translateFiltersToPathNames(const HLTConfigProvider &hltConfig, const std::vector< std::string > &filters, std::vector< std::string > &paths)
Definition: EgHLTTrigTools.cc:293
egHLT::OffEle::IsolData::hltTrksEle
float hltTrksEle
Definition: EgHLTOffEle.h:40
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HltComparatorCreateWorkflow.hltConfig
hltConfig
Definition: HltComparatorCreateWorkflow.py:161
reco::GsfElectron::dr03HcalTowerSumEt
float dr03HcalTowerSumEt(int depth=0) const
Definition: GsfElectron.h:584
egHLT::OffEle::EventData
Definition: EgHLTOffEle.h:71
reco::GsfElectron::superCluster
SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: GsfElectron.h:163
egHLT::OffHelper::fillIsolData
void fillIsolData(const reco::GsfElectron &ele, OffEle::IsolData &isolData)
Definition: EgHLTOffHelper.cc:266
edm::HLTGlobalStatus::accept
bool accept() const
Has at least one path accepted the event?
Definition: HLTGlobalStatus.h:49
egHLT::OffEle::setLooseCutCode
void setLooseCutCode(int code)
Definition: EgHLTOffEle.h:114
egHLT::OffEle::IsolData::hadDepth1
float hadDepth1
Definition: EgHLTOffEle.h:34
egHLT::OffHelper::hltEleTrkIsolAlgo_
EgammaHLTTrackIsolation * hltEleTrkIsolAlgo_
Definition: EgHLTOffHelper.h:121
reco::PhotonCollection
std::vector< Photon > PhotonCollection
collectin of Photon objects
Definition: PhotonFwd.h:9
L1TEGammaOffline_cfi.nVertex
nVertex
Definition: L1TEGammaOffline_cfi.py:60
EgHLTTrigTools.h
EgHLTTrigCodes.h
egHLT::OffPho::IsolData::ptTrks
float ptTrks
Definition: EgHLTOffPho.h:31
ConsumesCollector.h
cms::Exception
Definition: Exception.h:70
reco::BeamSpot::Point
math::XYZPoint Point
point in the space
Definition: BeamSpot.h:27
egHLT::OffHelper::hltPhoTrkIsolPtMin_
double hltPhoTrkIsolPtMin_
Definition: EgHLTOffHelper.h:136
egHLT::OffPho::HLTData::HLTphi
float HLTphi
Definition: EgHLTOffPho.h:56
egHLT::OffHelper::hfHitsToken
edm::EDGetTokenT< HFRecHitCollection > hfHitsToken
Definition: EgHLTOffHelper.h:73
egHLT::OffEle::setCutCode
void setCutCode(int code)
Definition: EgHLTOffEle.h:113
egHLT::OffHelper::l1PreScaledPaths_
std::vector< std::string > l1PreScaledPaths_
Definition: EgHLTOffHelper.h:116
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
egHLT::OffHelper::hltEleTrkIsolInnerCone_
double hltEleTrkIsolInnerCone_
Definition: EgHLTOffHelper.h:144
egHLT::OffHelper::caloTowersToken
edm::EDGetTokenT< CaloTowerCollection > caloTowersToken
Definition: EgHLTOffHelper.h:78
egHLT::OffHelper::hltEMIsolOuterCone_
double hltEMIsolOuterCone_
Definition: EgHLTOffHelper.h:126
event
Definition: event.py:1
egHLT::OffEle::IsolData::em
float em
Definition: EgHLTOffEle.h:33
edm::Event
Definition: Event.h:73
egHLT::OffEvt::eles
const std::vector< OffEle > & eles() const
Definition: EgHLTOffEvt.h:48
egHLT::OffHelper::ecalRecHitsEEToken
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEEToken
Definition: EgHLTOffHelper.h:69
egHLT
Definition: EgHLTBinData.h:10
egHLT::OffHelper::hltFiltersUsedWithNrCandsCut_
std::vector< std::pair< std::string, int > > hltFiltersUsedWithNrCandsCut_
Definition: EgHLTOffHelper.h:113
egHLT::OffEle::ClusShapeData
Definition: EgHLTOffEle.h:47
egHLT::OffHelper::photonsToken
edm::EDGetTokenT< reco::PhotonCollection > photonsToken
Definition: EgHLTOffHelper.h:76
egHLT::OffEle::HLTData
Definition: EgHLTOffEle.h:59
egHLT::OffEle::IsolData::hltEm
float hltEm
Definition: EgHLTOffEle.h:42
egHLT::OffPho::ClusShapeData::e2x5MaxOver5x5
float e2x5MaxOver5x5
Definition: EgHLTOffPho.h:44
egHLT::OffHelper::calHLTEmIsol_
bool calHLTEmIsol_
Definition: EgHLTOffHelper.h:154
egHLT::OffHelper::getHandle
static bool getHandle(const edm::Event &event, const edm::EDGetTokenT< T > &token, edm::Handle< T > &handle)
Definition: EgHLTOffHelper.h:208
edm::InputTag
Definition: InputTag.h:15
egHLT::OffHelper::electronsToken
edm::EDGetTokenT< reco::GsfElectronCollection > electronsToken
Definition: EgHLTOffHelper.h:75
egHLT::errCodes::TrigEvent
Definition: EgHLTErrCodes.h:12
reco::TrackCollection
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
reco::GsfElectron::dr03EcalRecHitSumEt
float dr03EcalRecHitSumEt() const
Definition: GsfElectron.h:567
edm::TriggerResults
Definition: TriggerResults.h:35
EgHLTOffHelper.h
egHLT::trigTools::setFiltersObjPasses
void setFiltersObjPasses(std::vector< T > &objs, const std::vector< std::string > &filters, const std::vector< std::pair< std::string, std::string > > &l1PreAndSeedFilters, const TrigCodes::TrigBitSet &evtTrigBits, const TrigCodes &trigCodes, const trigger::TriggerEvent *trigEvt, const std::string &hltTag)
Definition: EgHLTTrigTools.h:72
egHLT::OffHelper::makeOffEvt
int makeOffEvt(const edm::Event &edmEvent, const edm::EventSetup &setup, egHLT::OffEvt &offEvent, const TrigCodes &trigCodes)
Definition: EgHLTOffHelper.cc:157
egHLT::OffHelper::hltEleTrkIsolRSpan_
double hltEleTrkIsolRSpan_
Definition: EgHLTOffHelper.h:146
egHLT::OffHelper::hltEMIsolInnerConeEB_
double hltEMIsolInnerConeEB_
Definition: EgHLTOffHelper.h:127
egHLT::trigTools::fillHLTposition
void fillHLTposition(T &obj, U &hltData, const std::vector< std::string > &filters, const trigger::TriggerEvent *trigEvt, const std::string &hltTag)
Definition: EgHLTTrigTools.h:130
egHLT::OffHelper::fillOffEleVec
int fillOffEleVec(std::vector< OffEle > &offEles)
Definition: EgHLTOffHelper.cc:224
egHLT::OffPho::setLooseCutCode
void setLooseCutCode(int code)
Definition: EgHLTOffPho.h:93
egHLT::OffEvt::clear
void clear()
Definition: EgHLTOffEvt.cc:5
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
egHLT::OffPho::ClusShapeData::r9
float r9
Definition: EgHLTOffPho.h:48
reco::GsfElectron::ecalEnergy
float ecalEnergy() const
Definition: GsfElectron.h:883