CMS 3D CMS Logo

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 () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
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::TrackCollectiontok_genTrack_
 
edm::EDGetTokenT< HBHERecHitCollectiontok_hbhe_
 
edm::EDGetTokenT< HORecHitCollectiontok_ho_
 
edm::EDGetTokenT< reco::TrackCollectiontok_track1_
 
edm::EDGetTokenT< reco::IsolatedPixelTrackCandidateCollectiontok_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
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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 191 of file ValidIsoTrkCalib.cc.

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

193 {
194  //takeAllRecHits_=iConfig.getUntrackedParameter<bool>("takeAllRecHits");
195  takeGenTracks_ = iConfig.getUntrackedParameter<bool>("takeGenTracks");
196 
197  tok_genTrack_ = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("genTracksLabel"));
198  genhbheLabel_ = iConfig.getParameter<edm::InputTag>("genHBHE");
199  //genhoLabel_=iConfig.getParameter<edm::InputTag>("genHO");
200  //genecalLabel_=iConfig.getParameter<std::vector<edm::InputTag> >("genECAL");
201 
202  // m_hcalLabel = iConfig.getUntrackedParameter<std::string> ("hcalRecHitsLabel","hbhereco");
203 
204  tok_hbhe_ = consumes<HBHERecHitCollection>(iConfig.getParameter<edm::InputTag>("hbheInput"));
205  tok_ho_ = consumes<HORecHitCollection>(iConfig.getParameter<edm::InputTag>("hoInput"));
206  //eLabel_=iConfig.getParameter<edm::InputTag>("eInput");
207  tok_track_ =
208  consumes<reco::IsolatedPixelTrackCandidateCollection>(iConfig.getParameter<edm::InputTag>("HcalIsolTrackInput"));
209  tok_track1_ = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("trackInput"));
210 
211  associationConeSize_ = iConfig.getParameter<double>("associationConeSize");
212  allowMissingInputs_ = iConfig.getUntrackedParameter<bool>("allowMissingInputs", true);
213  // outputFileName_=iConfig.getParameter<std::string>("outputFileName");
214  // calibFactorsFileName_=iConfig.getParameter<std::string>("calibFactorsFileName");
215 
216  AxB_ = iConfig.getParameter<std::string>("AxB");
217  calibrationConeSize_ = iConfig.getParameter<double>("calibrationConeSize");
218 
219  MinNTrackHitsBarrel = iConfig.getParameter<int>("MinNTrackHitsBarrel");
220  MinNTECHitsEndcap = iConfig.getParameter<int>("MinNTECHitsEndcap");
221  energyECALmip = iConfig.getParameter<double>("energyECALmip");
222  energyMinIso = iConfig.getParameter<double>("energyMinIso");
223  energyMaxIso = iConfig.getParameter<double>("energyMaxIso");
224  maxPNear = iConfig.getParameter<double>("maxPNear");
225 
226  edm::ParameterSet parameters = iConfig.getParameter<edm::ParameterSet>("TrackAssociatorParameters");
230 
231  // taECALCone_=iConfig.getUntrackedParameter<double>("TrackAssociatorECALCone",0.5);
232  //taHCALCone_=iConfig.getUntrackedParameter<double>("TrackAssociatorHCALCone",0.6);
233 }
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
void useDefaultPropagator()
use the default propagator
void loadParameters(const edm::ParameterSet &, edm::ConsumesCollector &)
TrackAssociatorParameters parameters_
edm::EDGetTokenT< reco::IsolatedPixelTrackCandidateCollection > tok_track_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
TrackDetectorAssociator trackAssociator_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
edm::EDGetTokenT< HORecHitCollection > tok_ho_
edm::EDGetTokenT< reco::TrackCollection > tok_track1_
ValidIsoTrkCalib::~ValidIsoTrkCalib ( )
override

Definition at line 235 of file ValidIsoTrkCalib.cc.

235  {
236  // do anything here that needs to be done at desctruction time
237  // (e.g. close files, deallocate resources etc.)
238 }

Member Function Documentation

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

Definition at line 241 of file ValidIsoTrkCalib.cc.

References funct::abs(), edm::SortedCollection< T, SORT >::begin(), gather_cfg::cout, egammaForCoreTracking_cff::depth, MaxHit_struct::depthhit, MaxHit_struct::dr, MillePedeFileConverter_cfg::e, edm::SortedCollection< T, SORT >::end(), edm::EventID::event(), isolatedTracks_cfi::generalTracks, PFJetFilter_cfi::genPt, edm::EventSetup::get(), edm::Event::getByToken(), HcalGeometry::getClosestCell(), getDistInPlaneSimple(), reco::JetExtendedAssociation::getValue(), photonIsolationHIProducer_cfi::hbhe, DetId::Hcal, HcalBarrel, MaxHit_struct::hitenergy, mps_fire::i, edm::EventBase::id(), HcalDetId::ieta(), MaxHit_struct::ietahitm, info(), HcalDetId::iphi(), MaxHit_struct::iphihitm, electrons_cff::matched, gen::n, nTracks(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), edm::EventID::run(), convertSQLiteXML::runNumber, mathSSE::sqrt(), reco::btau::trackEta, reco::btau::trackPhi, listHistos::trackPt, TrackDetMatchInfo::trkGlobPosAtEcal, and TrackDetMatchInfo::trkGlobPosAtHcal.

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

Reimplemented from edm::EDAnalyzer.

Definition at line 721 of file ValidIsoTrkCalib.cc.

References PFJetFilter_cfi::genPt, nTracks(), and convertSQLiteXML::runNumber.

721  {
722  // if(!ReadCalibFactors(calibFactorsFileName_.c_str() )) {cout<<"Cant read file with cailib coefficients!! ---"<<endl;}
723 
724  // try{
725  // edm::ESHandle <HcalRespCorrs> recalibCorrs;
726  // iSetup.get<HcalRespCorrsRcd>().get("recalibrate",recalibCorrs);
727  // respRecalib = recalibCorrs.product();
728  //
729  // LogInfo("CalibConstants")<<" Loaded: OK ";
730  //
731  // }catch(const cms::Exception & e) {
732  // LogWarning("CalibConstants")<<" Not Found!! ";
733  // }
734 
735  // rootFile = new TFile(outputFileName_.c_str(),"RECREATE");
736 
737  //@@@@@@@@@@@@@
738  //TFileDirectory ValDir = fs->mkdir("Validation");
739 
740  nTracks = fs->make<TH1F>("nTracks", "general;number of general tracks", 11, -0.5, 10.5);
741 
742  tTree = fs->make<TTree>("tTree", "Tree for gen info");
743 
744  fTree = fs->make<TTree>("fTree", "Tree for IsoTrack Calibration");
745 
746  fTree->Branch("eventNumber", &eventNumber, "eventNumber/I");
747  fTree->Branch("runNumber", &runNumber, "runNumber/I");
748 
749  fTree->Branch("eClustBefore", &eClustBefore, "eClustBefore/F");
750  fTree->Branch("eClustAfter", &eClustAfter, "eClustAfter/F");
751  fTree->Branch("eTrack", &eTrack, "eTrack/F");
752  fTree->Branch("etaTrack", &etaTrack, "etaTrack/F");
753  fTree->Branch("phiTrack", &phiTrack, "phiTrack/F");
754 
755  fTree->Branch("numHits", &numHits, "numHits/I");
756  fTree->Branch("eECAL", &eECAL, "eECAL/F");
757  fTree->Branch("PtNearBy", &PtNearBy, "PtNearBy/F");
758  fTree->Branch("numValidTrkHits", &numValidTrkHits, "numValidTrkHits/F");
759  fTree->Branch("numValidTrkStrips", &numValidTrkStrips, "numValidTrkStrips/F");
760 
761  fTree->Branch("eBeforeDepth1", &eBeforeDepth1, "eBeforeDepth1/F");
762  fTree->Branch("eBeforeDepth2", &eBeforeDepth2, "eBeforeDepth2/F");
763  fTree->Branch("eAfterDepth1", &eAfterDepth1, "eAfterDepth1/F");
764  fTree->Branch("eAfterDepth2", &eAfterDepth2, "eAfterDepth2/F");
765 
766  fTree->Branch("e3x3Before", &e3x3Before, "e3x3Before/F");
767  fTree->Branch("e3x3After", &e3x3After, "e3x3After/F");
768  fTree->Branch("e5x5Before", &e5x5Before, "e5x5Before/F");
769  fTree->Branch("e5x5After", &e5x5After, "e5x5After/F");
770 
771  fTree->Branch("eCentHitAfter", &eCentHitAfter, "eCentHitAfter/F");
772  fTree->Branch("eCentHitBefore", &eCentHitBefore, "eCentHitBefore/F");
773  fTree->Branch("iEta", &iEta, "iEta/I");
774  fTree->Branch("iPhi", &iPhi, "iPhi/I");
775 
776  fTree->Branch("iEtaTr", &iEtaTr, "iEtaTr/I");
777  fTree->Branch("iPhiTr", &iPhiTr, "iPhiTr/I");
778  fTree->Branch("dietatr", &dietatr, "dietatr/I");
779  fTree->Branch("diphitr", &diphitr, "diphitr/I");
780  fTree->Branch("iDr", &iDr, "iDr/F");
781  fTree->Branch("delR", &delR, "delR/F");
782 
783  fTree->Branch("iTime", &iTime, "iTime/F");
784  fTree->Branch("HTime", HTime, "HTime[numHits]/F");
785 
786  fTree->Branch("xTrkEcal", &xTrkEcal, "xTrkEcal/F");
787  fTree->Branch("yTrkEcal", &yTrkEcal, "yTrkEcal/F");
788  fTree->Branch("zTrkEcal", &zTrkEcal, "zTrkEcal/F");
789  fTree->Branch("xTrkHcal", &xTrkHcal, "xTrkHcal/F");
790  fTree->Branch("yTrkHcal", &yTrkHcal, "yTrkHcal/F");
791  fTree->Branch("zTrkHcal", &zTrkHcal, "zTrkHcal/F");
792 
793  if (takeGenTracks_) {
794  tTree->Branch("gen", &gen, "gen/I");
795  tTree->Branch("iso", &iso, "iso/I");
796  tTree->Branch("pix", &pix, "pix/I");
797  tTree->Branch("genPt", genPt, "genPt[gen]/F");
798  tTree->Branch("genPhi", genPhi, "genPhi[gen]/F");
799  tTree->Branch("genEta", genEta, "genEta[gen]/F");
800 
801  tTree->Branch("isoPt", isoPt, "isoPt[iso]/F");
802  tTree->Branch("isoPhi", isoPhi, "isoPhi[iso]/F");
803  tTree->Branch("isoEta", isoEta, "isoEta[iso]/F");
804 
805  tTree->Branch("pixPt", pixPt, "pixPt[pix]/F");
806  tTree->Branch("pixPhi", pixPhi, "pixPhi[pix]/F");
807  tTree->Branch("pixEta", pixEta, "pixEta[pix]/F");
808  }
809 }
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 812 of file ValidIsoTrkCalib.cc.

References DEFINE_FWK_MODULE.

Referenced by o2olib.O2ORunMgr::executeJob().

812  {
813  // rootFile->Write();
814  //rootFile->Close();
815 }

Member Data Documentation

bool ValidIsoTrkCalib::allowMissingInputs_
private

Definition at line 106 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::associationConeSize_
private

Definition at line 102 of file ValidIsoTrkCalib.cc.

string ValidIsoTrkCalib::AxB_
private

Definition at line 103 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::calibrationConeSize_
private

Definition at line 104 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::CentHitFactor
private

Definition at line 161 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::delR
private

Definition at line 166 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::dietatr
private

Definition at line 167 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::diphitr
private

Definition at line 168 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::e3x3After
private

Definition at line 173 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::e3x3Before
private

Definition at line 172 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::e5x5After
private

Definition at line 175 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::e5x5Before
private

Definition at line 174 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eAfterDepth1
private

Definition at line 156 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eAfterDepth2
private

Definition at line 158 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eBeforeDepth1
private

Definition at line 155 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eBeforeDepth2
private

Definition at line 157 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eCentHitAfter
private

Definition at line 160 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eCentHitBefore
private

Definition at line 159 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eClustAfter
private

Definition at line 147 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eClustBefore
private

Definition at line 146 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eECAL
private

Definition at line 151 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::emEnergy
private

Definition at line 130 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::energyECALmip
private

Definition at line 127 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::energyMaxIso
private

Definition at line 128 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::energyMinIso
private

Definition at line 128 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::etaTrack
private

Definition at line 149 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::eTrack
private

Definition at line 148 of file ValidIsoTrkCalib.cc.

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

Definition at line 187 of file ValidIsoTrkCalib.cc.

TTree * ValidIsoTrkCalib::fTree
private

Definition at line 135 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::gen
private

Definition at line 113 of file ValidIsoTrkCalib.cc.

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

Definition at line 91 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::genEta[500]
private

Definition at line 114 of file ValidIsoTrkCalib.cc.

InputTag ValidIsoTrkCalib::genhbheLabel_
private

Definition at line 89 of file ValidIsoTrkCalib.cc.

InputTag ValidIsoTrkCalib::genhoLabel_
private

Definition at line 90 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::genPhi[500]
private

Definition at line 114 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::genPt[500]
private

Definition at line 114 of file ValidIsoTrkCalib.cc.

const CaloGeometry* ValidIsoTrkCalib::geo
private

Definition at line 87 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::HTime[100]
private

Definition at line 171 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::iDr
private

Definition at line 166 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::iEta
private

Definition at line 162 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::iEtaTr
private

Definition at line 164 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::iPhi
private

Definition at line 163 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::iPhiTr
private

Definition at line 165 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::iso
private

Definition at line 113 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::isoEta[500]
private

Definition at line 115 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::isoPhi[500]
private

Definition at line 115 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::isoPt[500]
private

Definition at line 115 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::iTime
private

Definition at line 170 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::maxPNear
private

Definition at line 127 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::MinNTECHitsEndcap
private

Definition at line 126 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::MinNTrackHitsBarrel
private

Definition at line 126 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::Nhits
private

Definition at line 145 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::NisoTrk
private

Definition at line 120 of file ValidIsoTrkCalib.cc.

TH1F* ValidIsoTrkCalib::nTracks
private

Definition at line 185 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::numHits
private

Definition at line 152 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::numValidTrkHits
private

Definition at line 179 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::numValidTrkStrips
private

Definition at line 179 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::numVH
private

Definition at line 179 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::numVS
private

Definition at line 179 of file ValidIsoTrkCalib.cc.

string ValidIsoTrkCalib::outputFileName_
private

Definition at line 107 of file ValidIsoTrkCalib.cc.

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

Definition at line 150 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::pix
private

Definition at line 113 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::pixEta[500]
private

Definition at line 116 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::pixPhi[500]
private

Definition at line 116 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::pixPt[500]
private

Definition at line 116 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::ptNear
private

Definition at line 122 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::PtNearBy
private

Definition at line 178 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::ptrack
private

Definition at line 123 of file ValidIsoTrkCalib.cc.

const HcalRespCorrs* ValidIsoTrkCalib::respRecalib
private

Definition at line 181 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::runNumber
private
float ValidIsoTrkCalib::rvert
private

Definition at line 123 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::taECALCone_
private

Definition at line 84 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::taHCALCone_
private

Definition at line 85 of file ValidIsoTrkCalib.cc.

bool ValidIsoTrkCalib::takeGenTracks_
private

Definition at line 111 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::targetE
private

Definition at line 131 of file ValidIsoTrkCalib.cc.

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

Definition at line 93 of file ValidIsoTrkCalib.cc.

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

Definition at line 94 of file ValidIsoTrkCalib.cc.

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

Definition at line 95 of file ValidIsoTrkCalib.cc.

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

Definition at line 97 of file ValidIsoTrkCalib.cc.

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

Definition at line 96 of file ValidIsoTrkCalib.cc.

TrackDetectorAssociator ValidIsoTrkCalib::trackAssociator_
private

Definition at line 82 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::trackE
private

Definition at line 121 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::trackEta
private

Definition at line 121 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::trackPhi
private

Definition at line 121 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::trackPt
private

Definition at line 121 of file ValidIsoTrkCalib.cc.

TTree* ValidIsoTrkCalib::tTree
private

Definition at line 135 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::xTrkEcal
private

Definition at line 137 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::xTrkHcal
private

Definition at line 141 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::yTrkEcal
private

Definition at line 138 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::yTrkHcal
private

Definition at line 142 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::zTrkEcal
private

Definition at line 139 of file ValidIsoTrkCalib.cc.

Float_t ValidIsoTrkCalib::zTrkHcal
private

Definition at line 143 of file ValidIsoTrkCalib.cc.