CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
egHLT::OffHelper Class Reference

#include <EgHLTOffHelper.h>

Public Member Functions

void fillClusShapeData (const reco::GsfElectron &ele, OffEle::ClusShapeData &clusShapeData)
 
void fillClusShapeData (const reco::Photon &pho, OffPho::ClusShapeData &clusShapeData)
 
void fillHLTData (const reco::GsfElectron &ele, OffEle::HLTData &hltData)
 
void fillHLTDataPho (const reco::Photon &pho, OffPho::HLTData &hltData)
 
void fillIsolData (const reco::GsfElectron &ele, OffEle::IsolData &isolData)
 
void fillIsolData (const reco::Photon &pho, OffPho::IsolData &isolData)
 
int fillOffEleVec (std::vector< OffEle > &offEles)
 
int fillOffPhoVec (std::vector< OffPho > &offPhos)
 
int getHandles (const edm::Event &event, const edm::EventSetup &setup)
 
int makeOffEvt (const edm::Event &edmEvent, const edm::EventSetup &setup, egHLT::OffEvt &offEvent, const TrigCodes &trigCodes)
 
 OffHelper ()
 
int setTrigInfo (const edm::Event &edmEvent, egHLT::OffEvt &offEvent, const TrigCodes &trigCodes)
 
void setup (const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
 
void setupTriggers (const HLTConfigProvider &config, const std::vector< std::string > &hltFiltersUsed, const TrigCodes &trigCodes)
 
const std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > & trigCuts () const
 
const trigger::TriggerEventtrigEvt () const
 
 ~OffHelper ()
 

Static Public Member Functions

template<class T >
static bool getHandle (const edm::Event &event, const edm::EDGetTokenT< T > &token, edm::Handle< T > &handle)
 

Private Member Functions

 OffHelper (const OffHelper &)=delete
 
OffHelperoperator= (const OffHelper &)=delete
 

Private Attributes

edm::Handle< reco::BeamSpotbeamSpot_
 
edm::EDGetTokenT< reco::BeamSpotbeamSpotToken
 
bool calHLTEleTrkIsol_
 
bool calHLTEmIsol_
 
bool calHLTHcalIsol_
 
bool calHLTPhoTrkIsol_
 
edm::ESHandle< CaloGeometrycaloGeom_
 
edm::EDGetTokenT< reco::CaloJetCollectioncaloJetsToken
 
edm::ESHandle< CaloTopologycaloTopology_
 
edm::Handle< CaloTowerCollectioncaloTowers_
 
edm::EDGetTokenT< CaloTowerCollectioncaloTowersToken
 
edm::Handle< EcalRecHitCollectionebRecHits_
 
edm::EDGetTokenT< EcalRecHitCollectionecalRecHitsEBToken
 
edm::EDGetTokenT< EcalRecHitCollectionecalRecHitsEEToken
 
edm::ESHandle< EcalSeverityLevelAlgoecalSeverityLevel_
 
edm::Handle< EcalRecHitCollectioneeRecHits_
 
edm::EDGetTokenT< reco::GsfElectronCollectionelectronsToken
 
OffEgSel eleCuts_
 
OffEgSel eleLooseCuts_
 
edm::Handle< HBHERecHitCollectionhbheHits_
 
edm::EDGetTokenT< HBHERecHitCollectionhbheHitsToken
 
edm::Handle< HFRecHitCollectionhfHits_
 
edm::EDGetTokenT< HFRecHitCollectionhfHitsToken
 
EgammaHLTTrackIsolationhltEleTrkIsolAlgo_
 
double hltEleTrkIsolInnerCone_
 
double hltEleTrkIsolOuterCone_
 
double hltEleTrkIsolPtMin_
 
double hltEleTrkIsolRSpan_
 
double hltEleTrkIsolZSpan_
 
double hltEMIsolEMinEB_
 
double hltEMIsolEMinEE_
 
double hltEMIsolEtaSliceEB_
 
double hltEMIsolEtaSliceEE_
 
double hltEMIsolEtMinEB_
 
double hltEMIsolEtMinEE_
 
double hltEMIsolInnerConeEB_
 
double hltEMIsolInnerConeEE_
 
double hltEMIsolOuterCone_
 
std::vector< std::string > hltFiltersUsed_
 
std::vector< std::pair< std::string, int > > hltFiltersUsedWithNrCandsCut_
 
int hltHadIsolDepth_
 
double hltHadIsolEtMin_
 
double hltHadIsolInnerCone_
 
double hltHadIsolOuterCone_
 
EgammaHLTTrackIsolationhltPhoTrkIsolAlgo_
 
bool hltPhoTrkIsolCountTrks_
 
double hltPhoTrkIsolInnerCone_
 
double hltPhoTrkIsolOuterCone_
 
double hltPhoTrkIsolPtMin_
 
double hltPhoTrkIsolRSpan_
 
double hltPhoTrkIsolZSpan_
 
std::string hltTag_
 
edm::Handle< reco::TrackCollectionisolTrks_
 
edm::EDGetTokenT< reco::TrackCollectionisolTrkToken
 
std::vector< std::pair< std::string, std::string > > l1PreAndSeedFilters_
 
std::vector< std::string > l1PreScaledFilters_
 
std::vector< std::string > l1PreScaledPaths_
 
edm::ESHandle< MagneticFieldmagField_
 
OffEgSel phoCuts_
 
OffEgSel phoLooseCuts_
 
edm::EDGetTokenT< reco::PhotonCollectionphotonsToken
 
edm::Handle< reco::GsfElectronCollectionrecoEles_
 
edm::Handle< std::vector< reco::CaloJet > > recoJets_
 
edm::Handle< reco::PhotonCollectionrecoPhos_
 
edm::Handle< reco::VertexCollectionrecoVertices_
 
std::vector< edm::ParameterSettrigCutParams_
 
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_
 
edm::Handle< trigger::TriggerEventtrigEvt_
 
edm::EDGetTokenT< trigger::TriggerEventtriggerSummaryToken
 
edm::Handle< edm::TriggerResultstrigResults_
 
edm::EDGetTokenT< edm::TriggerResultstrigResultsToken
 
edm::EDGetTokenT< reco::VertexCollectionvertexToken
 

Detailed Description

Definition at line 59 of file EgHLTOffHelper.h.

Constructor & Destructor Documentation

egHLT::OffHelper::OffHelper ( const OffHelper )
privatedelete
egHLT::OffHelper::OffHelper ( )
inline
OffHelper::~OffHelper ( )

Definition at line 30 of file EgHLTOffHelper.cc.

References hltEleTrkIsolAlgo_, and hltPhoTrkIsolAlgo_.

Referenced by OffHelper().

31 {
34 }
EgammaHLTTrackIsolation * hltPhoTrkIsolAlgo_
EgammaHLTTrackIsolation * hltEleTrkIsolAlgo_

Member Function Documentation

void OffHelper::fillClusShapeData ( const reco::GsfElectron ele,
OffEle::ClusShapeData clusShapeData 
)

Definition at line 275 of file EgHLTOffHelper.cc.

References caloGeom_, caloTopology_, reco::GsfElectron::e1x5(), egHLT::OffEle::ClusShapeData::e1x5Over5x5, reco::GsfElectron::e2x5Max(), egHLT::OffEle::ClusShapeData::e2x5MaxOver5x5, heepElectronID_HEEPV50_CSA14_25ns_cff::e5x5, reco::GsfElectron::e5x5(), ebRecHits_, EcalBarrel, eeRecHits_, edm::ESHandle< T >::product(), egHLT::OffEle::ClusShapeData::r9, egHLT::OffEle::ClusShapeData::sigmaEtaEta, reco::GsfElectron::sigmaEtaEta(), egHLT::OffEle::ClusShapeData::sigmaIEtaIEta, reco::GsfElectron::sigmaIetaIeta(), egHLT::OffEle::ClusShapeData::sigmaIPhiIPhi, egHLT::OffEle::ClusShapeData::sigmaPhiPhi, mathSSE::sqrt(), DetId::subdetId(), and reco::GsfElectron::superCluster().

Referenced by fillOffEleVec(), fillOffPhoVec(), and OffHelper().

276 {
277  clusShapeData.sigmaEtaEta = ele.sigmaEtaEta();
278  clusShapeData.sigmaIEtaIEta = ele.sigmaIetaIeta();
279  double e5x5 = ele.e5x5();
280  if(e5x5!=0.){
281  clusShapeData.e1x5Over5x5 = ele.e1x5()/e5x5;
282  clusShapeData.e2x5MaxOver5x5 = ele.e2x5Max()/e5x5;
283  }else{
284  clusShapeData.e1x5Over5x5 = -1;
285  clusShapeData.e2x5MaxOver5x5 = -1;
286  }
287 
288  //want to calculate r9, sigmaPhiPhi and sigmaIPhiIPhi, have to do old fashioned way
289  const reco::BasicCluster& seedClus = *(ele.superCluster()->seed());
290  const DetId seedDetId = seedClus.hitsAndFractions()[0].first; //note this may not actually be the seed hit but it doesnt matter because all hits will be in the barrel OR endcap
291  if(seedDetId.subdetId()==EcalBarrel){
292  std::vector<float> stdCov = EcalClusterTools::covariances(seedClus,ebRecHits_.product(),caloTopology_.product(),caloGeom_.product());
293  std::vector<float> crysCov = EcalClusterTools::localCovariances(seedClus,ebRecHits_.product(),caloTopology_.product());
294  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
295  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
296  if(ele.superCluster()->rawEnergy()!=0.){
297  clusShapeData.r9 = EcalClusterTools::e3x3(seedClus,ebRecHits_.product(),caloTopology_.product()) / ele.superCluster()->rawEnergy();
298  }else clusShapeData.r9 = -1.;
299 
300  }else{
301  std::vector<float> stdCov = EcalClusterTools::covariances(seedClus,eeRecHits_.product(),caloTopology_.product(),caloGeom_.product());
302  std::vector<float> crysCov = EcalClusterTools::localCovariances(seedClus,eeRecHits_.product(),caloTopology_.product());
303  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
304  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
305  if(ele.superCluster()->rawEnergy()!=0.){
306  clusShapeData.r9 = EcalClusterTools::e3x3(seedClus,eeRecHits_.product(),caloTopology_.product()) / ele.superCluster()->rawEnergy();
307  }else clusShapeData.r9 = -1.;
308  }
309 }
float e2x5Max() const
Definition: GsfElectron.h:437
float sigmaIetaIeta() const
Definition: GsfElectron.h:434
T sqrt(T t)
Definition: SSEVec.h:18
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
Definition: GsfElectron.h:184
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
edm::ESHandle< CaloGeometry > caloGeom_
Definition: DetId.h:18
edm::ESHandle< CaloTopology > caloTopology_
float e1x5() const
Definition: GsfElectron.h:436
edm::Handle< EcalRecHitCollection > eeRecHits_
float e5x5() const
Definition: GsfElectron.h:438
edm::Handle< EcalRecHitCollection > ebRecHits_
T const * product() const
Definition: ESHandle.h:86
float sigmaEtaEta() const
Definition: GsfElectron.h:433
void OffHelper::fillClusShapeData ( const reco::Photon pho,
OffPho::ClusShapeData clusShapeData 
)

Definition at line 414 of file EgHLTOffHelper.cc.

References caloGeom_, caloTopology_, reco::Photon::e1x5(), egHLT::OffPho::ClusShapeData::e1x5Over5x5, reco::Photon::e2x5(), egHLT::OffPho::ClusShapeData::e2x5MaxOver5x5, heepElectronID_HEEPV50_CSA14_25ns_cff::e5x5, reco::Photon::e5x5(), ebRecHits_, EcalBarrel, eeRecHits_, edm::ESHandle< T >::product(), egHLT::OffPho::ClusShapeData::r9, reco::Photon::r9(), egHLT::OffPho::ClusShapeData::sigmaEtaEta, reco::Photon::sigmaEtaEta(), egHLT::OffPho::ClusShapeData::sigmaIEtaIEta, reco::Photon::sigmaIetaIeta(), egHLT::OffPho::ClusShapeData::sigmaIPhiIPhi, egHLT::OffPho::ClusShapeData::sigmaPhiPhi, mathSSE::sqrt(), DetId::subdetId(), and reco::Photon::superCluster().

415 {
416  clusShapeData.sigmaEtaEta = pho.sigmaEtaEta();
417  clusShapeData.sigmaIEtaIEta = pho.sigmaIetaIeta();
418  double e5x5 = pho.e5x5();
419  if(e5x5!=0.){ //even though it is almost impossible for this to be 0., this code can never ever crash under any situation
420  clusShapeData.e1x5Over5x5 = pho.e1x5()/e5x5;
421  clusShapeData.e2x5MaxOver5x5 = pho.e2x5()/e5x5;
422  }else{
423  clusShapeData.e1x5Over5x5 = -1;
424  clusShapeData.e2x5MaxOver5x5 = -1;
425  }
426  clusShapeData.r9 = pho.r9();
427 
428  //sigmaPhiPhi and sigmaIPhiIPhi are not in object (and nor should they be) so have to get them old fashioned way
429  //need to figure out if its in the barrel or endcap
430  //get the first hit of the cluster and figure out if its barrel or endcap
431  const reco::BasicCluster& seedClus = *(pho.superCluster()->seed());
432  const DetId seedDetId = seedClus.hitsAndFractions()[0].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
433  if(seedDetId.subdetId()==EcalBarrel){
434  std::vector<float> stdCov = EcalClusterTools::covariances(seedClus,ebRecHits_.product(),caloTopology_.product(),caloGeom_.product());
435  std::vector<float> crysCov = EcalClusterTools::localCovariances(seedClus,ebRecHits_.product(),caloTopology_.product());
436  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
437  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
438  }else{
439  std::vector<float> stdCov = EcalClusterTools::covariances(seedClus,eeRecHits_.product(),caloTopology_.product(),caloGeom_.product());
440  std::vector<float> crysCov = EcalClusterTools::localCovariances(seedClus,eeRecHits_.product(),caloTopology_.product());
441 
442  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
443  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
444  }
445 }
reco::SuperClusterRef superCluster() const
Ref to SuperCluster.
float e5x5() const
Definition: Photon.h:222
float e1x5() const
Shower shape variables.
Definition: Photon.h:219
T sqrt(T t)
Definition: SSEVec.h:18
float sigmaIetaIeta() const
Definition: Photon.h:225
float e2x5() const
Definition: Photon.h:220
float sigmaEtaEta() const
Definition: Photon.h:224
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
edm::ESHandle< CaloGeometry > caloGeom_
Definition: DetId.h:18
edm::ESHandle< CaloTopology > caloTopology_
edm::Handle< EcalRecHitCollection > eeRecHits_
edm::Handle< EcalRecHitCollection > ebRecHits_
float r9() const
Definition: Photon.h:228
T const * product() const
Definition: ESHandle.h:86
void OffHelper::fillHLTData ( const reco::GsfElectron ele,
OffEle::HLTData hltData 
)

Definition at line 312 of file EgHLTOffHelper.cc.

References beamSpot_, reco::GsfElectron::closestCtfTrackRef(), MuonCkfTrajectoryBuilder_cfi::deltaPhi, egHLT::OffEle::HLTData::dEtaIn, egHLT::OffEle::HLTData::dPhiIn, reco::GsfElectron::ecalEnergy(), egHLT::trigTools::fillHLTposition(), hltFiltersUsed_, hltTag_, egHLT::OffEle::HLTData::invEInvP, edm::Ref< C, T, F >::isNonnull(), reco::BeamSpot::position(), edm::Handle< T >::product(), reco::GsfElectron::superCluster(), and trigEvt_.

Referenced by fillOffEleVec(), and OffHelper().

313 {
314  if(ele.closestCtfTrackRef().isNonnull() &&
315  ele.closestCtfTrackRef()->extra().isNonnull()){
316  reco::TrackRef ctfTrack = ele.closestCtfTrackRef();
317  reco::SuperClusterRef scClus = ele.superCluster();
318 
319  //dEta
320  const reco::BeamSpot::Point& bsPos = beamSpot_->position();
321  math::XYZPoint scPosWRTVtx(scClus->x()-bsPos.x(), scClus->y()-bsPos.y() , scClus->z()-ctfTrack->vz());
322  hltData.dEtaIn = fabs(scPosWRTVtx.eta()-ctfTrack->eta());
323 
324  //dPhi: lifted straight from hlt code
325  float deltaPhi=fabs(ctfTrack->outerPosition().phi()-scClus->phi());
326  if(deltaPhi>6.283185308) deltaPhi -= 6.283185308;
327  if(deltaPhi>3.141592654) deltaPhi = 6.283185308-deltaPhi;
328  hltData.dPhiIn = deltaPhi;
329 
330  //invEInvP
331  if(ele.ecalEnergy()!=0 && ctfTrack->p()!=0) hltData.invEInvP= 1/ele.ecalEnergy() - 1/ctfTrack->p();
332  else hltData.invEInvP = 0;
333  }else{
334  hltData.dEtaIn =999;
335  hltData.dPhiIn =999;
336  hltData.invEInvP = 999;
337 
338  }
339 
340  //Now get HLT p4 from triggerobject
342  //trigTools::fillHLTposition(phos(),hltFiltersUsed_,l1PreAndSeedFilters_,evtTrigBits,trigEvt_.product(),hltTag_);
343 }
void fillHLTposition(T &obj, U &hltData, const std::vector< std::string > &filters, const trigger::TriggerEvent *trigEvt, const std::string &hltTag)
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:252
math::XYZPoint Point
point in the space
Definition: BeamSpot.h:29
TrackRef closestCtfTrackRef() const
Definition: GsfElectron.h:201
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
Definition: GsfElectron.h:184
edm::Handle< trigger::TriggerEvent > trigEvt_
T const * product() const
Definition: Handle.h:81
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
float ecalEnergy() const
Definition: GsfElectron.h:837
std::vector< std::string > hltFiltersUsed_
const Point & position() const
position
Definition: BeamSpot.h:62
edm::Handle< reco::BeamSpot > beamSpot_
std::string hltTag_
void OffHelper::fillHLTDataPho ( const reco::Photon pho,
OffPho::HLTData hltData 
)

Definition at line 346 of file EgHLTOffHelper.cc.

References egHLT::trigTools::fillHLTposition(), hltFiltersUsed_, hltTag_, edm::Handle< T >::product(), and trigEvt_.

Referenced by fillOffPhoVec(), and OffHelper().

347 {
348  //Now get HLT p4 from triggerobject
350  //trigTools::fillHLTposition(phos(),hltFiltersUsed_,l1PreAndSeedFilters_,evtTrigBits,trigEvt_.product(),hltTag_);
351 }
void fillHLTposition(T &obj, U &hltData, const std::vector< std::string > &filters, const trigger::TriggerEvent *trigEvt, const std::string &hltTag)
edm::Handle< trigger::TriggerEvent > trigEvt_
T const * product() const
Definition: Handle.h:81
std::vector< std::string > hltFiltersUsed_
std::string hltTag_
void OffHelper::fillIsolData ( const reco::GsfElectron ele,
OffEle::IsolData isolData 
)

Definition at line 244 of file EgHLTOffHelper.cc.

References calHLTEleTrkIsol_, calHLTEmIsol_, calHLTHcalIsol_, calHLTPhoTrkIsol_, caloGeom_, caloTowers_, reco::GsfElectron::dr03EcalRecHitSumEt(), reco::GsfElectron::dr03HcalDepth1TowerSumEt(), reco::GsfElectron::dr03HcalDepth2TowerSumEt(), reco::GsfElectron::dr03TkSumPt(), ebRecHits_, DetId::Ecal, ecalSeverityLevel_, eeRecHits_, EgammaHLTTrackIsolation::electronPtSum(), egHLT::OffEle::IsolData::em, reco::GsfElectron::gsfTrack(), egHLT::OffEle::IsolData::hadDepth1, egHLT::OffEle::IsolData::hadDepth2, hltEleTrkIsolAlgo_, egHLT::OffEle::IsolData::hltEm, hltEMIsolEMinEB_, hltEMIsolEMinEE_, hltEMIsolEtaSliceEB_, hltEMIsolEtaSliceEE_, hltEMIsolEtMinEB_, hltEMIsolEtMinEE_, hltEMIsolInnerConeEB_, hltEMIsolInnerConeEE_, hltEMIsolOuterCone_, egHLT::OffEle::IsolData::hltHad, hltHadIsolDepth_, hltHadIsolEtMin_, hltHadIsolInnerCone_, hltHadIsolOuterCone_, hltPhoTrkIsolAlgo_, hltPhoTrkIsolCountTrks_, egHLT::OffEle::IsolData::hltTrksEle, egHLT::OffEle::IsolData::hltTrksPho, isolTrks_, egHLT::OffEle::IsolData::nrTrks, EgammaHLTTrackIsolation::photonPtSum(), EgammaHLTTrackIsolation::photonTrackCount(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), and egHLT::OffEle::IsolData::ptTrks.

Referenced by fillOffEleVec(), fillOffPhoVec(), and OffHelper().

245 {
251 
252  isolData.ptTrks=ele.dr03TkSumPt();
253  isolData.nrTrks=999; //no longer supported
254  isolData.em= ele.dr03EcalRecHitSumEt();
255  isolData.hadDepth1 = ele.dr03HcalDepth1TowerSumEt();
256  isolData.hadDepth2 = ele.dr03HcalDepth2TowerSumEt();
257 
258  //now time to do the HLT algos
259  if(calHLTHcalIsol_) isolData.hltHad=hcalIsolAlgo.getTowerESum(&ele);
260  else isolData.hltHad = 0.;
262  else isolData.hltTrksEle = 0.;
263  if(calHLTPhoTrkIsol_){
265  else isolData.hltTrksPho=hltPhoTrkIsolAlgo_->photonPtSum(&ele,isolTrks_.product(),false);
266  }
267  else isolData.hltTrksPho = 0.;
268  if(calHLTEmIsol_) isolData.hltEm = ecalIsolAlgoEB.getEtSum(&ele) +
269  ecalIsolAlgoEE.getEtSum(&ele);
270  else isolData.hltEm = 0.;
271 
272 }
double hltEMIsolEtaSliceEB_
edm::Handle< reco::TrackCollection > isolTrks_
double hltEMIsolOuterCone_
EgammaHLTTrackIsolation * hltPhoTrkIsolAlgo_
int photonTrackCount(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
float dr03HcalDepth2TowerSumEt() const
Definition: GsfElectron.h:546
double hltEMIsolInnerConeEE_
double hltHadIsolInnerCone_
float electronPtSum(const reco::Track *const tr, const reco::TrackCollection *isoTracks)
Get Pt sum of tracks inside an isolation cone for electrons.
double hltHadIsolOuterCone_
float dr03TkSumPt() const
Definition: GsfElectron.h:543
float dr03HcalDepth1TowerSumEt() const
Definition: GsfElectron.h:545
edm::ESHandle< CaloGeometry > caloGeom_
double hltEMIsolEtaSliceEE_
double hltEMIsolInnerConeEB_
T const * product() const
Definition: Handle.h:81
float dr03EcalRecHitSumEt() const
Definition: GsfElectron.h:544
edm::Handle< EcalRecHitCollection > eeRecHits_
edm::Handle< CaloTowerCollection > caloTowers_
edm::Handle< EcalRecHitCollection > ebRecHits_
edm::ESHandle< EcalSeverityLevelAlgo > ecalSeverityLevel_
EgammaHLTTrackIsolation * hltEleTrkIsolAlgo_
T const * product() const
Definition: ESHandle.h:86
float photonPtSum(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
virtual GsfTrackRef gsfTrack() const
reference to a GsfTrack
Definition: GsfElectron.h:185
void OffHelper::fillIsolData ( const reco::Photon pho,
OffPho::IsolData isolData 
)

Definition at line 387 of file EgHLTOffHelper.cc.

References calHLTEmIsol_, calHLTHcalIsol_, calHLTPhoTrkIsol_, caloGeom_, caloTowers_, ebRecHits_, DetId::Ecal, reco::Photon::ecalRecHitSumEtConeDR03(), ecalSeverityLevel_, eeRecHits_, egHLT::OffPho::IsolData::em, egHLT::OffPho::IsolData::had, reco::Photon::hcalTowerSumEtConeDR03(), egHLT::OffPho::IsolData::hltEm, hltEMIsolEMinEB_, hltEMIsolEMinEE_, hltEMIsolEtaSliceEB_, hltEMIsolEtaSliceEE_, hltEMIsolEtMinEB_, hltEMIsolEtMinEE_, hltEMIsolInnerConeEB_, hltEMIsolInnerConeEE_, hltEMIsolOuterCone_, egHLT::OffPho::IsolData::hltHad, hltHadIsolDepth_, hltHadIsolEtMin_, hltHadIsolInnerCone_, hltHadIsolOuterCone_, hltPhoTrkIsolAlgo_, hltPhoTrkIsolCountTrks_, egHLT::OffPho::IsolData::hltTrks, isolTrks_, egHLT::OffPho::IsolData::nrTrks, reco::Photon::nTrkHollowConeDR03(), EgammaHLTTrackIsolation::photonPtSum(), EgammaHLTTrackIsolation::photonTrackCount(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), egHLT::OffPho::IsolData::ptTrks, and reco::Photon::trkSumPtHollowConeDR03().

388 {
394 
395  isolData.nrTrks = pho.nTrkHollowConeDR03();
396  isolData.ptTrks = pho.trkSumPtHollowConeDR03();
397  isolData.em = pho.ecalRecHitSumEtConeDR03();
398  isolData.had = pho.hcalTowerSumEtConeDR03();
399 
400  //now calculate hlt algos
401  if(calHLTHcalIsol_) isolData.hltHad=hcalIsolAlgo.getTowerESum(&pho);
402  else isolData.hltHad = 0.;
403  if(calHLTPhoTrkIsol_){
405  else isolData.hltTrks=hltPhoTrkIsolAlgo_->photonPtSum(&pho,isolTrks_.product(),false);
406  }
407  else isolData.hltTrks = 0.;
408  if(calHLTEmIsol_) isolData.hltEm = ecalIsolAlgoEB.getEtSum(&pho) +
409  ecalIsolAlgoEE.getEtSum(&pho);
410  else isolData.hltEm = 0.;
411 
412 }
double hltEMIsolEtaSliceEB_
edm::Handle< reco::TrackCollection > isolTrks_
float hcalTowerSumEtConeDR03() const
Hcal isolation sum.
Definition: Photon.h:429
double hltEMIsolOuterCone_
EgammaHLTTrackIsolation * hltPhoTrkIsolAlgo_
int photonTrackCount(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
float trkSumPtHollowConeDR03() const
Definition: Photon.h:443
double hltEMIsolInnerConeEE_
double hltHadIsolInnerCone_
double hltHadIsolOuterCone_
int nTrkHollowConeDR03() const
Definition: Photon.h:447
edm::ESHandle< CaloGeometry > caloGeom_
double hltEMIsolEtaSliceEE_
double hltEMIsolInnerConeEB_
T const * product() const
Definition: Handle.h:81
edm::Handle< EcalRecHitCollection > eeRecHits_
float ecalRecHitSumEtConeDR03() const
Isolation variables in cone dR=0.3.
Definition: Photon.h:427
edm::Handle< CaloTowerCollection > caloTowers_
edm::Handle< EcalRecHitCollection > ebRecHits_
edm::ESHandle< EcalSeverityLevelAlgo > ecalSeverityLevel_
T const * product() const
Definition: ESHandle.h:86
float photonPtSum(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
int OffHelper::fillOffEleVec ( std::vector< OffEle > &  offEles)

Definition at line 203 of file EgHLTOffHelper.cc.

References eleCuts_, eleLooseCuts_, fillClusShapeData(), fillHLTData(), fillIsolData(), egHLT::OffEgSel::getCutCode(), mps_fire::i, egHLT::OffEle::EventData::NVertex, egHLT::errCodes::OffEle, recoEles_, recoVertices_, egHLT::OffEle::setCutCode(), egHLT::OffEle::setLooseCutCode(), egHLT::OffEle::setTrigCutsCutCodes(), mathSSE::sqrt(), and trigCuts_.

Referenced by makeOffEvt(), and OffHelper().

204 {
205  egHLTOffEles.clear();
206  egHLTOffEles.reserve(recoEles_->size());
207  for(reco::GsfElectronCollection::const_iterator gsfIter=recoEles_->begin(); gsfIter!=recoEles_->end();++gsfIter){
208  if(!gsfIter->ecalDrivenSeed()) continue; //avoid PF electrons (this is Eg HLT validation and HLT is ecal driven)
209 
210  int nVertex=0;
211  for(reco::VertexCollection::const_iterator nVit=recoVertices_->begin(); nVit!=recoVertices_->end();++nVit){
212  if( !nVit->isFake()
213  && nVit->ndof()>4
214  && std::fabs( nVit->z()<24.0)
215  && sqrt(nVit->x()*nVit->x() + nVit->y()*nVit->y())<2.0){nVertex++;}
216  }
217  //if(nVertex>20)std::cout<<"nVertex: "<<nVertex<<std::endl;
218  OffEle::EventData eventData;
219  eventData.NVertex=nVertex;
220 
221  OffEle::IsolData isolData;
222  fillIsolData(*gsfIter,isolData);
223 
224  OffEle::ClusShapeData clusShapeData;
225  fillClusShapeData(*gsfIter,clusShapeData);
226 
227  OffEle::HLTData hltData;
228  fillHLTData(*gsfIter,hltData);
229 
230  egHLTOffEles.push_back(OffEle(*gsfIter,clusShapeData,isolData,hltData,eventData));
231 
232  //now we would like to set the cut results
233  OffEle& ele = egHLTOffEles.back();
234  ele.setCutCode(eleCuts_.getCutCode(ele));
236 
237  std::vector<std::pair<TrigCodes::TrigBitSet,int> >trigCutsCutCodes;
238  for(size_t i=0;i<trigCuts_.size();i++) trigCutsCutCodes.push_back(std::make_pair(trigCuts_[i].first,trigCuts_[i].second.getCutCode(ele)));
239  ele.setTrigCutsCutCodes(trigCutsCutCodes);
240  }//end loop over gsf electron collection
241  return 0;
242 }
void setLooseCutCode(int code)
Definition: EgHLTOffEle.h:109
void fillClusShapeData(const reco::GsfElectron &ele, OffEle::ClusShapeData &clusShapeData)
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_
int getCutCode(const OffEle &ele, int cutMask=~0x0) const
OffEgSel eleLooseCuts_
void fillIsolData(const reco::GsfElectron &ele, OffEle::IsolData &isolData)
void fillHLTData(const reco::GsfElectron &ele, OffEle::HLTData &hltData)
T sqrt(T t)
Definition: SSEVec.h:18
void setCutCode(int code)
Definition: EgHLTOffEle.h:108
edm::Handle< reco::GsfElectronCollection > recoEles_
void setTrigCutsCutCodes(const std::vector< std::pair< TrigCodes::TrigBitSet, int > > &trigCutsCutCodes)
Definition: EgHLTOffEle.h:111
edm::Handle< reco::VertexCollection > recoVertices_
int OffHelper::fillOffPhoVec ( std::vector< OffPho > &  offPhos)

Definition at line 357 of file EgHLTOffHelper.cc.

References fillClusShapeData(), fillHLTDataPho(), fillIsolData(), egHLT::OffEgSel::getCutCode(), mps_fire::i, egHLT::errCodes::OffPho, phoCuts_, phoLooseCuts_, recoPhos_, egHLT::OffPho::setCutCode(), egHLT::OffPho::setLooseCutCode(), egHLT::OffPho::setTrigCutsCutCodes(), and trigCuts_.

Referenced by makeOffEvt(), and OffHelper().

358 {
359  egHLTOffPhos.clear();
360  egHLTOffPhos.reserve(recoPhos_->size());
361  for(reco::PhotonCollection::const_iterator phoIter=recoPhos_->begin(); phoIter!=recoPhos_->end();++phoIter){
362 
363  OffPho::IsolData isolData;
364  OffPho::ClusShapeData clusShapeData;
365 
366  fillIsolData(*phoIter,isolData);
367  fillClusShapeData(*phoIter,clusShapeData);
368 
369  OffPho::HLTData hltData;
370  fillHLTDataPho(*phoIter,hltData);
371 
372  egHLTOffPhos.push_back(OffPho(*phoIter,clusShapeData,isolData,hltData));
373  OffPho& pho = egHLTOffPhos.back();
374  pho.setCutCode(phoCuts_.getCutCode(pho));
376 
377  std::vector<std::pair<TrigCodes::TrigBitSet,int> >trigCutsCutCodes;
378  for(size_t i=0;i<trigCuts_.size();i++) trigCutsCutCodes.push_back(std::make_pair(trigCuts_[i].first,trigCuts_[i].second.getCutCode(pho)));
379  pho.setTrigCutsCutCodes(trigCutsCutCodes);
380 
381 
382  }//end loop over photon collection
383  return 0;
384 }
void setTrigCutsCutCodes(const std::vector< std::pair< TrigCodes::TrigBitSet, int > > &trigCutsCutCodes)
Definition: EgHLTOffPho.h:95
OffEgSel phoLooseCuts_
void fillClusShapeData(const reco::GsfElectron &ele, OffEle::ClusShapeData &clusShapeData)
edm::Handle< reco::PhotonCollection > recoPhos_
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_
int getCutCode(const OffEle &ele, int cutMask=~0x0) const
void fillIsolData(const reco::GsfElectron &ele, OffEle::IsolData &isolData)
void fillHLTDataPho(const reco::Photon &pho, OffPho::HLTData &hltData)
void setLooseCutCode(int code)
Definition: EgHLTOffPho.h:92
void setCutCode(int code)
Definition: EgHLTOffPho.h:91
template<class T >
bool egHLT::OffHelper::getHandle ( const edm::Event event,
const edm::EDGetTokenT< T > &  token,
edm::Handle< T > &  handle 
)
static

Definition at line 197 of file EgHLTOffHelper.h.

References edm::Handle< T >::product(), and summarizeEdmComparisonLogfiles::success.

Referenced by getHandles(), and trigCuts().

198  {
199 
200  bool success=event.getByToken(token,handle);
201  return success && handle.product();
202 
203 
204  }
T const * product() const
Definition: Handle.h:81
int OffHelper::getHandles ( const edm::Event event,
const edm::EventSetup setup 
)

Definition at line 166 of file EgHLTOffHelper.cc.

References egHLT::errCodes::BeamSpot, beamSpot_, beamSpotToken, caloGeom_, caloJetsToken, caloTopology_, egHLT::errCodes::CaloTowers, caloTowers_, caloTowersToken, egHLT::errCodes::EBRecHits, ebRecHits_, ecalRecHitsEBToken, ecalRecHitsEEToken, egHLT::errCodes::EERecHits, eeRecHits_, electronsToken, egHLT::errCodes::Geom, edm::EventSetup::get(), getHandle(), hbheHits_, hbheHitsToken, egHLT::errCodes::HBHERecHits, hfHits_, hfHitsToken, egHLT::errCodes::HFRecHits, egHLT::errCodes::IsolTrks, isolTrks_, isolTrkToken, egHLT::errCodes::MagField, magField_, egHLT::errCodes::OffEle, egHLT::errCodes::OffJet, egHLT::errCodes::OffPho, egHLT::errCodes::OffVertex, photonsToken, recoEles_, recoJets_, recoPhos_, recoVertices_, egHLT::errCodes::TrigEvent, trigEvt_, triggerSummaryToken, trigResults_, trigResultsToken, and vertexToken.

Referenced by makeOffEvt(), and OffHelper().

167 {
168  try {
169  setup.get<CaloGeometryRecord>().get(caloGeom_);
170  setup.get<CaloTopologyRecord>().get(caloTopology_);
171  //setup.get<EcalSeverityLevelAlgoRcd>().get(ecalSeverityLevel_);
172  }catch(cms::Exception& iException){
173  return errCodes::Geom;
174  }
175  try {
176  setup.get<IdealMagneticFieldRecord>().get(magField_);
177  }catch(cms::Exception& iException){
178  return errCodes::MagField;
179  }
180 
181  //get objects
182  if(!getHandle(event,triggerSummaryToken,trigEvt_)) return errCodes::TrigEvent; //must have this, otherwise skip event
183  if(!getHandle(event,trigResultsToken,trigResults_)) return errCodes::TrigEvent; //re using bit to minimise bug fix code changes
184  if(!getHandle(event,electronsToken,recoEles_)) return errCodes::OffEle; //need for electrons
185  if(!getHandle(event,photonsToken, recoPhos_)) return errCodes::OffPho; //need for photons
186  if(!getHandle(event,caloJetsToken,recoJets_)) return errCodes::OffJet; //need for electrons and photons
187  if(!getHandle(event,vertexToken,recoVertices_)) return errCodes::OffVertex; //need for eff vs nVertex
188 
189  //need for HLT isolations (rec hits also need for sigmaIPhiIPhi (ele/pho) and r9 pho)
193  if(!getHandle(event,hbheHitsToken, hbheHits_)) return errCodes::HBHERecHits; //I dont think we need hbhe rec-hits any more
194  if(!getHandle(event,hfHitsToken, hfHits_)) return errCodes::HFRecHits;//I dont think we need hf rec-hits any more
197 
198 
199  return 0;
200 }
edm::Handle< reco::TrackCollection > isolTrks_
edm::EDGetTokenT< CaloTowerCollection > caloTowersToken
edm::Handle< reco::PhotonCollection > recoPhos_
edm::EDGetTokenT< HBHERecHitCollection > hbheHitsToken
edm::EDGetTokenT< reco::TrackCollection > isolTrkToken
edm::EDGetTokenT< reco::GsfElectronCollection > electronsToken
edm::Handle< HBHERecHitCollection > hbheHits_
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEEToken
edm::EDGetTokenT< reco::PhotonCollection > photonsToken
static bool getHandle(const edm::Event &event, const edm::EDGetTokenT< T > &token, edm::Handle< T > &handle)
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
edm::Handle< HFRecHitCollection > hfHits_
edm::Handle< std::vector< reco::CaloJet > > recoJets_
edm::ESHandle< MagneticField > magField_
edm::Handle< trigger::TriggerEvent > trigEvt_
edm::ESHandle< CaloGeometry > caloGeom_
edm::Handle< reco::GsfElectronCollection > recoEles_
edm::EDGetTokenT< edm::TriggerResults > trigResultsToken
edm::EDGetTokenT< HFRecHitCollection > hfHitsToken
edm::Handle< edm::TriggerResults > trigResults_
edm::ESHandle< CaloTopology > caloTopology_
const T & get() const
Definition: EventSetup.h:56
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEBToken
edm::Handle< EcalRecHitCollection > eeRecHits_
edm::Handle< CaloTowerCollection > caloTowers_
edm::Handle< EcalRecHitCollection > ebRecHits_
edm::Handle< reco::VertexCollection > recoVertices_
edm::Handle< reco::BeamSpot > beamSpot_
edm::EDGetTokenT< reco::VertexCollection > vertexToken
int OffHelper::makeOffEvt ( const edm::Event edmEvent,
const edm::EventSetup setup,
egHLT::OffEvt offEvent,
const TrigCodes trigCodes 
)

Definition at line 153 of file EgHLTOffHelper.cc.

References egHLT::OffEvt::clear(), egHLT::OffEvt::eles(), fillOffEleVec(), fillOffPhoVec(), getHandles(), egHLT::OffEvt::phos(), recoJets_, egHLT::OffEvt::setJets(), and setTrigInfo().

Referenced by EgHLTOfflineSource::analyze(), and OffHelper().

154 {
155  offEvent.clear();
156  int errCode=0; //excution stops as soon as an error is flagged
157  if(errCode==0) errCode = getHandles(edmEvent,setup);
158  if(errCode==0) errCode = fillOffEleVec(offEvent.eles());
159  if(errCode==0) errCode = fillOffPhoVec(offEvent.phos());
160  if(errCode==0) errCode = setTrigInfo(edmEvent, offEvent, c);
161  if(errCode==0) offEvent.setJets(recoJets_);
162  return errCode;
163 }
int fillOffPhoVec(std::vector< OffPho > &offPhos)
int setTrigInfo(const edm::Event &edmEvent, egHLT::OffEvt &offEvent, const TrigCodes &trigCodes)
void clear()
Definition: EgHLTOffEvt.cc:5
edm::Handle< std::vector< reco::CaloJet > > recoJets_
const std::vector< OffPho > & phos() const
Definition: EgHLTOffEvt.h:48
void setJets(edm::Handle< std::vector< reco::CaloJet > > jets)
Definition: EgHLTOffEvt.h:56
const std::vector< OffEle > & eles() const
Definition: EgHLTOffEvt.h:46
int getHandles(const edm::Event &event, const edm::EventSetup &setup)
int fillOffEleVec(std::vector< OffEle > &offEles)
OffHelper& egHLT::OffHelper::operator= ( const OffHelper )
privatedelete
int OffHelper::setTrigInfo ( const edm::Event edmEvent,
egHLT::OffEvt offEvent,
const TrigCodes trigCodes 
)

Definition at line 447 of file EgHLTOffHelper.cc.

References edm::HLTGlobalStatus::accept(), egHLT::OffEvt::eles(), egHLT::TrigCodes::getCode(), egHLT::trigTools::getFiltersPassed(), hltFiltersUsed_, hltFiltersUsedWithNrCandsCut_, hltTag_, l1PreAndSeedFilters_, l1PreScaledFilters_, l1PreScaledPaths_, egHLT::OffEvt::phos(), edm::Handle< T >::product(), egHLT::OffEvt::setEvtTrigBits(), egHLT::trigTools::setFiltersObjPasses(), findQualityFiles::size, trigEvt_, edm::TriggerNames::triggerIndex(), edm::Event::triggerNames(), and trigResults_.

Referenced by makeOffEvt(), and OffHelper().

448 {
450  //the l1 prescale paths dont have a filter with I can figure out if it passed or failed with so have to use TriggerResults
451  if(l1PreScaledPaths_.size()==l1PreScaledFilters_.size()){ //check to ensure both vectors have same number of events incase of screw ups
452  const edm::TriggerNames & triggerNames = edmEvent.triggerNames(*trigResults_);
453  for(size_t pathNr=0;pathNr<l1PreScaledPaths_.size();pathNr++){ //now we have to check the prescaled l1 trigger paths
454  unsigned int pathIndex = triggerNames.triggerIndex(l1PreScaledPaths_[pathNr]);
455  if(pathIndex<trigResults_->size() && trigResults_->accept(pathIndex)){
456  evtTrigBits |= trigCodes.getCode(l1PreScaledFilters_[pathNr]);
457  }
458  }
459  }
460 
461  offEvent.setEvtTrigBits(evtTrigBits);
462 
465  return 0;
466 }
size
Write out results.
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
Definition: Event.cc:234
TrigBitSet getCode(const char *descript) const
bool accept() const
Has at least one path accepted the event?
std::vector< std::string > l1PreScaledPaths_
std::vector< std::pair< std::string, std::string > > l1PreAndSeedFilters_
void setEvtTrigBits(TrigCodes::TrigBitSet bits)
Definition: EgHLTOffEvt.h:55
unsigned int triggerIndex(std::string const &name) const
Definition: TriggerNames.cc:32
std::vector< std::pair< std::string, int > > hltFiltersUsedWithNrCandsCut_
TrigCodes::TrigBitSet getFiltersPassed(const std::vector< std::pair< std::string, int > > &filters, const trigger::TriggerEvent *trigEvt, const std::string &hltTag, const TrigCodes &trigCodes)
edm::Handle< trigger::TriggerEvent > trigEvt_
const std::vector< OffPho > & phos() const
Definition: EgHLTOffEvt.h:48
T const * product() const
Definition: Handle.h:81
edm::Handle< edm::TriggerResults > trigResults_
std::vector< std::string > l1PreScaledFilters_
const std::vector< OffEle > & eles() const
Definition: EgHLTOffEvt.h:46
std::vector< std::string > hltFiltersUsed_
std::string hltTag_
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)
std::bitset< maxNrBits_ > TrigBitSet
void OffHelper::setup ( const edm::ParameterSet conf,
edm::ConsumesCollector &&  iC 
)

Definition at line 36 of file EgHLTOffHelper.cc.

References beamSpotToken, calHLTEleTrkIsol_, calHLTEmIsol_, calHLTHcalIsol_, calHLTPhoTrkIsol_, caloJetsToken, caloTowersToken, ecalRecHitsEBToken, ecalRecHitsEEToken, electronsToken, eleCuts_, eleLooseCuts_, edm::ParameterSet::getParameter(), hbheHitsToken, hfHitsToken, hltEleTrkIsolAlgo_, hltEleTrkIsolInnerCone_, hltEleTrkIsolOuterCone_, hltEleTrkIsolPtMin_, hltEleTrkIsolRSpan_, hltEleTrkIsolZSpan_, hltEMIsolEMinEB_, hltEMIsolEMinEE_, hltEMIsolEtaSliceEB_, hltEMIsolEtaSliceEE_, hltEMIsolEtMinEB_, hltEMIsolEtMinEE_, hltEMIsolInnerConeEB_, hltEMIsolInnerConeEE_, hltEMIsolOuterCone_, hltHadIsolDepth_, hltHadIsolEtMin_, hltHadIsolInnerCone_, hltHadIsolOuterCone_, hltPhoTrkIsolAlgo_, hltPhoTrkIsolCountTrks_, hltPhoTrkIsolInnerCone_, hltPhoTrkIsolOuterCone_, hltPhoTrkIsolPtMin_, hltPhoTrkIsolRSpan_, hltPhoTrkIsolZSpan_, hltTag_, isolTrkToken, phoCuts_, phoLooseCuts_, photonsToken, egHLT::OffEgSel::setup(), AlCaHLTBitMon_QueryRunRegistry::string, trigCutParams_, triggerSummaryToken, trigResultsToken, and vertexToken.

Referenced by EgHLTOfflineSource::EgHLTOfflineSource(), and OffHelper().

37 {
38 
39  ecalRecHitsEBToken = iC.consumes <EcalRecHitCollection > (conf.getParameter<edm::InputTag>("BarrelRecHitCollection"));
40  ecalRecHitsEEToken = iC.consumes <EcalRecHitCollection > (conf.getParameter<edm::InputTag>("EndcapRecHitCollection"));
41  caloJetsToken = iC.consumes <reco::CaloJetCollection > (conf.getParameter<edm::InputTag>("CaloJetCollection"));
42  isolTrkToken = iC.consumes <reco::TrackCollection > (conf.getParameter<edm::InputTag>("IsolTrackCollection"));
43  hbheHitsToken = iC.consumes <HBHERecHitCollection > (conf.getParameter<edm::InputTag>("HBHERecHitCollection"));
44  hfHitsToken = iC.consumes <HFRecHitCollection > (conf.getParameter<edm::InputTag>("HFRecHitCollection"));
46  photonsToken = iC.consumes <reco::PhotonCollection > (conf.getParameter<edm::InputTag>("PhotonCollection"));
47  triggerSummaryToken = iC.consumes <trigger::TriggerEvent> (conf.getParameter<edm::InputTag>("triggerSummaryLabel"));
48  hltTag_ = conf.getParameter<std::string>("hltTag");
49  beamSpotToken = iC.consumes <reco::BeamSpot > (conf.getParameter<edm::InputTag>("BeamSpotProducer"));
52  vertexToken = iC.consumes <reco::VertexCollection > (conf.getParameter<edm::InputTag>("VertexCollection"));
53 
54  eleCuts_.setup(conf.getParameter<edm::ParameterSet>("eleCuts"));
55  eleLooseCuts_.setup(conf.getParameter<edm::ParameterSet>("eleLooseCuts"));
56  phoCuts_.setup(conf.getParameter<edm::ParameterSet>("phoCuts"));
57  phoLooseCuts_.setup(conf.getParameter<edm::ParameterSet>("phoLooseCuts"));
58 
59  //now we have the isolations completely configurable via python
60  hltEMIsolOuterCone_ = conf.getParameter<double>("hltEMIsolOuterCone");
61  hltEMIsolInnerConeEB_ = conf.getParameter<double>("hltEMIsolInnerConeEB");
62  hltEMIsolEtaSliceEB_ = conf.getParameter<double>("hltEMIsolEtaSliceEB");
63  hltEMIsolEtMinEB_ = conf.getParameter<double>("hltEMIsolEtMinEB");
64  hltEMIsolEMinEB_ = conf.getParameter<double>("hltEMIsolEMinEB");
65  hltEMIsolInnerConeEE_ = conf.getParameter<double>("hltEMIsolInnerConeEE");
66  hltEMIsolEtaSliceEE_ = conf.getParameter<double>("hltEMIsolEtaSliceEE");
67  hltEMIsolEtMinEE_ = conf.getParameter<double>("hltEMIsolEtMinEE");
68  hltEMIsolEMinEE_ = conf.getParameter<double>("hltEMIsolEMinEE");
69 
70  hltPhoTrkIsolPtMin_ = conf.getParameter<double>("hltPhoTrkIsolPtMin");
71  hltPhoTrkIsolOuterCone_ = conf.getParameter<double>("hltPhoTrkIsolOuterCone");
72  hltPhoTrkIsolInnerCone_ = conf.getParameter<double>("hltPhoTrkIsolInnerCone");
73  hltPhoTrkIsolZSpan_ = conf.getParameter<double>("hltPhoTrkIsolZSpan");
74  hltPhoTrkIsolRSpan_ = conf.getParameter<double>("hltPhoTrkIsolZSpan");
75  hltPhoTrkIsolCountTrks_ = conf.getParameter<bool>("hltPhoTrkIsolCountTrks");
76 
77  hltEleTrkIsolPtMin_ = conf.getParameter<double>("hltEleTrkIsolPtMin");
78  hltEleTrkIsolOuterCone_ = conf.getParameter<double>("hltEleTrkIsolOuterCone");
79  hltEleTrkIsolInnerCone_ = conf.getParameter<double>("hltEleTrkIsolInnerCone");
80  hltEleTrkIsolZSpan_ = conf.getParameter<double>("hltEleTrkIsolZSpan");
81  hltEleTrkIsolRSpan_ = conf.getParameter<double>("hltEleTrkIsolZSpan");
82 
83  hltHadIsolOuterCone_ = conf.getParameter<double>("hltHadIsolOuterCone");
84  hltHadIsolInnerCone_ = conf.getParameter<double>("hltHadIsolInnerCone");
85  hltHadIsolEtMin_ = conf.getParameter<double>("hltHadIsolEtMin");
86  hltHadIsolDepth_ = conf.getParameter<int>("hltHadIsolDepth");
87 
88  calHLTHcalIsol_ = conf.getParameter<bool>("calHLTHcalIsol");
89  calHLTEmIsol_ = conf.getParameter<bool>("calHLTEmIsol");
90  calHLTEleTrkIsol_ = conf.getParameter<bool>("calHLTEleTrkIsol");
91  calHLTPhoTrkIsol_ = conf.getParameter<bool>("calHLTPhoTrkIsol");
92 
93  trigCutParams_ = conf.getParameter<std::vector<edm::ParameterSet> >("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.
94 
95  hltEleTrkIsolAlgo_ = new EgammaHLTTrackIsolation(hltEleTrkIsolPtMin_,hltEleTrkIsolOuterCone_,hltEleTrkIsolZSpan_,hltEleTrkIsolRSpan_,hltEleTrkIsolInnerCone_);
96  hltPhoTrkIsolAlgo_ = new EgammaHLTTrackIsolation(hltPhoTrkIsolPtMin_,hltPhoTrkIsolOuterCone_,hltPhoTrkIsolZSpan_,hltPhoTrkIsolRSpan_,hltPhoTrkIsolInnerCone_);
97 
98 
99 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
double hltEMIsolEtaSliceEB_
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
double hltPhoTrkIsolRSpan_
edm::EDGetTokenT< CaloTowerCollection > caloTowersToken
OffEgSel phoLooseCuts_
double hltEMIsolOuterCone_
OffEgSel eleLooseCuts_
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
edm::EDGetTokenT< HBHERecHitCollection > hbheHitsToken
EgammaHLTTrackIsolation * hltPhoTrkIsolAlgo_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
double hltEleTrkIsolOuterCone_
edm::EDGetTokenT< reco::TrackCollection > isolTrkToken
double hltEMIsolInnerConeEE_
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
edm::EDGetTokenT< reco::GsfElectronCollection > electronsToken
std::vector< edm::ParameterSet > trigCutParams_
double hltEleTrkIsolInnerCone_
double hltPhoTrkIsolPtMin_
double hltEleTrkIsolZSpan_
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
double hltHadIsolInnerCone_
void setup(const edm::ParameterSet &)
double hltPhoTrkIsolZSpan_
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEEToken
double hltEleTrkIsolRSpan_
double hltHadIsolOuterCone_
edm::EDGetTokenT< reco::PhotonCollection > photonsToken
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
double hltEleTrkIsolPtMin_
double hltPhoTrkIsolInnerCone_
double hltEMIsolEtaSliceEE_
double hltEMIsolInnerConeEB_
edm::EDGetTokenT< edm::TriggerResults > trigResultsToken
edm::EDGetTokenT< HFRecHitCollection > hfHitsToken
std::vector< Photon > PhotonCollection
collectin of Photon objects
Definition: PhotonFwd.h:9
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEBToken
double hltPhoTrkIsolOuterCone_
EgammaHLTTrackIsolation * hltEleTrkIsolAlgo_
std::string hltTag_
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
edm::EDGetTokenT< reco::VertexCollection > vertexToken
void OffHelper::setupTriggers ( const HLTConfigProvider config,
const std::vector< std::string > &  hltFiltersUsed,
const TrigCodes trigCodes 
)

Definition at line 103 of file EgHLTOffHelper.cc.

References spr::find(), egHLT::TrigCodes::getCode(), egHLT::trigTools::getL1SeedFilterOfPath(), egHLT::trigTools::getMinNrObjsRequiredByFilter(), hltFiltersUsed_, hltFiltersUsedWithNrCandsCut_, l1PreAndSeedFilters_, l1PreScaledFilters_, l1PreScaledPaths_, AlCaHLTBitMon_QueryRunRegistry::string, egHLT::trigTools::translateFiltersToPathNames(), trigCutParams_, and trigCuts_.

Referenced by EgHLTOfflineSource::bookHistograms(), and OffHelper().

104 {
105  hltFiltersUsed_ = hltFiltersUsed; //expensive but only do this once and faster ways could make things less clear
106  //now work out how many objects are requires to pass filter for it to accept
109  for(size_t filterNr=0;filterNr<hltFiltersUsed_.size();filterNr++){
110  hltFiltersUsedWithNrCandsCut_.push_back(std::make_pair(hltFiltersUsed_[filterNr],getMRObjs[filterNr]));
111  }
112 
113  //now loading the cuts for every trigger into our vector which stores them
114  //only load cuts for triggers that are in hltFiltersUsed
115 
116  for(size_t trigNr=0;trigNr<trigCutParams_.size();trigNr++) {
117  std::string trigName = trigCutParams_[trigNr].getParameter<std::string>("trigName");
118  if(std::find(hltFiltersUsed_.begin(),hltFiltersUsed_.end(),trigName)!=hltFiltersUsed_.end()){ //perhaps I should sort hltFiltersUsed_....
119  trigCuts_.push_back(std::make_pair(trigCodes.getCode(trigName),OffEgSel(trigCutParams_[trigNr])));
120  // std::cout<<trigName<<std::endl<<"between"<<std::endl<<trigCutParams_[trigNr]<<std::endl<<"after"<<std::endl;
121  }
122  }
123  trigCutParams_.clear();//dont need it any more, get rid of it
124 
125  //to make my life difficult, the scaled l1 paths are special
126  //and arent stored in trigger event
127  //to I have to figure out the path, see if it passes
128  //and then hunt down the l1 seed filter and use that to match to the pho/ele
129  //matching on l1 seed filter is not enough as that will be passed for normal
130  //electron triggers even if pre-scale hasnt fired
131  l1PreScaledFilters_.clear();
132  l1PreScaledPaths_.clear();
133  l1PreAndSeedFilters_.clear();
134  for(size_t filterNr=0;filterNr<hltFiltersUsed_.size();filterNr++){
135  if(hltFiltersUsed_[filterNr].find("hltPreL1")==0){ //l1 prescaled path
136  l1PreScaledFilters_.push_back(hltFiltersUsed_[filterNr]);
137  }
138  }
139 
141  if(l1PreScaledPaths_.size()==l1PreScaledFilters_.size()){
142  for(size_t pathNr=0;pathNr<l1PreScaledPaths_.size();pathNr++){
143 
145  //---Morse====
146  //std::cout<<l1PreScaledFilters_[pathNr]<<" "<<l1PreScaledPaths_[pathNr]<<" "<<l1SeedFilter<<std::endl;
147  //------------
148  l1PreAndSeedFilters_.push_back(std::make_pair(l1PreScaledFilters_[pathNr],l1SeedFilter));
149  }
150  }
151 }
TrigBitSet getCode(const char *descript) const
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_
std::vector< std::string > l1PreScaledPaths_
std::vector< std::pair< std::string, std::string > > l1PreAndSeedFilters_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
std::vector< edm::ParameterSet > trigCutParams_
std::string getL1SeedFilterOfPath(const HLTConfigProvider &hltConfig, const std::string &path)
std::vector< std::pair< std::string, int > > hltFiltersUsedWithNrCandsCut_
std::vector< int > getMinNrObjsRequiredByFilter(const std::vector< std::string > &filterName)
std::vector< std::string > l1PreScaledFilters_
std::vector< std::string > hltFiltersUsed_
void translateFiltersToPathNames(const HLTConfigProvider &hltConfig, const std::vector< std::string > &filters, std::vector< std::string > &paths)
const std::vector<std::pair<TrigCodes::TrigBitSet,OffEgSel> >& egHLT::OffHelper::trigCuts ( ) const
inline

Definition at line 189 of file EgHLTOffHelper.h.

References getHandle(), cmsBatch::handle, and trigCuts_.

189 {return trigCuts_;}
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_
const trigger::TriggerEvent* egHLT::OffHelper::trigEvt ( ) const
inline

Definition at line 188 of file EgHLTOffHelper.h.

References edm::Handle< T >::product().

188 {return trigEvt_.product();}
edm::Handle< trigger::TriggerEvent > trigEvt_
T const * product() const
Definition: Handle.h:81

Member Data Documentation

edm::Handle<reco::BeamSpot> egHLT::OffHelper::beamSpot_
private

Definition at line 101 of file EgHLTOffHelper.h.

Referenced by fillHLTData(), and getHandles().

edm::EDGetTokenT<reco::BeamSpot> egHLT::OffHelper::beamSpotToken
private

Definition at line 80 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

bool egHLT::OffHelper::calHLTEleTrkIsol_
private

Definition at line 153 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

bool egHLT::OffHelper::calHLTEmIsol_
private

Definition at line 152 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

bool egHLT::OffHelper::calHLTHcalIsol_
private

Definition at line 151 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

bool egHLT::OffHelper::calHLTPhoTrkIsol_
private

Definition at line 154 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

edm::ESHandle<CaloGeometry> egHLT::OffHelper::caloGeom_
private

Definition at line 85 of file EgHLTOffHelper.h.

Referenced by fillClusShapeData(), fillIsolData(), and getHandles().

edm::EDGetTokenT<reco::CaloJetCollection> egHLT::OffHelper::caloJetsToken
private

Definition at line 73 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

edm::ESHandle<CaloTopology> egHLT::OffHelper::caloTopology_
private

Definition at line 86 of file EgHLTOffHelper.h.

Referenced by fillClusShapeData(), and getHandles().

edm::Handle<CaloTowerCollection> egHLT::OffHelper::caloTowers_
private

Definition at line 102 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and getHandles().

edm::EDGetTokenT<CaloTowerCollection> egHLT::OffHelper::caloTowersToken
private

Definition at line 81 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

edm::Handle<EcalRecHitCollection> egHLT::OffHelper::ebRecHits_
private

Definition at line 90 of file EgHLTOffHelper.h.

Referenced by fillClusShapeData(), fillIsolData(), and getHandles().

edm::EDGetTokenT<EcalRecHitCollection> egHLT::OffHelper::ecalRecHitsEBToken
private

Definition at line 71 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

edm::EDGetTokenT<EcalRecHitCollection> egHLT::OffHelper::ecalRecHitsEEToken
private

Definition at line 72 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

edm::ESHandle<EcalSeverityLevelAlgo> egHLT::OffHelper::ecalSeverityLevel_
private

Definition at line 88 of file EgHLTOffHelper.h.

Referenced by fillIsolData().

edm::Handle<EcalRecHitCollection> egHLT::OffHelper::eeRecHits_
private

Definition at line 91 of file EgHLTOffHelper.h.

Referenced by fillClusShapeData(), fillIsolData(), and getHandles().

edm::EDGetTokenT<reco::GsfElectronCollection> egHLT::OffHelper::electronsToken
private

Definition at line 78 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

OffEgSel egHLT::OffHelper::eleCuts_
private

Definition at line 64 of file EgHLTOffHelper.h.

Referenced by fillOffEleVec(), and setup().

OffEgSel egHLT::OffHelper::eleLooseCuts_
private

Definition at line 63 of file EgHLTOffHelper.h.

Referenced by fillOffEleVec(), and setup().

edm::Handle<HBHERecHitCollection> egHLT::OffHelper::hbheHits_
private

Definition at line 93 of file EgHLTOffHelper.h.

Referenced by getHandles().

edm::EDGetTokenT<HBHERecHitCollection> egHLT::OffHelper::hbheHitsToken
private

Definition at line 75 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

edm::Handle<HFRecHitCollection> egHLT::OffHelper::hfHits_
private

Definition at line 92 of file EgHLTOffHelper.h.

Referenced by getHandles().

edm::EDGetTokenT<HFRecHitCollection> egHLT::OffHelper::hfHitsToken
private

Definition at line 76 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

EgammaHLTTrackIsolation* egHLT::OffHelper::hltEleTrkIsolAlgo_
private

Definition at line 119 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), setup(), and ~OffHelper().

double egHLT::OffHelper::hltEleTrkIsolInnerCone_
private

Definition at line 142 of file EgHLTOffHelper.h.

Referenced by setup().

double egHLT::OffHelper::hltEleTrkIsolOuterCone_
private

Definition at line 141 of file EgHLTOffHelper.h.

Referenced by setup().

double egHLT::OffHelper::hltEleTrkIsolPtMin_
private

Definition at line 140 of file EgHLTOffHelper.h.

Referenced by setup().

double egHLT::OffHelper::hltEleTrkIsolRSpan_
private

Definition at line 144 of file EgHLTOffHelper.h.

Referenced by setup().

double egHLT::OffHelper::hltEleTrkIsolZSpan_
private

Definition at line 143 of file EgHLTOffHelper.h.

Referenced by setup().

double egHLT::OffHelper::hltEMIsolEMinEB_
private

Definition at line 128 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltEMIsolEMinEE_
private

Definition at line 132 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltEMIsolEtaSliceEB_
private

Definition at line 126 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltEMIsolEtaSliceEE_
private

Definition at line 130 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltEMIsolEtMinEB_
private

Definition at line 127 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltEMIsolEtMinEE_
private

Definition at line 131 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltEMIsolInnerConeEB_
private

Definition at line 125 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltEMIsolInnerConeEE_
private

Definition at line 129 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltEMIsolOuterCone_
private

Definition at line 124 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

std::vector<std::string> egHLT::OffHelper::hltFiltersUsed_
private

Definition at line 111 of file EgHLTOffHelper.h.

Referenced by fillHLTData(), fillHLTDataPho(), setTrigInfo(), and setupTriggers().

std::vector<std::pair<std::string,int> > egHLT::OffHelper::hltFiltersUsedWithNrCandsCut_
private

Definition at line 112 of file EgHLTOffHelper.h.

Referenced by setTrigInfo(), and setupTriggers().

int egHLT::OffHelper::hltHadIsolDepth_
private

Definition at line 149 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltHadIsolEtMin_
private

Definition at line 148 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltHadIsolInnerCone_
private

Definition at line 147 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltHadIsolOuterCone_
private

Definition at line 146 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

EgammaHLTTrackIsolation* egHLT::OffHelper::hltPhoTrkIsolAlgo_
private

Definition at line 120 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), setup(), and ~OffHelper().

bool egHLT::OffHelper::hltPhoTrkIsolCountTrks_
private

Definition at line 139 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

double egHLT::OffHelper::hltPhoTrkIsolInnerCone_
private

Definition at line 136 of file EgHLTOffHelper.h.

Referenced by setup().

double egHLT::OffHelper::hltPhoTrkIsolOuterCone_
private

Definition at line 135 of file EgHLTOffHelper.h.

Referenced by setup().

double egHLT::OffHelper::hltPhoTrkIsolPtMin_
private

Definition at line 134 of file EgHLTOffHelper.h.

Referenced by setup().

double egHLT::OffHelper::hltPhoTrkIsolRSpan_
private

Definition at line 138 of file EgHLTOffHelper.h.

Referenced by setup().

double egHLT::OffHelper::hltPhoTrkIsolZSpan_
private

Definition at line 137 of file EgHLTOffHelper.h.

Referenced by setup().

std::string egHLT::OffHelper::hltTag_
private

Definition at line 110 of file EgHLTOffHelper.h.

Referenced by fillHLTData(), fillHLTDataPho(), setTrigInfo(), and setup().

edm::Handle<reco::TrackCollection> egHLT::OffHelper::isolTrks_
private

Definition at line 94 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and getHandles().

edm::EDGetTokenT<reco::TrackCollection> egHLT::OffHelper::isolTrkToken
private

Definition at line 74 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

std::vector<std::pair<std::string,std::string> > egHLT::OffHelper::l1PreAndSeedFilters_
private

Definition at line 113 of file EgHLTOffHelper.h.

Referenced by setTrigInfo(), and setupTriggers().

std::vector<std::string> egHLT::OffHelper::l1PreScaledFilters_
private

Definition at line 115 of file EgHLTOffHelper.h.

Referenced by setTrigInfo(), and setupTriggers().

std::vector<std::string> egHLT::OffHelper::l1PreScaledPaths_
private

Definition at line 114 of file EgHLTOffHelper.h.

Referenced by setTrigInfo(), and setupTriggers().

edm::ESHandle<MagneticField> egHLT::OffHelper::magField_
private

Definition at line 87 of file EgHLTOffHelper.h.

Referenced by getHandles().

OffEgSel egHLT::OffHelper::phoCuts_
private

Definition at line 66 of file EgHLTOffHelper.h.

Referenced by fillOffPhoVec(), and setup().

OffEgSel egHLT::OffHelper::phoLooseCuts_
private

Definition at line 65 of file EgHLTOffHelper.h.

Referenced by fillOffPhoVec(), and setup().

edm::EDGetTokenT<reco::PhotonCollection> egHLT::OffHelper::photonsToken
private

Definition at line 79 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

edm::Handle<reco::GsfElectronCollection> egHLT::OffHelper::recoEles_
private

Definition at line 98 of file EgHLTOffHelper.h.

Referenced by fillOffEleVec(), and getHandles().

edm::Handle<std::vector<reco::CaloJet> > egHLT::OffHelper::recoJets_
private

Definition at line 99 of file EgHLTOffHelper.h.

Referenced by getHandles(), and makeOffEvt().

edm::Handle<reco::PhotonCollection> egHLT::OffHelper::recoPhos_
private

Definition at line 97 of file EgHLTOffHelper.h.

Referenced by fillOffPhoVec(), and getHandles().

edm::Handle<reco::VertexCollection> egHLT::OffHelper::recoVertices_
private

Definition at line 106 of file EgHLTOffHelper.h.

Referenced by fillOffEleVec(), and getHandles().

std::vector<edm::ParameterSet> egHLT::OffHelper::trigCutParams_
private

Definition at line 157 of file EgHLTOffHelper.h.

Referenced by setup(), and setupTriggers().

std::vector<std::pair<TrigCodes::TrigBitSet,OffEgSel> > egHLT::OffHelper::trigCuts_
private

Definition at line 68 of file EgHLTOffHelper.h.

Referenced by fillOffEleVec(), fillOffPhoVec(), setupTriggers(), and trigCuts().

edm::Handle<trigger::TriggerEvent> egHLT::OffHelper::trigEvt_
private

Definition at line 96 of file EgHLTOffHelper.h.

Referenced by fillHLTData(), fillHLTDataPho(), getHandles(), and setTrigInfo().

edm::EDGetTokenT<trigger::TriggerEvent> egHLT::OffHelper::triggerSummaryToken
private

Definition at line 77 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

edm::Handle<edm::TriggerResults> egHLT::OffHelper::trigResults_
private

Definition at line 104 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setTrigInfo().

edm::EDGetTokenT<edm::TriggerResults> egHLT::OffHelper::trigResultsToken
private

Definition at line 82 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

edm::EDGetTokenT<reco::VertexCollection> egHLT::OffHelper::vertexToken
private

Definition at line 83 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().