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
HcalCorrPFCalculation Class Reference
Inheritance diagram for HcalCorrPFCalculation:
edm::EDAnalyzer

Public Member Functions

virtual void analyze (edm::Event const &ev, edm::EventSetup const &c)
 
virtual void beginJob ()
 
virtual void endJob ()
 
 HcalCorrPFCalculation (edm::ParameterSet const &conf)
 
 ~HcalCorrPFCalculation ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Member Functions

double RecalibFactor (HcalDetId id)
 

Private Attributes

Bool_t AddRecalib
 
double associationConeSize_
 
float CentHitFactor
 
double clusterConeSize_
 
bool Conecorr_
 
float delR
 
Float_t delRmc [50]
 
Bool_t doHF
 
float e3x3
 
float e5x5
 
double ecalCone_
 
float eCentHit
 
float eECAL
 
float eECAL09cm
 
float eECAL40cm
 
float eEcalCone
 
float eHcalCone
 
float eHcalConeNoise
 
TProfile * enHcal
 
TProfile * enHcalNoise
 
float eParticle
 
float etaGPoint
 
float etaParticle
 
float etaTrack
 
float eTrack
 
edm::Service< TFileServicefs
 
Float_t genEta
 
Float_t genPhi
 
const CaloGeometrygeo
 
const HcalGeometrygeoHcal
 
float iDr
 
int iEta
 
int iPhi
 
TProfile * nCells
 
TProfile * nCellsNoise
 
double neutralIsolationCone_
 
int nevtot
 
Int_t nTracks
 
Int_t numLayers [50]
 
Int_t numValidTrkHits [50]
 
Int_t numValidTrkStrips [50]
 
TrackAssociatorParameters parameters_
 
bool PFcorr_
 
const HcalPFCorrspfRecalib
 
TTree * pfTree
 
float phiGPoint
 
float phiParticle
 
float phiTrack
 
double radius_
 
bool Respcorr_
 
const HcalRespCorrsrespRecalib
 
SteppingHelixPropagatorstepPropF
 
MagneticFieldtheMagField
 
TrackDetectorAssociator trackAssociator_
 
Float_t trackEta [50]
 
double trackIsolationCone_
 
Float_t trackP [50]
 
Float_t trackPhi [50]
 
TTree * tracksTree
 
Bool_t trkQual [50]
 
int UsedCells
 
int UsedCellsNoise
 
Float_t xAtHcal
 
Float_t xTrkEcal
 
Float_t xTrkHcal
 
Float_t yAtHcal
 
Float_t yTrkEcal
 
Float_t yTrkHcal
 
Float_t zAtHcal
 
Float_t zTrkEcal
 
Float_t zTrkHcal
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- 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::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Definition at line 40 of file HcalCorrPFCalculation.cc.

Constructor & Destructor Documentation

HcalCorrPFCalculation::HcalCorrPFCalculation ( edm::ParameterSet const &  conf)

Definition at line 108 of file HcalCorrPFCalculation.cc.

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

108  {
109 
110  // outputFile_ = iConfig.getUntrackedParameter<std::string>("outputFile", "myfile.root");
111 
112  Respcorr_ = iConfig.getUntrackedParameter<bool>("RespcorrAdd", false);
113  PFcorr_ = iConfig.getUntrackedParameter<bool>("PFcorrAdd", false);
114  Conecorr_ = iConfig.getUntrackedParameter<bool>("ConeCorrAdd", true);
115  //radius_ = iConfig.getUntrackedParameter<double>("ConeRadiusCm", 40.);
116  //energyECALmip = iConfig.getParameter<double>("energyECALmip");
117 
118  edm::ParameterSet parameters = iConfig.getParameter<edm::ParameterSet>("TrackAssociatorParameters");
119  parameters_.loadParameters( parameters );
121 
122  associationConeSize_=iConfig.getParameter<double>("associationConeSize");
123  clusterConeSize_=iConfig.getParameter<double>("clusterConeSize");
124  ecalCone_=iConfig.getParameter<double>("ecalCone");
125  trackIsolationCone_ = iConfig.getParameter<double>("trackIsolationCone");
126  neutralIsolationCone_ = iConfig.getParameter<double>("neutralIsolationCone");
127 
128  // AxB_=iConfig.getParameter<std::string>("AxB");
129 
130 }
dictionary parameters
Definition: Parameters.py:2
void useDefaultPropagator()
use the default propagator
TrackAssociatorParameters parameters_
TrackDetectorAssociator trackAssociator_
void loadParameters(const edm::ParameterSet &)
HcalCorrPFCalculation::~HcalCorrPFCalculation ( )

Definition at line 145 of file HcalCorrPFCalculation.cc.

145 {}

Member Function Documentation

void HcalCorrPFCalculation::analyze ( edm::Event const &  ev,
edm::EventSetup const &  c 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 147 of file HcalCorrPFCalculation.cc.

References abs, alongMomentum, edm::SortedCollection< T, SORT >::begin(), ecalTB2006H4_GenSimDigiReco_cfg::bField, DeDxDiscriminatorTools::charge(), gather_cfg::cout, deltaR(), MaxHit_struct::depthhit, MaxHit_struct::dr, alignCSCRings::e, ecalEnergyInCone(), edm::SortedCollection< T, SORT >::end(), PV3DBase< T, PVType, FrameType >::eta(), eta(), TrajectoryStateOnSurface::freeState(), GeneralTracks_cfi::generalTracks, edm::EventSetup::get(), edm::Event::getByLabel(), edm::Event::getByType(), CaloSubdetectorGeometry::getClosestCell(), getDistInPlaneSimple(), DetId::Hcal, HcalBarrel, reco::TrackBase::highPurity, MaxHit_struct::hitenergy, HcalDetId::ieta(), MaxHit_struct::ietahitm, info, HcalDetId::iphi(), MaxHit_struct::iphihitm, edm::HandleBase::isValid(), TrajectoryStateOnSurface::isValid(), npart, AlCaHLTBitMon_ParallelJobs::p, phi, PV3DBase< T, PVType, FrameType >::phi(), PlaneBuilder::plane(), pos, FreeTrajectoryState::position(), edm::Handle< T >::product(), edm::ESHandle< class >::product(), makeMuonMisalignmentScenario::rot, mathSSE::sqrt(), SteppingHelixPropagator_cfi::SteppingHelixPropagator, reco::btau::trackEta, reco::btau::trackPhi, TrackDetMatchInfo::trkGlobPosAtEcal, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

147  {
148 
149  AddRecalib=kFALSE;
150 
151  try{
152 
153  edm::ESHandle <HcalRespCorrs> recalibCorrs;
154  c.get<HcalRespCorrsRcd>().get("recalibrate",recalibCorrs);
155  respRecalib = recalibCorrs.product();
156 
158  c.get<HcalPFCorrsRcd>().get("recalibrate",pfCorrs);
159  pfRecalib = pfCorrs.product();
160 
161  AddRecalib = kTRUE;
162  // LogMessage("CalibConstants")<<" OK ";
163 
164  }catch(const cms::Exception & e) {
165  LogWarning("CalibConstants")<<" Not Found!! ";
166  }
167 
169  ev.getByType(hbhe);
170  const HBHERecHitCollection Hithbhe = *(hbhe.product());
171 
173  ev.getByType(hfcoll);
174  const HFRecHitCollection Hithf = *(hfcoll.product());
175 
177  ev.getByType(hocoll);
178  const HORecHitCollection Hitho = *(hocoll.product());
179 
181  ev.getByLabel("ecalRecHit","EcalRecHitsEE",ecalEE);
182  const EERecHitCollection HitecalEE = *(ecalEE.product());
183 
185  ev.getByLabel("ecalRecHit","EcalRecHitsEB",ecalEB);
186  const EBRecHitCollection HitecalEB = *(ecalEB.product());
187 
188  // temporary collection of EB+EE recHits
189  std::auto_ptr<EcalRecHitCollection> tmpEcalRecHitCollection(new EcalRecHitCollection);
190  for(EcalRecHitCollection::const_iterator recHit = (*ecalEB).begin(); recHit != (*ecalEB).end(); ++recHit)
191  {tmpEcalRecHitCollection->push_back(*recHit);}
192  for(EcalRecHitCollection::const_iterator recHit = (*ecalEE).begin(); recHit != (*ecalEE).end(); ++recHit)
193  {tmpEcalRecHitCollection->push_back(*recHit);}
194  const EcalRecHitCollection Hitecal = *tmpEcalRecHitCollection;
195 
196 
198  ev.getByLabel("generalTracks", generalTracks);
199 
201  c.get<CaloGeometryRecord>().get(pG);
202  geo = pG.product();
203 
204  /*
205  edm::ESHandle<HcalGeometry> hcalG;
206  c.get<HcalGeometryRecord>().get(hcalG);
207  geoHcal = hcalG.product();
208  */
209 
211 
212  parameters_.useEcal = true;
213  parameters_.useHcal = true;
214  parameters_.useCalo = false;
215  parameters_.useMuon = false;
216  parameters_.dREcal = 0.5;
217  parameters_.dRHcal = 0.6;
218 
219  //parameters_.dREcal = taECALCone_;
220  //parameters_.dRHcal = taHCALCone_;
221 
222 
224  c.get<IdealMagneticFieldRecord>().get(bField);
226  stepPropF->setMaterialMode(false);
228 
229 
230  // double eta_bin[42]={0.,.087,.174,.261,.348,.435,.522,.609,.696,.783,
231  //.870,.957,1.044,1.131,1.218,1.305,1.392,1.479,1.566,1.653,1.740,1.830,1.930,2.043,2.172,
232  //2.322,2.500,2.650,2.853,3.000,3.139,3.314,3.489,3.664,3.839,4.013,4.191,4.363,4.538,4.716,4.889,5.191};
233 
234  // MC info
235  //double phi_MC = -999999.; // phi of initial particle from HepMC
236  //double eta_MC = -999999.; // eta of initial particle from HepMC
237  double mom_MC = 50.; // P of initial particle from HepMC
238  //bool MC = false;
239 
240  // MC information
241 
242 
244  // ev.getByLabel("VtxSmeared",evtMC);
245  ev.getByLabel("generator",evtMC);
246  if (!evtMC.isValid())
247  {
248  std::cout << "no HepMCProduct found" << std::endl;
249  }
250  else
251  {
252  //MC=true;
253  // std::cout << "*** source HepMCProduct found"<< std::endl;
254  }
255 
256  // MC particle with highest pt is taken as a direction reference
257  double maxPt = -99999.;
258  int npart = 0;
259 
260  GlobalPoint initpos (0,0,0);
261 
262  HepMC::GenEvent * myGenEvent = new HepMC::GenEvent(*(evtMC->GetEvent()));
263  for ( HepMC::GenEvent::particle_iterator p = myGenEvent->particles_begin();
264  p != myGenEvent->particles_end(); ++p )
265  {
266  phiParticle = (*p)->momentum().phi();
267  etaParticle = (*p)->momentum().eta();
268  double pt = (*p)->momentum().perp();
269  mom_MC = (*p)->momentum().rho();
270  if(pt > maxPt) { npart++; maxPt = pt; /*phi_MC = phiParticle; eta_MC = etaParticle;*/ }
271  GlobalVector mom ((*p)->momentum().x(),(*p)->momentum().y(),(*p)->momentum().z());
272  int charge = -1;
273 
274  if(abs((*p)->pdg_id())==211) charge = (*p)->pdg_id()/abs((*p)->pdg_id()); // pions only !!!
275  else continue;
276 
277 
278  /* Propogate the partoicle to Hcal */
279 
280 
281  const FreeTrajectoryState *freetrajectorystate_ =
282  new FreeTrajectoryState(initpos, mom ,charge , &(*theMagField));
283 
284 
285  TrackDetMatchInfo info = trackAssociator_.associate(ev, c, *freetrajectorystate_ , parameters_);
286 
287  GlobalPoint barrelMC(0,0,0), endcapMC(0,0,0), forwardMC1(0,0,0), forwardMC2(0,0,0);
288 
289  GlobalPoint gPointHcal(0.,0.,0.);
290 
291  /*
292  xTrkHcal=info.trkGlobPosAtHcal.x();
293  yTrkHcal=info.trkGlobPosAtHcal.y();
294  zTrkHcal=info.trkGlobPosAtHcal.z();
295  //GlobalPoint gPointHcal(xTrkHcal,yTrkHcal,zTrkHcal);
296 
297  GlobalVector trackMomAtHcal = info.trkMomAtHcal;
298 
299  if (xTrkHcal==0 && yTrkHcal==0 && zTrkHcal==0) continue;
300  */
301 
302 
303  if(fabs(etaParticle)<1.392) {
304  Cylinder *cylinder = new Cylinder(Surface::PositionType(0,0,0),
305  Surface::RotationType(), 181.1);
306 
307  TrajectoryStateOnSurface steppingHelixstateinfo_ = stepPropF->propagate(*freetrajectorystate_, (*cylinder));
308  if(steppingHelixstateinfo_.isValid() )
309  { barrelMC = steppingHelixstateinfo_.freeState()->position(); }
310 
311  }
312 
313 
314  doHF = kFALSE;
315  if(fabs(etaParticle)>=1.392 && fabs(etaParticle)<5.191) {
316 
318 
319  Surface::PositionType pos(0., 0.,400.5*fabs(etaParticle)/etaParticle);
321 
322 
323  TrajectoryStateOnSurface steppingHelixstateinfo_ = stepPropF->propagate(*freetrajectorystate_, (*aPlane));
324  if(steppingHelixstateinfo_.isValid() && fabs(steppingHelixstateinfo_.freeState()->position().eta())<3.0 )
325  endcapMC = steppingHelixstateinfo_.freeState()->position();
326  if(steppingHelixstateinfo_.isValid() && fabs(steppingHelixstateinfo_.freeState()->position().eta())>3.0 )
327  doHF=kTRUE;
328  }
329  if(doHF) {
330 
331  if (abs(etaParticle)>5.191) continue;
332 
333  if(abs(etaParticle)>2.99) {
335 
336  Surface::PositionType pos1(0., 0.,1125*fabs(etaParticle)/etaParticle);
337  // Surface::PositionType pos1(0., 0.,1115*fabs(etaParticle)/etaParticle);
338  Surface::PositionType pos2(0., 0.,1137*fabs(etaParticle)/etaParticle);
341 
342 
343  TrajectoryStateOnSurface steppingHelixstateinfo_ = stepPropF->propagate(*freetrajectorystate_, (*aPlane1));
344  if(steppingHelixstateinfo_.isValid() )
345  forwardMC1 = steppingHelixstateinfo_.freeState()->position();
346 
347  steppingHelixstateinfo_ = stepPropF->propagate(*freetrajectorystate_, (*aPlane2));
348  if(steppingHelixstateinfo_.isValid() )
349  forwardMC2 = steppingHelixstateinfo_.freeState()->position();
350  }
351  }
352  /* ------------ ------------ ----------------------------- */
353 
354 
355 
356  /* Finding the closest cell at Hcal */
357  Int_t iphitrue = -10;
358  Int_t ietatrue = 100;
359  HcalDetId tempId, tempId1, tempId2;
360 
361 
362  if (abs(etaParticle)<1.392)
363  {
364  gPointHcal = barrelMC;
365  tempId = gHcal->getClosestCell(gPointHcal);
366  }
367  if (abs(etaParticle)>=1.392 && abs(etaParticle)<3.0)
368  {
369  gPointHcal = endcapMC;
370  tempId = gHcal->getClosestCell(gPointHcal);
371  }
372  if (abs(etaParticle)>=3.0 && abs(etaParticle)<5.191)
373  {
374  /*
375  tempId1 = gHcal->getClosestCell(forwardMC1);
376  tempId2 = gHcal->getClosestCell(forwardMC2);
377  if (deltaR(tempId1.eta(), tempId1.phi(), etaParticle, phiParticle) < deltaR(tempId2.eta(), tempId2.phi(), etaParticle, phiParticle))
378  gPointHcal = forwardMC1;
379 
380  else gPointHcal = forwardMC2;
381  */
382  gPointHcal = forwardMC1;
383  tempId = gHcal->getClosestCell(gPointHcal);
384  //tempId = gHcal->CaloSubdetectorGeometry::getClosestCell(gPointHcal);
385  }
386 
387 
388 
389  tempId = gHcal->getClosestCell(gPointHcal);
390 
391  ietatrue = tempId.ieta();
392  iphitrue = tempId.iphi();
393 
394  etaGPoint = gPointHcal.eta();
395  phiGPoint = gPointHcal.phi();
396 
397  //xAtHcal = gPointHcal.x();
398  //yAtHcal = gPointHcal.y();
399  //zAtHcal = gPointHcal.z();
400  /* ----------------- ------------------------ */
401 
402 
403  if (gPointHcal.x()==0 && gPointHcal.y()==0 && gPointHcal.z()==0)
404  {/*cout <<"gPointHcal is Zero!"<<endl;*/ continue;}
405 
406 
407  float etahcal=gPointHcal.eta();
408  // float phihcal=gPointHcal.phi();
409  if (abs(etahcal)>5.192) continue;
410  //if (abs(etahcal)>3.0 && abs(etahcal)<5.191)
411 
412  //cout <<gPointHcal.x() <<" "<<gPointHcal.y() <<" "<<gPointHcal.z()<<" "<<gPointHcal.eta()<<" "<<gPointHcal.phi()<<" "<<ietatrue<<" "<<iphitrue <<endl;
413 
414  // if (ietatrue==100 || iphitrue==-10) {cout<<"ietatrue: "<<ietatrue<<" iphitrue: "<<iphitrue<<" etahcal: "<<etahcal<<" phihcal: "<<phihcal<<endl;}
415 
416 
417 
418 
419  /* ------------- Calculate Ecal Energy using TrackAssociator ---------------------- */
420 
421  //float etaecal=info.trkGlobPosAtEcal.eta();
422 
423  xTrkEcal=info.trkGlobPosAtEcal.x();
424  yTrkEcal=info.trkGlobPosAtEcal.y();
425  zTrkEcal=info.trkGlobPosAtEcal.z();
426 
428 
429  eECAL = ecalEnergyInCone(gPointEcal, ecalCone_, Hitecal, geo);
430  eECAL09cm = ecalEnergyInCone(gPointEcal, 9, Hitecal, geo);
431  eECAL40cm = ecalEnergyInCone(gPointEcal, 40, Hitecal, geo);
432 
433  eEcalCone = eECAL;
434  //if(abs(etaecal)<1.5) enEcalB -> Fill(eEcalCone);
435  //if(abs(etaecal)>1.5 && abs(etaecal)<3.1) enEcalE -> Fill(eEcalCone);
436 
437  /* ------------------------------ -------------------------- ----------------- */
438 
439 
440  /* ----------------- Find the Hottest Hcal RecHit --------------------------- */
441  MaxHit_struct MaxHit;
442 
443  MaxHit.hitenergy=-100.;
444  Float_t recal = 1.0;
445 
446  //Hcal:
447  eHcalCone = 0.;
448  eHcalConeNoise = 0.;
449  UsedCells = 0;
450  UsedCellsNoise = 0;
451  e3x3 = 0.;
452  e5x5 = 0.;
453 
454  for (HBHERecHitCollection::const_iterator hhit=Hithbhe.begin(); hhit!=Hithbhe.end(); hhit++)
455  //for (HcalRecHitCollection::const_iterator hhit=Hithcal.begin(); hhit!=Hithcal.end(); hhit++)
456  {
457  recal = RecalibFactor(hhit->detid());
458  GlobalPoint pos = geo->getPosition(hhit->detid());
459 
460  int iphihit = (hhit->id()).iphi();
461  int ietahit = (hhit->id()).ieta();
462  int depthhit = (hhit->id()).depth();
463  float enehit = hhit->energy()* recal;
464 
465  if (depthhit!=1) continue;
466 
467  double distAtHcal = getDistInPlaneSimple(gPointHcal, pos);
468 
469  if(distAtHcal < clusterConeSize_)
470  {
471  for (HBHERecHitCollection::const_iterator hhit2=Hithbhe.begin(); hhit2!=Hithbhe.end(); hhit2++)
472  //for (HcalRecHitCollection::const_iterator hhit2=Hithcal.begin(); hhit2!=Hithcal.end(); hhit2++)
473  {
474  int iphihit2 = (hhit2->id()).iphi();
475  int ietahit2 = (hhit2->id()).ieta();
476  int depthhit2 = (hhit2->id()).depth();
477  float enehit2 = hhit2->energy() * recal;
478 
479  if (iphihit==iphihit2 && ietahit==ietahit2 && depthhit!=depthhit2) enehit = enehit+enehit2;
480 
481  }
482 
483 
484  if(enehit > MaxHit.hitenergy)
485  {
486  MaxHit.hitenergy = enehit;
487  MaxHit.ietahitm = (hhit->id()).ieta();
488  MaxHit.iphihitm = (hhit->id()).iphi();
489  MaxHit.dr = distAtHcal;
490  //MaxHit.depthhit = (hhit->id()).depth();
491  MaxHit.depthhit = 1;
492  }
493  }
494  }
495 
496 
497  for (HFRecHitCollection::const_iterator hhit=Hithf.begin(); hhit!=Hithf.end(); hhit++)
498  {
499 
500  recal = RecalibFactor(hhit->detid());
501 
502  GlobalPoint pos = geo->getPosition(hhit->detid());
503 
504  int iphihit = (hhit->id()).iphi();
505  int ietahit = (hhit->id()).ieta();
506  int depthhit = (hhit->id()).depth();
507  float enehit = hhit->energy()* recal;
508 
509  double distAtHcal = getDistInPlaneSimple(gPointHcal,pos);
510 
511  if(distAtHcal < associationConeSize_)
512  {
513  for (HFRecHitCollection::const_iterator hhit2=Hithf.begin(); hhit2!=Hithf.end(); hhit2++)
514  {
515  int iphihit2 = (hhit2->id()).iphi();
516  int ietahit2 = (hhit2->id()).ieta();
517  int depthhit2 = (hhit2->id()).depth();
518  float enehit2 = hhit2->energy() * recal;
519 
520  if (iphihit==iphihit2 && ietahit==ietahit2 && depthhit!=depthhit2) enehit = enehit+enehit2;
521 
522  }
523 
524  if(enehit > MaxHit.hitenergy)
525  {
526  MaxHit.hitenergy = enehit;
527  MaxHit.ietahitm = (hhit->id()).ieta();
528  MaxHit.iphihitm = (hhit->id()).iphi();
529  MaxHit.dr = distAtHcal;
530  MaxHit.depthhit = 1;
531  }
532  }
533  }
534 
535  /* ---------------------- ---------------- -------------------------------------------- */
536 
537 
538  /* ----------- Collect Hcal Energy in a Cone (and also 3x3 and 5x5 around the hottest cell)*/
539 
540  for (HBHERecHitCollection::const_iterator hhit=Hithbhe.begin(); hhit!=Hithbhe.end(); hhit++)
541  // for (HcalRecHitCollection::const_iterator hhit=Hithcal.begin(); hhit!=Hithcal.end(); hhit++)
542  {
543 
544  recal = RecalibFactor(hhit->detid());
545  //cout<<"recal: "<<recal<<endl;
546 
547  GlobalPoint pos = geo->getPosition(hhit->detid());
548 
549  int iphihit = (hhit->id()).iphi();
550  int ietahit = (hhit->id()).ieta();
551  int depthhit = (hhit->id()).depth();
552  float enehit = hhit->energy()* recal;
553 
554  //if (depthhit!=1) continue;
555 
556  //Set noise RecHit opposite to track hits
557  int iphihitNoise = iphihit >36 ? iphihit-36 : iphihit+36;
558  int ietahitNoise = -ietahit;
559  int depthhitNoise = depthhit;
560 
561  double distAtHcal = getDistInPlaneSimple(gPointHcal, pos);
562  if(distAtHcal < clusterConeSize_ && MaxHit.hitenergy > 0.)
563  {
564  eHcalCone += enehit;
565  UsedCells++;
566 
567 
568  int DIETA = 100;
569  if(MaxHit.ietahitm*(hhit->id()).ieta()>0)
570  { DIETA = MaxHit.ietahitm - (hhit->id()).ieta();}
571  if(MaxHit.ietahitm*(hhit->id()).ieta()<0)
572  { DIETA = MaxHit.ietahitm - (hhit->id()).ieta(); DIETA = DIETA>0 ? DIETA-1 : DIETA+1;}
573  int DIPHI = abs(MaxHit.iphihitm - (hhit->id()).iphi());
574  DIPHI = DIPHI>36 ? 72-DIPHI : DIPHI;
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  {e5x5 += hhit->energy();}
579  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) )) )
580  {e3x3 += hhit->energy();}
581 
582  // cout<<"track: ieta "<<ietahit<<" iphi: "<<iphihit<<" depth: "<<depthhit<<" energydepos: "<<enehit<<endl;
583 
584  for (HBHERecHitCollection::const_iterator hhit2=Hithbhe.begin(); hhit2!=Hithbhe.end(); hhit2++)
585  {
586  recal = RecalibFactor(hhit2->detid());
587  int iphihit2 = (hhit2->id()).iphi();
588  int ietahit2 = (hhit2->id()).ieta();
589  int depthhit2 = (hhit2->id()).depth();
590  float enehit2 = hhit2->energy()* recal;
591 
592  if (iphihitNoise == iphihit2 && ietahitNoise == ietahit2 && depthhitNoise == depthhit2 && enehit2>0.)
593  {
594  eHcalConeNoise += hhit2->energy()*recal;
595  UsedCellsNoise++;
596  //cout<<"Noise: ieta "<<ietahit2<<" iphi: "<<iphihit2<<" depth: "<<depthhit2<<" energydepos: "<<enehit2<<endl;
597  }
598  }
599  }
600  } //end of all HBHE hits loop
601 
602 
603  for (HFRecHitCollection::const_iterator hhit=Hithf.begin(); hhit!=Hithf.end(); hhit++)
604  {
605 
606  recal = RecalibFactor(hhit->detid());
607 
608  GlobalPoint pos = geo->getPosition(hhit->detid());
609  //float phihit = pos.phi();
610  //float etahit = pos.eta();
611 
612  int iphihit = (hhit->id()).iphi();
613  int ietahit = (hhit->id()).ieta();
614  int depthhit = (hhit->id()).depth();
615  float enehit = hhit->energy()* recal;
616 
617  //Set noise RecHit opposite to track hits
618  int iphihitNoise = iphihit >36 ? iphihit-36 : iphihit+36;
619  int ietahitNoise = -ietahit;
620  int depthhitNoise = depthhit;
621 
622  double distAtHcal = getDistInPlaneSimple(gPointHcal,pos);
623 
624  if(distAtHcal < clusterConeSize_ && MaxHit.hitenergy > 0.)
625  //if(dr<radius_ && enehit>0.)
626  {
627 
628  eHcalCone += enehit;
629  UsedCells++;
630 
631  int DIETA = 100;
632  if(MaxHit.ietahitm*(hhit->id()).ieta()>0)
633  { DIETA = MaxHit.ietahitm - (hhit->id()).ieta();}
634  if(MaxHit.ietahitm*(hhit->id()).ieta()<0)
635  { DIETA = MaxHit.ietahitm - (hhit->id()).ieta(); DIETA = DIETA>0 ? DIETA-1 : DIETA+1;}
636  int DIPHI = abs(MaxHit.iphihitm - (hhit->id()).iphi());
637  DIPHI = DIPHI>36 ? 72-DIPHI : DIPHI;
638 
639 
640  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) )) )
641  {e5x5 += hhit->energy();}
642  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) )) )
643  {e3x3 += hhit->energy();}
644 
645  for (HFRecHitCollection::const_iterator hhit2=Hithf.begin(); hhit2!=Hithf.end(); hhit2++)
646  {
647  recal = RecalibFactor(hhit2->detid());
648 
649  int iphihit2 = (hhit2->id()).iphi();
650  int ietahit2 = (hhit2->id()).ieta();
651  int depthhit2 = (hhit2->id()).depth();
652  float enehit2 = hhit2->energy()* recal;
653 
654  if (iphihitNoise == iphihit2 && ietahitNoise == ietahit2 && depthhitNoise == depthhit2 && enehit2>0.01)
655  {
656  eHcalConeNoise += hhit2->energy()*recal;
657  UsedCellsNoise++;
658  }
659  }
660 
661  }
662  } //end of all HF hits loop
663 
664  /* ---------------- -------------------- ---------------------------------------------- -------- */
665 
666 
667  /* ------------- - Track-MC matching (if any tracks are in event) ------------ - */
668 
669  nTracks=0;
670 
671  delRmc[0] = 5;
672 
673  float delR_track_particle = 100;
674 
675  for (reco::TrackCollection::const_iterator track1=generalTracks->begin(); track1!=generalTracks->end(); track1++)
676  {
677  delR_track_particle = deltaR(etaParticle, phiParticle, track1->eta(), track1->phi());
678 
679  trackEta[nTracks] = track1 -> eta();
680  trackPhi[nTracks] = track1 -> phi();
681  trackP[nTracks] = sqrt(track1->px()*track1->px() + track1->py()*track1->py() + track1->pz()*track1->pz());
682 
683  delRmc[nTracks] = delR_track_particle;
684  numValidTrkHits[nTracks] = track1->hitPattern().numberOfValidHits();
685  numValidTrkStrips[nTracks] = track1->hitPattern().numberOfValidStripTECHits();
686  numLayers[nTracks] = track1->hitPattern().trackerLayersWithMeasurement(); //layers crossed
687  trkQual[nTracks] = track1->quality(reco::TrackBase::highPurity);
688 
689  nTracks++;
690  }
691 
692 
693  /* ------------------ ------------------------------ ------- */
694 
695 
696  int dieta_M_P = 100;
697  int diphi_M_P = 100;
698  if(MaxHit.ietahitm*ietatrue>0) {dieta_M_P = abs (MaxHit.ietahitm-ietatrue);}
699  if(MaxHit.ietahitm*ietatrue<0) {dieta_M_P = abs(MaxHit.ietahitm-ietatrue)-1;}
700  diphi_M_P = abs(MaxHit.iphihitm-iphitrue);
701 
702  diphi_M_P = diphi_M_P>36 ? 72-diphi_M_P : diphi_M_P;
703  iDr = sqrt(diphi_M_P*diphi_M_P+dieta_M_P*dieta_M_P);
704 
705  /* if (iDr>15)
706  {
707 cout<<"diphi: "<<diphi_M_P<<" dieta: "<<dieta_M_P<<" iDr: "<<iDr<<" ietatrue:"<<ietatrue<<" iphitrue:"<<iphitrue<<endl;
708 cout<<"M ieta: "<<MaxHit.ietahitm<<" M iphi: "<<MaxHit.iphihitm<<endl;
709 
710 }*/
711 
712 
713  Bool_t passCuts = kFALSE;
714  passCuts=kTRUE;
715  //if(eEcalCone < energyECALmip && iDr<2.) passCuts = kTRUE;
716  //if(MaxHit.hitenergy>0.) passCuts = kTRUE;
717 
718 
719  if(passCuts)
720  {
721  /*
722  enHcal -> Fill(ietatrue, eHcalCone);
723  nCells -> Fill(ietatrue, UsedCells);
724  enHcalNoise -> Fill(ietatrue, eHcalConeNoise);
725  nCellsNoise -> Fill(ietatrue, UsedCellsNoise);
726  */
727 
728 
729  //e3x3=0; e5x5=0;
730 
731  iEta = ietatrue;
732  iPhi = iphitrue;
733 
734  //iEta = MaxHit.ietahitm;
735  //iPhi = MaxHit.iphihitm;
736  delR = MaxHit.dr;
737  eCentHit = MaxHit.hitenergy;
738 
739  eParticle = mom_MC;
740  //eTrack = mom_MC;
741  //phiTrack = phiParticle;
742  //etaTrack = etaParticle;
743 
744  pfTree->Fill();
745  }
746 
747  } //Hep:MC
748 
749 
750 }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:43
const HcalPFCorrs * pfRecalib
double ecalEnergyInCone(const GlobalPoint center, double radius, const EcalRecHitCollection ecalCol, const CaloGeometry *geo)
ReturnType plane(const PositionType &pos, const RotationType &rot) const
Definition: PlaneBuilder.h:22
TrackAssociatorParameters parameters_
std::vector< EcalRecHit >::const_iterator const_iterator
#define abs(x)
Definition: mlp_lapack.h:159
double npart
Definition: HydjetWrapper.h:45
T eta() const
double charge(const std::vector< uint8_t > &Ampls)
FreeTrajectoryState * freeState(bool withErrors=true) const
void applyRadX0Correction(bool applyRadX0Correction)
T sqrt(T t)
Definition: SSEVec.h:46
int ieta() const
get the cell ieta
Definition: HcalDetId.h:38
const GlobalPoint & getPosition(const DetId &id) const
Get the position of a given detector id.
Definition: CaloGeometry.cc:68
const CaloGeometry * geo
virtual TrajectoryStateOnSurface propagate(const FreeTrajectoryState &ftsStart, const Plane &pDest) const
Propagate to Plane given a starting point.
bool isValid() const
Definition: HandleBase.h:76
const HcalRespCorrs * respRecalib
const_iterator end() const
double deltaR(double eta1, double eta2, double phi1, double phi2)
Definition: TreeUtility.cc:17
virtual DetId getClosestCell(const GlobalPoint &r) const
int iphi() const
get the cell iphi
Definition: HcalDetId.h:40
GlobalPoint position() const
SteppingHelixPropagator * stepPropF
T const * product() const
Definition: ESHandle.h:62
T const * product() const
Definition: Handle.h:74
TrackDetectorAssociator trackAssociator_
T eta() const
Definition: PV3DBase.h:75
TrackDetMatchInfo associate(const edm::Event &, const edm::EventSetup &, const FreeTrajectoryState &, const AssociatorParameters &)
double RecalibFactor(HcalDetId id)
math::XYZPoint trkGlobPosAtEcal
Track position at different parts of the calorimeter.
double getDistInPlaneSimple(const GlobalPoint caloPoint, const GlobalPoint rechitPoint)
Definition: ConeDefinition.h:9
tuple cout
Definition: gather_cfg.py:121
void setMaterialMode(bool noMaterial)
Switch for material effects mode: no material effects if true.
const_iterator begin() const
Global3DVector GlobalVector
Definition: GlobalVector.h:10
Definition: DDAxes.h:10
void HcalCorrPFCalculation::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 752 of file HcalCorrPFCalculation.cc.

References reco::btau::trackEta, and reco::btau::trackPhi.

752  {
753 
754  pfTree = fs -> make<TTree>("pfTree", "Tree for pf info");
755 
756 
757  pfTree->Branch("nTracks", &nTracks, "nTracks/I");
758  pfTree->Branch("trackEta", trackEta, "trackEta[nTracks]/F");
759  pfTree->Branch("trackPhi", trackPhi, "trackPhi[nTracks]/F");
760  pfTree->Branch("trackP", trackP, "trackP[nTracks]/F");
761 
762  pfTree->Branch("delRmc", delRmc, "delRmc[nTracks]/F");
763  pfTree->Branch("numValidTrkHits", numValidTrkHits, "numValidTrkHits[nTracks]/I");
764  pfTree->Branch("numValidTrkStrips", numValidTrkStrips, "numValidTrkStrips[nTracks]/I");
765  pfTree->Branch("numLayers", numLayers, "numLayers[nTracks]/I");
766  pfTree->Branch("trkQual", trkQual, "trkQual[nTracks]/O");
767 
768 
769  pfTree->Branch("eEcalCone", &eEcalCone, "eEcalCone/F");
770  pfTree->Branch("eHcalCone", &eHcalCone, "eHcalCone/F");
771  pfTree->Branch("eHcalConeNoise", &eHcalConeNoise, "eHcalConeNoise/F");
772 
773  pfTree->Branch("UsedCellsNoise", &UsedCellsNoise, "UsedCellsNoise/I");
774  pfTree->Branch("UsedCells", &UsedCells, "UsedCells/I");
775 
776  pfTree->Branch("eCentHit", &eCentHit , "eCentHit/F");
777 
778  pfTree->Branch("eParticle", &eParticle, "eParticle/F");
779  pfTree->Branch("etaParticle", &etaParticle, "etaParticle/F");
780  pfTree->Branch("phiParticle", &phiParticle, "phiParticle/F");
781 
782  pfTree->Branch("etaGPoint", &etaGPoint, "etaGPoint/F");
783  pfTree->Branch("phiGPoint", &phiGPoint, "phiGPoint/F");
784 
785  pfTree->Branch("xAtHcal", &xAtHcal, "xAtHcal/F");
786  pfTree->Branch("yAtHcal", &yAtHcal, "yAtHcal/F");
787  pfTree->Branch("zAtHcal", &zAtHcal, "zAtHcal/F");
788 
789  pfTree->Branch("eECAL09cm", &eECAL09cm, "eECAL09cm/F");
790  pfTree->Branch("eECAL40cm", &eECAL40cm, "eECAL40cm/F");
791  pfTree->Branch("eECAL", &eECAL, "eECAL/F");
792 
793  pfTree->Branch("e3x3 ", &e3x3 , "e3x3/F");
794  pfTree->Branch("e5x5", &e5x5 , "e5x5/F");
795 
796  pfTree->Branch("iDr", &iDr, "iDr/F");
797  pfTree->Branch("delR", &delR, "delR/F");
798 
799  pfTree->Branch("iEta", &iEta, "iEta/I");
800  pfTree->Branch("iPhi", &iPhi, "iPhi/I");
801 
802  // pfTree->Branch("numValidTrkHits", &numValidTrkHits, "numValidTrkHits/I");
803  // pfTree->Branch("numValidTrkStrips", &numValidTrkStrips, "numValidTrkStrips/I");
804  // pfTree->Branch("trkQual", &trkQual, "trkQual/");
805  // pfTree->Branch("numLayers", &numLayers, "numLayers/I");
806 
807 }
edm::Service< TFileService > fs
void HcalCorrPFCalculation::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 810 of file HcalCorrPFCalculation.cc.

811 {}
double HcalCorrPFCalculation::RecalibFactor ( HcalDetId  id)
private

Definition at line 133 of file HcalCorrPFCalculation.cc.

134 {
135  Float_t resprecal = 1.;
136  Float_t pfrecal = 1.;
137  if(AddRecalib) {
138  if(Respcorr_) resprecal = respRecalib -> getValues(id)->getValue();
139  if(PFcorr_) pfrecal = pfRecalib -> getValues(id)->getValue();
140  }
141  Float_t factor = resprecal*pfrecal;
142  return factor;
143 }
const HcalPFCorrs * pfRecalib
const HcalRespCorrs * respRecalib

Member Data Documentation

Bool_t HcalCorrPFCalculation::AddRecalib
private

Definition at line 70 of file HcalCorrPFCalculation.cc.

double HcalCorrPFCalculation::associationConeSize_
private

Definition at line 56 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::CentHitFactor
private

Definition at line 61 of file HcalCorrPFCalculation.cc.

double HcalCorrPFCalculation::clusterConeSize_
private

Definition at line 56 of file HcalCorrPFCalculation.cc.

bool HcalCorrPFCalculation::Conecorr_
private

Definition at line 53 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::delR
private

Definition at line 64 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::delRmc[50]
private

Definition at line 103 of file HcalCorrPFCalculation.cc.

Bool_t HcalCorrPFCalculation::doHF
private

Definition at line 69 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::e3x3
private

Definition at line 65 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::e5x5
private

Definition at line 65 of file HcalCorrPFCalculation.cc.

double HcalCorrPFCalculation::ecalCone_
private

Definition at line 56 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::eCentHit
private

Definition at line 60 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::eECAL
private

Definition at line 57 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::eECAL09cm
private

Definition at line 57 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::eECAL40cm
private

Definition at line 57 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::eEcalCone
private

Definition at line 89 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::eHcalCone
private

Definition at line 89 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::eHcalConeNoise
private

Definition at line 89 of file HcalCorrPFCalculation.cc.

TProfile * HcalCorrPFCalculation::enHcal
private

Definition at line 97 of file HcalCorrPFCalculation.cc.

TProfile * HcalCorrPFCalculation::enHcalNoise
private

Definition at line 97 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::eParticle
private

Definition at line 60 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::etaGPoint
private

Definition at line 67 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::etaParticle
private

Definition at line 91 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::etaTrack
private

Definition at line 66 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::eTrack
private

Definition at line 60 of file HcalCorrPFCalculation.cc.

edm::Service<TFileService> HcalCorrPFCalculation::fs
private

Definition at line 101 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::genEta
private

Definition at line 103 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::genPhi
private

Definition at line 103 of file HcalCorrPFCalculation.cc.

const CaloGeometry* HcalCorrPFCalculation::geo
private

Definition at line 82 of file HcalCorrPFCalculation.cc.

const HcalGeometry* HcalCorrPFCalculation::geoHcal
private

Definition at line 83 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::iDr
private

Definition at line 64 of file HcalCorrPFCalculation.cc.

int HcalCorrPFCalculation::iEta
private

Definition at line 62 of file HcalCorrPFCalculation.cc.

int HcalCorrPFCalculation::iPhi
private

Definition at line 62 of file HcalCorrPFCalculation.cc.

TProfile* HcalCorrPFCalculation::nCells
private

Definition at line 97 of file HcalCorrPFCalculation.cc.

TProfile * HcalCorrPFCalculation::nCellsNoise
private

Definition at line 97 of file HcalCorrPFCalculation.cc.

double HcalCorrPFCalculation::neutralIsolationCone_
private

Definition at line 56 of file HcalCorrPFCalculation.cc.

int HcalCorrPFCalculation::nevtot
private

Definition at line 71 of file HcalCorrPFCalculation.cc.

Int_t HcalCorrPFCalculation::nTracks
private

Definition at line 102 of file HcalCorrPFCalculation.cc.

Int_t HcalCorrPFCalculation::numLayers[50]
private

Definition at line 93 of file HcalCorrPFCalculation.cc.

Int_t HcalCorrPFCalculation::numValidTrkHits[50]
private

Definition at line 93 of file HcalCorrPFCalculation.cc.

Int_t HcalCorrPFCalculation::numValidTrkStrips[50]
private

Definition at line 93 of file HcalCorrPFCalculation.cc.

TrackAssociatorParameters HcalCorrPFCalculation::parameters_
private
bool HcalCorrPFCalculation::PFcorr_
private

Definition at line 52 of file HcalCorrPFCalculation.cc.

const HcalPFCorrs* HcalCorrPFCalculation::pfRecalib
private

Definition at line 74 of file HcalCorrPFCalculation.cc.

TTree* HcalCorrPFCalculation::pfTree
private

Definition at line 99 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::phiGPoint
private

Definition at line 67 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::phiParticle
private

Definition at line 91 of file HcalCorrPFCalculation.cc.

float HcalCorrPFCalculation::phiTrack
private

Definition at line 66 of file HcalCorrPFCalculation.cc.

double HcalCorrPFCalculation::radius_
private

Definition at line 54 of file HcalCorrPFCalculation.cc.

bool HcalCorrPFCalculation::Respcorr_
private

Definition at line 51 of file HcalCorrPFCalculation.cc.

const HcalRespCorrs* HcalCorrPFCalculation::respRecalib
private

Definition at line 73 of file HcalCorrPFCalculation.cc.

SteppingHelixPropagator* HcalCorrPFCalculation::stepPropF
private

Definition at line 76 of file HcalCorrPFCalculation.cc.

MagneticField* HcalCorrPFCalculation::theMagField
private

Definition at line 77 of file HcalCorrPFCalculation.cc.

TrackDetectorAssociator HcalCorrPFCalculation::trackAssociator_
private

Definition at line 79 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::trackEta[50]
private

Definition at line 103 of file HcalCorrPFCalculation.cc.

double HcalCorrPFCalculation::trackIsolationCone_
private

Definition at line 56 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::trackP[50]
private

Definition at line 103 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::trackPhi[50]
private

Definition at line 103 of file HcalCorrPFCalculation.cc.

TTree * HcalCorrPFCalculation::tracksTree
private

Definition at line 99 of file HcalCorrPFCalculation.cc.

Bool_t HcalCorrPFCalculation::trkQual[50]
private

Definition at line 95 of file HcalCorrPFCalculation.cc.

int HcalCorrPFCalculation::UsedCells
private

Definition at line 90 of file HcalCorrPFCalculation.cc.

int HcalCorrPFCalculation::UsedCellsNoise
private

Definition at line 90 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::xAtHcal
private

Definition at line 87 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::xTrkEcal
private

Definition at line 86 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::xTrkHcal
private

Definition at line 85 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::yAtHcal
private

Definition at line 87 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::yTrkEcal
private

Definition at line 86 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::yTrkHcal
private

Definition at line 85 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::zAtHcal
private

Definition at line 87 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::zTrkEcal
private

Definition at line 86 of file HcalCorrPFCalculation.cc.

Float_t HcalCorrPFCalculation::zTrkHcal
private

Definition at line 85 of file HcalCorrPFCalculation.cc.