CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
ValidIsoTrkCalib Class Reference
Inheritance diagram for ValidIsoTrkCalib:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 ValidIsoTrkCalib (const edm::ParameterSet &)
 
 ~ValidIsoTrkCalib ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &) override
 
virtual void beginJob () override
 
virtual void endJob () override
 

Private Attributes

bool allowMissingInputs_
 
double associationConeSize_
 
string AxB_
 
double calibrationConeSize_
 
float CentHitFactor
 
float delR
 
int dietatr
 
int diphitr
 
float e3x3After
 
float e3x3Before
 
float e5x5After
 
float e5x5Before
 
float eAfterDepth1
 
float eAfterDepth2
 
float eBeforeDepth1
 
float eBeforeDepth2
 
float eCentHitAfter
 
float eCentHitBefore
 
float eClustAfter
 
float eClustBefore
 
float eECAL
 
Float_t emEnergy
 
double energyECALmip
 
double energyMaxIso
 
double energyMinIso
 
float etaTrack
 
float eTrack
 
int eventNumber
 
edm::Service< TFileServicefs
 
TTree * fTree
 
int gen
 
std::vector< edm::InputTaggenecalLabel_
 
float genEta [500]
 
InputTag genhbheLabel_
 
InputTag genhoLabel_
 
float genPhi [500]
 
float genPt [500]
 
const CaloGeometrygeo
 
float HTime [100]
 
float iDr
 
int iEta
 
int iEtaTr
 
int iPhi
 
int iPhiTr
 
int iso
 
float isoEta [500]
 
float isoPhi [500]
 
float isoPt [500]
 
float iTime
 
double maxPNear
 
int MinNTECHitsEndcap
 
int MinNTrackHitsBarrel
 
int Nhits
 
int NisoTrk
 
TH1F * nTracks
 
int numHits
 
float numValidTrkHits
 
float numValidTrkStrips
 
float numVH
 
float numVS
 
string outputFileName_
 
TrackAssociatorParameters parameters_
 
float phiTrack
 
int pix
 
float pixEta [500]
 
float pixPhi [500]
 
float pixPt [500]
 
float ptNear
 
float PtNearBy
 
float ptrack
 
const HcalRespCorrsrespRecalib
 
int runNumber
 
float rvert
 
double taECALCone_
 
double taHCALCone_
 
bool takeGenTracks_
 
Float_t targetE
 
edm::EDGetTokenT
< reco::TrackCollection
tok_genTrack_
 
edm::EDGetTokenT
< HBHERecHitCollection
tok_hbhe_
 
edm::EDGetTokenT
< HORecHitCollection
tok_ho_
 
edm::EDGetTokenT
< reco::TrackCollection
tok_track1_
 
edm::EDGetTokenT
< reco::IsolatedPixelTrackCandidateCollection
tok_track_
 
TrackDetectorAssociator trackAssociator_
 
float trackE
 
float trackEta
 
float trackPhi
 
float trackPt
 
TTree * tTree
 
Float_t xTrkEcal
 
Float_t xTrkHcal
 
Float_t yTrkEcal
 
Float_t yTrkHcal
 
Float_t zTrkEcal
 
Float_t zTrkHcal
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 66 of file ValidIsoTrkCalib.cc.

Constructor & Destructor Documentation

ValidIsoTrkCalib::ValidIsoTrkCalib ( const edm::ParameterSet iConfig)
explicit

Definition at line 199 of file ValidIsoTrkCalib.cc.

References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), Parameters::parameters, and AlCaHLTBitMon_QueryRunRegistry::string.

201 {
202 
203  //takeAllRecHits_=iConfig.getUntrackedParameter<bool>("takeAllRecHits");
204  takeGenTracks_=iConfig.getUntrackedParameter<bool>("takeGenTracks");
205 
206  tok_genTrack_ = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("genTracksLabel"));
207  genhbheLabel_= iConfig.getParameter<edm::InputTag>("genHBHE");
208  //genhoLabel_=iConfig.getParameter<edm::InputTag>("genHO");
209  //genecalLabel_=iConfig.getParameter<std::vector<edm::InputTag> >("genECAL");
210 
211  // m_hcalLabel = iConfig.getUntrackedParameter<std::string> ("hcalRecHitsLabel","hbhereco");
212 
213  tok_hbhe_ = consumes<HBHERecHitCollection>(iConfig.getParameter<edm::InputTag>("hbheInput"));
214  tok_ho_ = consumes<HORecHitCollection>(iConfig.getParameter<edm::InputTag>("hoInput"));
215  //eLabel_=iConfig.getParameter<edm::InputTag>("eInput");
216  tok_track_ = consumes<reco::IsolatedPixelTrackCandidateCollection>(iConfig.getParameter<edm::InputTag>("HcalIsolTrackInput"));
217  tok_track1_ = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("trackInput"));
218 
219  associationConeSize_=iConfig.getParameter<double>("associationConeSize");
220  allowMissingInputs_=iConfig.getUntrackedParameter<bool>("allowMissingInputs", true);
221 // outputFileName_=iConfig.getParameter<std::string>("outputFileName");
222  // calibFactorsFileName_=iConfig.getParameter<std::string>("calibFactorsFileName");
223 
224 
225  AxB_=iConfig.getParameter<std::string>("AxB");
226  calibrationConeSize_=iConfig.getParameter<double>("calibrationConeSize");
227 
228  MinNTrackHitsBarrel = iConfig.getParameter<int>("MinNTrackHitsBarrel");
229  MinNTECHitsEndcap = iConfig.getParameter<int>("MinNTECHitsEndcap");
230  energyECALmip = iConfig.getParameter<double>("energyECALmip");
231  energyMinIso = iConfig.getParameter<double>("energyMinIso");
232  energyMaxIso = iConfig.getParameter<double>("energyMaxIso");
233  maxPNear = iConfig.getParameter<double>("maxPNear");
234 
235  edm::ParameterSet parameters = iConfig.getParameter<edm::ParameterSet>("TrackAssociatorParameters");
238 
239  // taECALCone_=iConfig.getUntrackedParameter<double>("TrackAssociatorECALCone",0.5);
240  //taHCALCone_=iConfig.getUntrackedParameter<double>("TrackAssociatorHCALCone",0.6);
241 
242 }
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
dictionary parameters
Definition: Parameters.py:2
void useDefaultPropagator()
use the default propagator
TrackAssociatorParameters parameters_
edm::EDGetTokenT< reco::IsolatedPixelTrackCandidateCollection > tok_track_
TrackDetectorAssociator trackAssociator_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
edm::EDGetTokenT< HORecHitCollection > tok_ho_
edm::EDGetTokenT< reco::TrackCollection > tok_track1_
void loadParameters(const edm::ParameterSet &)
ValidIsoTrkCalib::~ValidIsoTrkCalib ( )

Definition at line 245 of file ValidIsoTrkCalib.cc.

246 {
247 
248  // do anything here that needs to be done at desctruction time
249  // (e.g. close files, deallocate resources etc.)
250 
251 }

Member Function Documentation

void ValidIsoTrkCalib::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 256 of file ValidIsoTrkCalib.cc.

References funct::abs(), gather_cfg::cout, MaxHit_struct::depthhit, MaxHit_struct::dr, alignCSCRings::e, edm::EventID::event(), HcalObjRepresent::Fill(), relval_steps::gen(), mixHitsAndTracksWithPU_cfi::generalTracks, edm::EventSetup::get(), edm::Event::getByToken(), getDistInPlaneSimple(), reco::JetExtendedAssociation::getValue(), DetId::Hcal, HcalBarrel, MaxHit_struct::hitenergy, i, edm::EventBase::id(), HcalDetId::ieta(), MaxHit_struct::ietahitm, info(), HcalDetId::iphi(), MaxHit_struct::iphihitm, n, edm::ESHandle< class >::product(), edm::EventID::run(), convertSQLiteXML::runNumber, mathSSE::sqrt(), reco::btau::trackEta, reco::btau::trackPhi, listHistos::trackPt, TrackDetMatchInfo::trkGlobPosAtEcal, and TrackDetMatchInfo::trkGlobPosAtHcal.

257 {
258  using namespace edm;
259 
260  try{
261  edm::ESHandle <HcalRespCorrs> recalibCorrs;
262  iSetup.get<HcalRespCorrsRcd>().get("recalibrate",recalibCorrs);
263  respRecalib = recalibCorrs.product();
264 
265  LogInfo("CalibConstants")<<" Loaded: OK ";
266 
267  }catch(const cms::Exception & e) {
268  LogWarning("CalibConstants")<<" Not Found!! ";
269  }
270 
273 
275  iEvent.getByToken(tok_track1_,isoProdTracks);
276 
277 
279  //edm::Handle<reco::TrackCollection> isoPixelTracks;
280  iEvent.getByToken(tok_track_,isoPixelTracks);
281 
282  /*
283  edm::Handle<EcalRecHitCollection> ecal;
284  iEvent.getByLabel(eLabel_,ecal);
285  const EcalRecHitCollection Hitecal = *(ecal.product());
286  */
287 
289  iEvent.getByToken(tok_hbhe_,hbhe);
290  const HBHERecHitCollection Hithbhe = *(hbhe.product());
291 
293  iSetup.get<CaloGeometryRecord>().get(pG);
294  geo = pG.product();
295 
297  //Note: even though it says HcalBarrel, we actually get the whole Hcal detector geometry!
298 
299  // Lumi_n=iEvent.luminosityBlock();
300  parameters_.useEcal = true;
301  parameters_.useHcal = true;
302  parameters_.useCalo = false;
303  parameters_.useMuon = false;
304  //parameters_.dREcal = taECALCone_;
305  //parameters_.dRHcal = taHCALCone_;
306 
307  //cout<<"Hello World. TrackCollectionSize: "<< isoPixelTracks->size()<<endl;
308 
309 if (isoPixelTracks->size()==0) return;
310 
311 
312 for (reco::TrackCollection::const_iterator trit=isoProdTracks->begin(); trit!=isoProdTracks->end(); trit++)
313  {
314 
315  reco::IsolatedPixelTrackCandidateCollection::const_iterator isoMatched=isoPixelTracks->begin();
316  //reco::TrackCollection::const_iterator isoMatched=isoPixelTracks->begin();
317  bool matched=false;
318 
319  //for (reco::IsolatedPixelTrackCandidateCollection::const_iterator trit = isoPixelTracks->begin(); trit!=isoPixelTracks->end(); trit++)
320  for (reco::IsolatedPixelTrackCandidateCollection::const_iterator it = isoPixelTracks->begin(); it!=isoPixelTracks->end(); it++)
321  //for (reco::TrackCollection::const_iterator it = isoPixelTracks->begin(); it!=isoPixelTracks->end(); it++)
322  {
323 
324  if (abs((trit->pt() - it->pt())/it->pt()) < 0.005 && abs(trit->eta() - it->eta()) < 0.01)
325  {
326  isoMatched=it;
327  matched=true;
328  break;
329  }
330  }
331  // CUT
332 
333  if (!matched) continue;
334  if(isoMatched->maxPtPxl() > maxPNear) continue;
335 
336  ptNear = isoMatched->maxPtPxl();
337  //cout<<"Point 0.1 isoMatch. ptnear: "<<ptNear<<endl;
338 
339 
340  // CUT
341  if (trit->hitPattern().numberOfValidHits()<MinNTrackHitsBarrel) continue;
342  if (fabs(trit->eta())>1.47&&trit->hitPattern().numberOfValidStripTECHits()<MinNTECHitsEndcap) continue;
343 
344  //cout<<"Point 0.2.1 after numofvalidhits HB: "<<trit->hitPattern().numberOfValidHits()<<endl;
345  //cout<<"Point 0.2.2 after numofvalidstrips HE: "<<trit->hitPattern().numberOfValidStripTECHits()<<endl;
346 
347  numVH = trit->hitPattern().numberOfValidHits();
348  numVS = trit->hitPattern().numberOfValidStripTECHits();
349 
350 
351 
352  trackE = sqrt(trit->px()*trit->px()+trit->py()*trit->py()+trit->pz()*trit->pz()+0.14*0.14);
353  trackPt = trit->pt();
354  trackEta = trit->eta();
355  trackPhi = trit->phi();
356 
357  emEnergy = isoMatched->energyIn();
358 
359  //cout<<"Point 0.3. Matched :: pt: "<<trit->pt()<<" wholeEnergy: "<<trackE<<" emEnergy: "<<emEnergy<<" eta: "<<etahcal<<" phi: "<<phihcal<<endl;
360  //cout<<"Point 0.4. EM energy in cone: "<<emEnergy<<" EtaHcal: "<<etahcal<<" PhiHcal: "<<phihcal<<endl;
361 
363 
364  //float etaecal=info.trkGlobPosAtEcal.eta();
365  //float phiecal=info.trkGlobPosAtEcal.phi();
366  // float etahcal=info.trkGlobPosAtHcal.eta();
367  // float phihcal=info.trkGlobPosAtHcal.phi();
368 
369 
370  xTrkEcal=info.trkGlobPosAtEcal.x();
371  yTrkEcal=info.trkGlobPosAtEcal.y();
372  zTrkEcal=info.trkGlobPosAtEcal.z();
373 
374  xTrkHcal=info.trkGlobPosAtHcal.x();
375  yTrkHcal=info.trkGlobPosAtHcal.y();
376  zTrkHcal=info.trkGlobPosAtHcal.z();
377 
378  if (xTrkEcal==0 && yTrkEcal==0&& zTrkEcal==0) {cout<<"zero point at Ecal"<<endl; continue;}
379  if (xTrkHcal==0 && yTrkHcal==0&& zTrkHcal==0) {cout<<"zero point at Hcal"<<endl; continue;}
380 
381  /*GlobalVector trackMomAtEcal = info.trkMomAtEcal;
382  GlobalVector trackMomAtHcal = info.trkMomAtHcal;
383 
384  PxTrkHcal = trackMomAtHcal.x();
385  PyTrkHcal = trackMomAtHcal.y();
386  PzTrkHcal = trackMomAtHcal.z();
387  */
388 
391 
392  int iphitrue = -10;
393  int ietatrue = 100;
394  const HcalDetId tempId = gHcal->getClosestCell(gPointHcal);
395  ietatrue = tempId.ieta();
396  iphitrue = tempId.iphi();
397 
398 
399  MaxHit_struct MaxHit;
400 
401  MaxHit.hitenergy=-100.;
402 
403  //container for used recHits
404  std::vector<DetId> usedHits;
405  //
406  usedHits.clear();
407  //cout <<"Point 1. Entrance to HBHECollection"<<endl;
408 
409  //float dddeta = 1000.;
410  //float dddphi = 1000.;
411  //int iphitrue = 1234;
412  //int ietatrue = 1234;
413 
414  GlobalPoint gPhot;
415 
416 
417  for (HBHERecHitCollection::const_iterator hhit=Hithbhe.begin(); hhit!=Hithbhe.end(); hhit++)
418  {
419 
420  //check that this hit was not considered before and push it into usedHits
421  bool hitIsUsed=false;
422  for (uint32_t i=0; i<usedHits.size(); i++)
423  {
424  if (usedHits[i]==hhit->id()) hitIsUsed=true;
425  }
426  if (hitIsUsed) continue;
427  usedHits.push_back(hhit->id());
428  //
429 
430  // rof 16.05.2008 start: include the possibility for recalibration
431  float recal = 1;
432  // rof end
433 
434  GlobalPoint pos = geo->getPosition(hhit->detid());
435  //float phihit = pos.phi();
436  //float etahit = pos.eta();
437 
438  int iphihitm = (hhit->id()).iphi();
439  int ietahitm = (hhit->id()).ieta();
440  int depthhit = (hhit->id()).depth();
441  float enehit = hhit->energy() * recal;
442 
443  if (depthhit!=1) continue;
444 
445  /*
446  float dphi = fabs(phihcal - phihit);
447  if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
448  float deta = fabs(etahcal - etahit);
449  float dr = sqrt(dphi*dphi + deta*deta);
450  */
451 
452 
453  //double distAtHcal = getDistInPlaneTrackDir(gPointHcal, trackMomAtHcal, pos);
454  double distAtHcal = getDistInPlaneSimple(gPointHcal, pos);
455 
456  if(distAtHcal < associationConeSize_)
457  {
458 
459  for (HBHERecHitCollection::const_iterator hhit2=Hithbhe.begin(); hhit2!=Hithbhe.end(); hhit2++)
460  {
461  int iphihitm2 = (hhit2->id()).iphi();
462  int ietahitm2 = (hhit2->id()).ieta();
463  int depthhit2 = (hhit2->id()).depth();
464  float enehit2 = hhit2->energy() * recal;
465 
466  if (iphihitm==iphihitm2 && ietahitm==ietahitm2 && depthhit!=depthhit2) enehit = enehit+enehit2;
467 
468  }
469 
470 
471  //cout<<"IN CONE ieta: "<<ietahitm<<" iphi: "<<iphihitm<<" depthhit: "<<depthhit<<" dr: "<<dr<<" energy: "<<enehit<<endl;
472 
473  //Find a Hit with Maximum Energy
474 
475  if(enehit > MaxHit.hitenergy)
476  {
477  MaxHit.hitenergy = enehit;
478  MaxHit.ietahitm = (hhit->id()).ieta();
479  MaxHit.iphihitm = (hhit->id()).iphi();
480  MaxHit.dr = distAtHcal;
481  //MaxHit.depthhit = (hhit->id()).depth();
482  MaxHit.depthhit = 1;
483 
484  //gPhot = geo->getPosition(hhit->detid());
485  }
486 
487  }
488  } //end of all HBHE hits cycle
489 
490  usedHits.clear();
491 
492  //cout<<"Hottest ieta: "<<MaxHit.ietahitm<<" iphi: "<<MaxHit.iphihitm<<" dr: "<<MaxHit.dr<<endl;
493  //cout<<"Track ieta: "<<ietatrue<<" iphi: "<<iphitrue<<endl;
494 
495  //cout<<"Point 3. MaxHit :::En "<<MaxHit.hitenergy<<" ieta: "<<MaxHit.ietahitm<<" iphi: "<<MaxHit.iphihitm<<endl;
496 
497  Bool_t passCuts = kFALSE;
498  if(trackE > energyMinIso && trackE < energyMaxIso && emEnergy < energyECALmip && MaxHit.hitenergy > 0. && abs(MaxHit.ietahitm)<29) passCuts = kTRUE;
499 
500  //cout<<"Pont 0.1.1. trackE:"<<trackE<<" emEn: "<<emEnergy<<endl;
501 
502 
503  numHits=0;
504 
505  eClustBefore = 0.0;
506  eClustAfter = 0.0;
507  eBeforeDepth1 = 0.0;
508  eAfterDepth1 = 0.0;
509  eBeforeDepth2 = 0.0;
510  eAfterDepth2 = 0.0;
511  CentHitFactor = 0.0;
512  e3x3After = 0.0;
513  e3x3Before = 0.0;
514  e5x5After = 0.0;
515  e5x5Before = 0.0;
516 
517 
518  for (HBHERecHitCollection::const_iterator hhit=Hithbhe.begin(); hhit!=Hithbhe.end(); hhit++)
519  {
520 
521  //check that this hit was not considered before and push it into usedHits
522  bool hitIsUsed=false;
523  for (uint32_t i=0; i<usedHits.size(); i++)
524  {
525  if (usedHits[i]==hhit->id()) hitIsUsed=true;
526  }
527  if (hitIsUsed) continue;
528  usedHits.push_back(hhit->id());
529 
530  int DIETA = 100;
531  if(MaxHit.ietahitm*(hhit->id()).ieta()>0)
532  {
533  DIETA = MaxHit.ietahitm - (hhit->id()).ieta();
534  }
535  if(MaxHit.ietahitm*(hhit->id()).ieta()<0)
536  {
537  DIETA = MaxHit.ietahitm - (hhit->id()).ieta();
538  DIETA = DIETA>0 ? DIETA-1 : DIETA+1;
539  }
540 
541  int DIPHI = abs(MaxHit.iphihitm - (hhit->id()).iphi());
542  DIPHI = DIPHI>36 ? 72-DIPHI : DIPHI;
543 
544 
545 
546  int numbercell=100; //always collect Wide clastor!
547 
548  //if(AxB_=="5x5" || AxB_=="3x3" || AxB_=="7x7"|| AxB_=="Cone")
549 
550  //if(AxB_=="3x3") numbercell = 1;
551  //if(AxB_=="5x5") numbercell = 2;
552  //if(AxB_=="Cone") numbercell = 1000;
553 
554  if( abs(DIETA)<=numbercell && (abs(DIPHI)<=numbercell || ( abs(MaxHit.ietahitm)>=20 && abs(DIPHI)<=numbercell+1)) )
555  {
556  const GlobalPoint pos2 = geo->getPosition(hhit->detid());
557 
558  if(passCuts && hhit->energy()>0)
559  {
560 
561 
562  float factor = 0.0;
563  // factor = CalibFactors[hhit->id()];
564  factor = respRecalib -> getValues(hhit->id())->getValue();
565 
566 
567 
568  //if(i<5){cout<<" calib factors: "<<factor<<" ij "<<100*i+j<<endl;}
569 
570  if (hhit->id().ieta() == MaxHit.ietahitm && hhit->id().iphi() == MaxHit.iphihitm) CentHitFactor=factor;
571 
572  if (hhit->id().ieta() == MaxHit.ietahitm && hhit->id().iphi() == MaxHit.iphihitm) iTime = hhit->time();
573 
574  if(AxB_!="3x3" && AxB_!="5x5" && AxB_!="Cone") LogWarning(" AxB ")<<" Not supported: "<< AxB_;
575 
576 
577  if (abs(DIETA)<=2 && (abs(DIPHI)<=2 || ((abs(MaxHit.ietahitm)>20 && abs(DIPHI)<=4) && !( (abs(MaxHit.ietahitm)==21 || abs(MaxHit.ietahitm)==22) && abs((hhit->id()).ieta())<=20 && abs(DIPHI)>2) )) )
578  {
579 
580  e5x5Before += hhit->energy();
581  e5x5After += hhit->energy()*factor;
582  }
583 
584 
585  if (abs(DIETA)<=1 && (abs(DIPHI)<=1 || ((abs(MaxHit.ietahitm)>20 && abs(DIPHI)<=2) && !(abs(MaxHit.ietahitm)==21 && abs((hhit->id()).ieta())<=20 && abs(DIPHI)>1) )) )
586  {
587 
588  e3x3Before += hhit->energy();
589  e3x3After += hhit->energy()*factor;
590  }
591 
592 
593  if(AxB_=="5x5")
594  {
595 
596  if (abs(DIETA)<=2 && (abs(DIPHI)<=2 || ( abs(MaxHit.ietahitm)>20 && abs(DIPHI)<=4) ) )
597  {
598  if (abs(MaxHit.ietahitm)==21 && abs((hhit->id()).ieta())<=20 && abs(DIPHI)>3) continue;
599 
600  HTime[numHits]= hhit->time();
601  numHits++;
602 
603  eClustBefore += hhit->energy();
604  eClustAfter += hhit->energy()*factor;
605 
606  if ((hhit->id().depth() == 1) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29))
607  {
608  eBeforeDepth1 += hhit->energy();
609  eAfterDepth1 += hhit->energy()*factor;
610  }
611  else if((hhit->id().depth() == 2) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29))
612  {
613  eBeforeDepth2 += hhit->energy();
614  eAfterDepth2 += hhit->energy()*factor;
615  }
616  }
617  }//end of 5x5
618 
619 
620 
621  if(AxB_=="3x3")
622  {
623  if (abs(DIETA)<=1 && (abs(DIPHI)<=1 || ( abs(MaxHit.ietahitm)>20 && abs(DIPHI)<=2) ) )
624  {
625  if (abs(MaxHit.ietahitm)==21 && abs((hhit->id()).ieta())<=20 && abs(DIPHI)>2) continue;
626 
627  HTime[numHits]= hhit->time();
628  numHits++;
629 
630  eClustBefore += hhit->energy();
631  eClustAfter += hhit->energy() * factor;
632 
633  if ((hhit->id().depth() == 1) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29))
634  {
635  eBeforeDepth1 += hhit->energy();
636  eAfterDepth1 += hhit->energy() * factor;
637  }
638  else if((hhit->id().depth() == 2) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29))
639  {
640  eBeforeDepth2 += hhit->energy();
641  eAfterDepth2 += hhit->energy() * factor;
642  }
643 
644  }
645  }//end of 3x3
646 
647 
648  if (AxB_=="Cone" && getDistInPlaneSimple(gPointHcal, pos2) < calibrationConeSize_) {
649 
650  HTime[numHits]= hhit->time();
651  numHits++;
652 
653  eClustBefore += hhit->energy();
654  eClustAfter += hhit->energy() * factor;
655 
656  if ((hhit->id().depth() == 1) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29))
657  {
658  eBeforeDepth1 += hhit->energy();
659  eAfterDepth1 += hhit->energy() * factor;
660  }
661  else if((hhit->id().depth() == 2) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29))
662  {
663  eBeforeDepth2 += hhit->energy();
664  eAfterDepth2 += hhit->energy() * factor;
665  }
666 
667 
668  }//end of Cone
669 
670  }//end of passCuts
671 
672  }//end of DIETA DIPHI
673 
674  } //end of associatedcone HBHE hits cycle
675 
676 
677  int dieta_M_P = 100;
678  int diphi_M_P = 100;
679  if(MaxHit.ietahitm*ietatrue>0) {dieta_M_P = abs (MaxHit.ietahitm-ietatrue);}
680  if(MaxHit.ietahitm*ietatrue<0) {dieta_M_P = abs(MaxHit.ietahitm-ietatrue)-1;}
681  diphi_M_P = abs(MaxHit.iphihitm-iphitrue);
682  diphi_M_P = diphi_M_P>36 ? 72-diphi_M_P : diphi_M_P;
683 
684 
685  if(passCuts)
686 
687  {
688  eventNumber = iEvent.id().event();
689  runNumber = iEvent.id().run();
690 
691  eCentHitBefore = MaxHit.hitenergy;
693  eECAL = emEnergy;
696  PtNearBy = ptNear;
697 
698 
699  eTrack = trackE;
700  phiTrack = trackPhi;
701  etaTrack = trackEta;
702 
703  iEta = MaxHit.ietahitm;
704  iPhi = MaxHit.iphihitm;
705 
706  iEtaTr = ietatrue;
707  iPhiTr = iphitrue;
708  iDr = sqrt(diphi_M_P*diphi_M_P+dieta_M_P*dieta_M_P);
709  delR = MaxHit.dr;
710  dietatr = dieta_M_P;
711  diphitr = diphi_M_P;
712 
713  fTree -> Fill();
714  }
715 
716  } //end of isoProdTracks cycle
717 
718 
719 
720 /* ------------------ Some stuff for general tracks ---------- ----*/
721  //cout<<" generalTracks Size: "<< generalTracks->size()<<endl;
722  int n = generalTracks->size();
723  nTracks->Fill(n);
724 
725  if(takeGenTracks_ && iEvent.id().event()%10==1)
726  {
727  gen = generalTracks->size();
728  iso = isoProdTracks->size();
729  pix = isoPixelTracks->size();
730 
731  genPt[0] = -33;
732  genPhi[0] = -33;
733  genEta[0] = -33;
734 
735  isoPt[0] = -33;
736  isoPhi[0] = -33;
737  isoEta[0] = -33;
738 
739  pixPt[0] = -33;
740  pixPhi[0] = -33;
741  pixEta[0] = -33;
742 
743  Int_t gencount=0, isocount=0, pixcount=0;
744  for (reco::TrackCollection::const_iterator gentr=generalTracks->begin(); gentr!=generalTracks->end(); gentr++)
745  {
746  genPt[gencount] = gentr->pt();
747  genPhi[gencount] = gentr->phi();
748  genEta[gencount] = gentr->eta();
749  gencount++;
750  }
751 
752  for (reco::TrackCollection::const_iterator isotr=isoProdTracks->begin(); isotr!=isoProdTracks->end(); isotr++)
753  {
754  isoPt[isocount] = isotr->pt();
755  isoPhi[isocount] = isotr->phi();
756  isoEta[isocount] = isotr->eta();
757  isocount++;
758  }
759 
760  for (reco::IsolatedPixelTrackCandidateCollection::const_iterator pixtr=isoPixelTracks->begin(); pixtr!=isoPixelTracks->end(); pixtr++)
761  {
762  pixPt[pixcount] = pixtr->pt();
763  pixPhi[pixcount] = pixtr->phi();
764  pixEta[pixcount] = pixtr->eta();
765  pixcount++;
766  }
767  }
768 
769  tTree -> Fill();
770 
771 }
RunNumber_t run() const
Definition: EventID.h:42
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:43
EventNumber_t event() const
Definition: EventID.h:44
int i
Definition: DBlmapReader.cc:9
static const TGPicture * info(bool iBackgroundIsBlack)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
static FreeTrajectoryState getFreeTrajectoryState(const edm::EventSetup &, const reco::Track &)
get FreeTrajectoryState from different track representations
std::vector< HBHERecHit >::const_iterator const_iterator
TrackAssociatorParameters parameters_
math::XYZPoint trkGlobPosAtHcal
edm::EDGetTokenT< reco::IsolatedPixelTrackCandidateCollection > tok_track_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
const CaloGeometry * geo
T sqrt(T t)
Definition: SSEVec.h:48
int ieta() const
get the cell ieta
Definition: HcalDetId.h:36
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
TrackDetectorAssociator trackAssociator_
const GlobalPoint & getPosition(const DetId &id) const
Get the position of a given detector id.
Definition: CaloGeometry.cc:68
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
const HcalRespCorrs * respRecalib
int iphi() const
get the cell iphi
Definition: HcalDetId.h:38
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
edm::EventID id() const
Definition: EventBase.h:56
TrackDetMatchInfo associate(const edm::Event &, const edm::EventSetup &, const FreeTrajectoryState &, const AssociatorParameters &)
math::XYZPoint trkGlobPosAtEcal
Track position at different parts of the calorimeter.
const JetExtendedData & getValue(const Container &, const reco::JetBaseRef &)
get value for the association. Throw exception if no association found
double getDistInPlaneSimple(const GlobalPoint caloPoint, const GlobalPoint rechitPoint)
Definition: ConeDefinition.h:9
tuple cout
Definition: gather_cfg.py:121
edm::EDGetTokenT< reco::TrackCollection > tok_track1_
void ValidIsoTrkCalib::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 775 of file ValidIsoTrkCalib.cc.

References relval_steps::gen(), and convertSQLiteXML::runNumber.

776 {
777 
778  // if(!ReadCalibFactors(calibFactorsFileName_.c_str() )) {cout<<"Cant read file with cailib coefficients!! ---"<<endl;}
779 
780 // try{
781 // edm::ESHandle <HcalRespCorrs> recalibCorrs;
782 // iSetup.get<HcalRespCorrsRcd>().get("recalibrate",recalibCorrs);
783 // respRecalib = recalibCorrs.product();
784 //
785 // LogInfo("CalibConstants")<<" Loaded: OK ";
786 //
787 // }catch(const cms::Exception & e) {
788 // LogWarning("CalibConstants")<<" Not Found!! ";
789 // }
790 
791 
792  // rootFile = new TFile(outputFileName_.c_str(),"RECREATE");
793 
794  //@@@@@@@@@@@@@
795  //TFileDirectory ValDir = fs->mkdir("Validation");
796 
797  nTracks = fs->make<TH1F>("nTracks","general;number of general tracks",11,-0.5,10.5);
798 
799 
800  tTree = fs->make<TTree>("tTree", "Tree for gen info");
801 
802  fTree = fs->make<TTree>("fTree", "Tree for IsoTrack Calibration");
803 
804  fTree->Branch("eventNumber", &eventNumber, "eventNumber/I");
805  fTree->Branch("runNumber", &runNumber, "runNumber/I");
806 
807  fTree->Branch("eClustBefore", &eClustBefore,"eClustBefore/F");
808  fTree->Branch("eClustAfter", &eClustAfter,"eClustAfter/F");
809  fTree->Branch("eTrack", &eTrack, "eTrack/F");
810  fTree->Branch("etaTrack", &etaTrack, "etaTrack/F");
811  fTree->Branch("phiTrack", &phiTrack, "phiTrack/F");
812 
813  fTree->Branch("numHits", &numHits, "numHits/I");
814  fTree->Branch("eECAL", &eECAL, "eECAL/F");
815  fTree->Branch("PtNearBy", &PtNearBy, "PtNearBy/F");
816  fTree->Branch("numValidTrkHits", &numValidTrkHits, "numValidTrkHits/F");
817  fTree->Branch("numValidTrkStrips", &numValidTrkStrips, "numValidTrkStrips/F");
818 
819  fTree->Branch("eBeforeDepth1", &eBeforeDepth1, "eBeforeDepth1/F");
820  fTree->Branch("eBeforeDepth2", &eBeforeDepth2, "eBeforeDepth2/F");
821  fTree->Branch("eAfterDepth1", &eAfterDepth1, "eAfterDepth1/F");
822  fTree->Branch("eAfterDepth2", &eAfterDepth2, "eAfterDepth2/F");
823 
824  fTree->Branch("e3x3Before", &e3x3Before, "e3x3Before/F");
825  fTree->Branch("e3x3After", &e3x3After, "e3x3After/F");
826  fTree->Branch("e5x5Before", &e5x5Before, "e5x5Before/F");
827  fTree->Branch("e5x5After", &e5x5After, "e5x5After/F");
828 
829  fTree->Branch("eCentHitAfter", &eCentHitAfter, "eCentHitAfter/F");
830  fTree->Branch("eCentHitBefore", &eCentHitBefore, "eCentHitBefore/F");
831  fTree->Branch("iEta", &iEta, "iEta/I");
832  fTree->Branch("iPhi", &iPhi, "iPhi/I");
833 
834 
835  fTree->Branch("iEtaTr", &iEtaTr, "iEtaTr/I");
836  fTree->Branch("iPhiTr", &iPhiTr, "iPhiTr/I");
837  fTree->Branch("dietatr", &dietatr, "dietatr/I");
838  fTree->Branch("diphitr", &diphitr, "diphitr/I");
839  fTree->Branch("iDr", &iDr, "iDr/F");
840  fTree->Branch("delR", &delR, "delR/F");
841 
842  fTree->Branch("iTime", &iTime, "iTime/F");
843  fTree->Branch("HTime", HTime, "HTime[numHits]/F");
844 
845  fTree->Branch("xTrkEcal", &xTrkEcal, "xTrkEcal/F");
846  fTree->Branch("yTrkEcal", &yTrkEcal, "yTrkEcal/F");
847  fTree->Branch("zTrkEcal", &zTrkEcal, "zTrkEcal/F");
848  fTree->Branch("xTrkHcal", &xTrkHcal, "xTrkHcal/F");
849  fTree->Branch("yTrkHcal", &yTrkHcal, "yTrkHcal/F");
850  fTree->Branch("zTrkHcal", &zTrkHcal, "zTrkHcal/F");
851 
852  if(takeGenTracks_) {
853  tTree->Branch("gen", &gen, "gen/I");
854  tTree->Branch("iso", &iso, "iso/I");
855  tTree->Branch("pix", &pix, "pix/I");
856  tTree->Branch("genPt", genPt, "genPt[gen]/F");
857  tTree->Branch("genPhi", genPhi, "genPhi[gen]/F");
858  tTree->Branch("genEta", genEta, "genEta[gen]/F");
859 
860  tTree->Branch("isoPt", isoPt, "isoPt[iso]/F");
861  tTree->Branch("isoPhi", isoPhi, "isoPhi[iso]/F");
862  tTree->Branch("isoEta", isoEta, "isoEta[iso]/F");
863 
864  tTree->Branch("pixPt", pixPt, "pixPt[pix]/F");
865  tTree->Branch("pixPhi", pixPhi, "pixPhi[pix]/F");
866  tTree->Branch("pixEta", pixEta, "pixEta[pix]/F");
867  }
868 
869 
870 }
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
edm::Service< TFileService > fs
void ValidIsoTrkCalib::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 876 of file ValidIsoTrkCalib.cc.

877 {
878  // rootFile->Write();
879  //rootFile->Close();
880 }

Member Data Documentation

bool ValidIsoTrkCalib::allowMissingInputs_
private

Definition at line 109 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::associationConeSize_
private

Definition at line 105 of file ValidIsoTrkCalib.cc.

string ValidIsoTrkCalib::AxB_
private

Definition at line 106 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::calibrationConeSize_
private

Definition at line 107 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::CentHitFactor
private

Definition at line 166 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::delR
private

Definition at line 171 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::dietatr
private

Definition at line 172 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::diphitr
private

Definition at line 173 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::e3x3After
private

Definition at line 178 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::e3x3Before
private

Definition at line 177 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::e5x5After
private

Definition at line 180 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::e5x5Before
private

Definition at line 179 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eAfterDepth1
private

Definition at line 161 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eAfterDepth2
private

Definition at line 163 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eBeforeDepth1
private

Definition at line 160 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eBeforeDepth2
private

Definition at line 162 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eCentHitAfter
private

Definition at line 165 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eCentHitBefore
private

Definition at line 164 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eClustAfter
private

Definition at line 152 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eClustBefore
private

Definition at line 151 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eECAL
private

Definition at line 156 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::emEnergy
private

Definition at line 135 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::energyECALmip
private

Definition at line 131 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::energyMaxIso
private

Definition at line 132 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::energyMinIso
private

Definition at line 132 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::etaTrack
private

Definition at line 154 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eTrack
private

Definition at line 153 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::eventNumber
private
edm::Service<TFileService> ValidIsoTrkCalib::fs
private

Definition at line 192 of file ValidIsoTrkCalib.cc.

TTree * ValidIsoTrkCalib::fTree
private

Definition at line 140 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::gen
private

Definition at line 116 of file ValidIsoTrkCalib.cc.

std::vector<edm::InputTag> ValidIsoTrkCalib::genecalLabel_
private

Definition at line 94 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::genEta[500]
private

Definition at line 117 of file ValidIsoTrkCalib.cc.

InputTag ValidIsoTrkCalib::genhbheLabel_
private

Definition at line 92 of file ValidIsoTrkCalib.cc.

InputTag ValidIsoTrkCalib::genhoLabel_
private

Definition at line 93 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::genPhi[500]
private

Definition at line 117 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::genPt[500]
private

Definition at line 117 of file ValidIsoTrkCalib.cc.

const CaloGeometry* ValidIsoTrkCalib::geo
private

Definition at line 90 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::HTime[100]
private

Definition at line 176 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::iDr
private

Definition at line 171 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::iEta
private

Definition at line 167 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::iEtaTr
private

Definition at line 169 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::iPhi
private

Definition at line 168 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::iPhiTr
private

Definition at line 170 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::iso
private

Definition at line 116 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::isoEta[500]
private

Definition at line 118 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::isoPhi[500]
private

Definition at line 118 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::isoPt[500]
private

Definition at line 118 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::iTime
private

Definition at line 175 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::maxPNear
private

Definition at line 131 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::MinNTECHitsEndcap
private

Definition at line 130 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::MinNTrackHitsBarrel
private

Definition at line 130 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::Nhits
private

Definition at line 150 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::NisoTrk
private

Definition at line 124 of file ValidIsoTrkCalib.cc.

TH1F* ValidIsoTrkCalib::nTracks
private

Definition at line 190 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::numHits
private

Definition at line 157 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::numValidTrkHits
private

Definition at line 184 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::numValidTrkStrips
private

Definition at line 184 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::numVH
private

Definition at line 184 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::numVS
private

Definition at line 184 of file ValidIsoTrkCalib.cc.

string ValidIsoTrkCalib::outputFileName_
private

Definition at line 110 of file ValidIsoTrkCalib.cc.

TrackAssociatorParameters ValidIsoTrkCalib::parameters_
private
float ValidIsoTrkCalib::phiTrack
private

Definition at line 155 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::pix
private

Definition at line 116 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::pixEta[500]
private

Definition at line 119 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::pixPhi[500]
private

Definition at line 119 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::pixPt[500]
private

Definition at line 119 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::ptNear
private

Definition at line 126 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::PtNearBy
private

Definition at line 183 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::ptrack
private

Definition at line 127 of file ValidIsoTrkCalib.cc.

const HcalRespCorrs* ValidIsoTrkCalib::respRecalib
private

Definition at line 186 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::runNumber
private

Definition at line 182 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::rvert
private

Definition at line 127 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::taECALCone_
private

Definition at line 87 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::taHCALCone_
private

Definition at line 88 of file ValidIsoTrkCalib.cc.

bool ValidIsoTrkCalib::takeGenTracks_
private

Definition at line 114 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::targetE
private

Definition at line 136 of file ValidIsoTrkCalib.cc.

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

Definition at line 96 of file ValidIsoTrkCalib.cc.

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

Definition at line 97 of file ValidIsoTrkCalib.cc.

edm::EDGetTokenT<HORecHitCollection> ValidIsoTrkCalib::tok_ho_
private

Definition at line 98 of file ValidIsoTrkCalib.cc.

edm::EDGetTokenT<reco::TrackCollection> ValidIsoTrkCalib::tok_track1_
private

Definition at line 100 of file ValidIsoTrkCalib.cc.

edm::EDGetTokenT<reco::IsolatedPixelTrackCandidateCollection> ValidIsoTrkCalib::tok_track_
private

Definition at line 99 of file ValidIsoTrkCalib.cc.

TrackDetectorAssociator ValidIsoTrkCalib::trackAssociator_
private

Definition at line 85 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::trackE
private

Definition at line 125 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::trackEta
private

Definition at line 125 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::trackPhi
private

Definition at line 125 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::trackPt
private

Definition at line 125 of file ValidIsoTrkCalib.cc.

TTree* ValidIsoTrkCalib::tTree
private

Definition at line 140 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::xTrkEcal
private

Definition at line 142 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::xTrkHcal
private

Definition at line 146 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::yTrkEcal
private

Definition at line 143 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::yTrkHcal
private

Definition at line 147 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::zTrkEcal
private

Definition at line 144 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::zTrkHcal
private

Definition at line 148 of file ValidIsoTrkCalib.cc.