CMS 3D CMS Logo

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

Public Member Functions

 ValidIsoTrkCalib (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::SharedResources >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () 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
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (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::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

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

Private Attributes

const bool allowMissingInputs_
 
const double associationConeSize_
 
const std::string AxB_
 
const 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
 
const double energyECALmip
 
const double energyMaxIso
 
const double energyMinIso
 
float etaTrack
 
float eTrack
 
int eventNumber
 
TTree * fTree
 
int gen
 
std::vector< edm::InputTaggenecalLabel_
 
float genEta [500]
 
const edm::InputTag genhbheLabel_
 
edm::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
 
const double maxPNear
 
const int MinNTECHitsEndcap
 
const int MinNTrackHitsBarrel
 
int Nhits
 
int NisoTrk
 
TH1F * nTracks
 
int numHits
 
float numValidTrkHits
 
float numValidTrkStrips
 
float numVH
 
float numVS
 
std::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_
 
const bool takeGenTracks_
 
Float_t targetE
 
const edm::EDGetTokenT< reco::TrackCollectiontok_genTrack_
 
const edm::ESGetToken< CaloGeometry, CaloGeometryRecordtok_geom_
 
const edm::EDGetTokenT< HBHERecHitCollectiontok_hbhe_
 
const edm::EDGetTokenT< HORecHitCollectiontok_ho_
 
const edm::ESGetToken< HcalRespCorrs, HcalRespCorrsRcdtok_recalibCorrs_
 
const edm::EDGetTokenT< reco::TrackCollectiontok_track1_
 
const 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::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 64 of file ValidIsoTrkCalib.cc.

Constructor & Destructor Documentation

◆ ValidIsoTrkCalib()

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

Definition at line 173 of file ValidIsoTrkCalib.cc.

References edm::EDConsumerBase::consumesCollector(), edm::ParameterSet::getParameter(), TFileService::kSharedResource, TrackAssociatorParameters::loadParameters(), parameters_, trackAssociator_, and TrackDetectorAssociator::useDefaultPropagator().

174  : takeGenTracks_(iConfig.getUntrackedParameter<bool>("takeGenTracks")),
175  genhbheLabel_(iConfig.getParameter<edm::InputTag>("genHBHE")),
176  associationConeSize_(iConfig.getParameter<double>("associationConeSize")),
177  allowMissingInputs_(iConfig.getUntrackedParameter<bool>("allowMissingInputs", true)),
178  AxB_(iConfig.getParameter<std::string>("AxB")),
179  calibrationConeSize_(iConfig.getParameter<double>("calibrationConeSize")),
180  MinNTrackHitsBarrel(iConfig.getParameter<int>("MinNTrackHitsBarrel")),
181  MinNTECHitsEndcap(iConfig.getParameter<int>("MinNTECHitsEndcap")),
182  energyECALmip(iConfig.getParameter<double>("energyECALmip")),
183  energyMinIso(iConfig.getParameter<double>("energyMinIso")),
184  energyMaxIso(iConfig.getParameter<double>("energyMaxIso")),
185  maxPNear(iConfig.getParameter<double>("maxPNear")),
186  tok_genTrack_(consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("genTracksLabel"))),
187  tok_hbhe_(consumes<HBHERecHitCollection>(iConfig.getParameter<edm::InputTag>("hbheInput"))),
188  tok_ho_(consumes<HORecHitCollection>(iConfig.getParameter<edm::InputTag>("hoInput"))),
189  tok_track_(consumes<reco::IsolatedPixelTrackCandidateCollection>(
190  iConfig.getParameter<edm::InputTag>("HcalIsolTrackInput"))),
191  tok_track1_(consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("trackInput"))),
192  tok_recalibCorrs_(esConsumes(edm::ESInputTag("", "recalibrate"))),
193  tok_geom_(esConsumes()) {
194  usesResource(TFileService::kSharedResource);
195 
196  edm::ParameterSet parameters = iConfig.getParameter<edm::ParameterSet>("TrackAssociatorParameters");
200 }
static const std::string kSharedResource
Definition: TFileService.h:76
const edm::EDGetTokenT< HORecHitCollection > tok_ho_
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const bool takeGenTracks_
const edm::EDGetTokenT< reco::TrackCollection > tok_track1_
void useDefaultPropagator()
use the default propagator
void loadParameters(const edm::ParameterSet &, edm::ConsumesCollector &)
const double calibrationConeSize_
TrackAssociatorParameters parameters_
const edm::ESGetToken< HcalRespCorrs, HcalRespCorrsRcd > tok_recalibCorrs_
const bool allowMissingInputs_
T getUntrackedParameter(std::string const &, T const &) const
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
const double energyMinIso
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
TrackDetectorAssociator trackAssociator_
const double energyECALmip
const int MinNTrackHitsBarrel
const double energyMaxIso
const edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
const edm::EDGetTokenT< reco::IsolatedPixelTrackCandidateCollection > tok_track_
const edm::InputTag genhbheLabel_
const int MinNTECHitsEndcap
const std::string AxB_
const edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
const double associationConeSize_
const double maxPNear

Member Function Documentation

◆ analyze()

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

Implements edm::one::EDAnalyzerBase.

Definition at line 203 of file ValidIsoTrkCalib.cc.

References funct::abs(), TrackDetectorAssociator::associate(), associationConeSize_, AxB_, edm::SortedCollection< T, SORT >::begin(), TrackAssociatorParameters::bFieldToken, calibrationConeSize_, CentHitFactor, delR, hcalRecHitTable_cff::depth, MaxHit_struct::depthhit, dietatr, diphitr, MaxHit_struct::dr, l1ctLayer1_cff::dr, MillePedeFileConverter_cfg::e, e3x3After, e3x3Before, e5x5After, e5x5Before, eAfterDepth1, eAfterDepth2, eBeforeDepth1, eBeforeDepth2, eCentHitAfter, eCentHitBefore, eClustAfter, eClustBefore, eECAL, emEnergy, edm::SortedCollection< T, SORT >::end(), energyMaxIso, energyMinIso, etaTrack, eTrack, eventNumber, fTree, generalTracks_cfi::generalTracks, genEta, genPhi, genPt, geo, HcalGeometry::getClosestCell(), edm::EventSetup::getData(), getDistInPlaneSimple(), TrackDetectorAssociator::getFreeTrajectoryState(), CaloGeometry::getPosition(), CaloGeometry::getSubdetectorGeometry(), reco::JetExtendedAssociation::getValue(), HcalCondObjectContainer< Item >::getValues(), photonIsolationHIProducer_cfi::hbhe, DetId::Hcal, HcalBarrel, MaxHit_struct::hitenergy, HTime, mps_fire::i, iDr, hcalRecHitTable_cff::ieta, iEta, HcalDetId::ieta(), MaxHit_struct::ietahitm, iEtaTr, iEvent, info(), hcalRecHitTable_cff::iphi, iPhi, HcalDetId::iphi(), MaxHit_struct::iphihitm, iPhiTr, iso, isoEta, isoPhi, isoPt, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, iTime, muonTagProbeFilters_cff::matched, maxPNear, MinNTECHitsEndcap, MinNTrackHitsBarrel, dqmiodumpmetadata::n, nTracks, numHits, numValidTrkHits, numValidTrkStrips, numVH, numVS, parameters_, phiTrack, pix, pixEta, pixPhi, pixPt, ptNear, PtNearBy, respRecalib, runNumber, mathSSE::sqrt(), takeGenTracks_, tok_genTrack_, tok_geom_, tok_hbhe_, tok_recalibCorrs_, tok_track1_, tok_track_, trackAssociator_, trackE, trackEta, trackPhi, trackPt, tTree, TrackAssociatorParameters::useCalo, TrackAssociatorParameters::useEcal, TrackAssociatorParameters::useHcal, TrackAssociatorParameters::useMuon, xTrkEcal, xTrkHcal, yTrkEcal, yTrkHcal, zTrkEcal, and zTrkHcal.

203  {
204  try {
206 
207  edm::LogVerbatim("ValidIsoTrkCalib") << " Loaded: OK ";
208 
209  } catch (const cms::Exception& e) {
210  edm::LogWarning("ValidIsoTrkCalib") << " Not Found!! ";
211  }
212 
214 
215  const edm::Handle<reco::TrackCollection>& isoProdTracks = iEvent.getHandle(tok_track1_);
216 
218 
220  const HBHERecHitCollection Hithbhe = *(hbhe.product());
221 
222  geo = &iSetup.getData(tok_geom_);
223 
224  const HcalGeometry* gHcal = static_cast<const HcalGeometry*>(geo->getSubdetectorGeometry(DetId::Hcal, HcalBarrel));
225  //Note: even though it says HcalBarrel, we actually get the whole Hcal detector geometry!
226 
227  parameters_.useEcal = true;
228  parameters_.useHcal = true;
229  parameters_.useCalo = false;
230  parameters_.useMuon = false;
231 #ifdef EDM_ML_DEBUG
232  edm::LogVerbatim("ValidIsoTrkCalib") << "Hello World. TrackCollectionSize: " << isoPixelTracks->size();
233 #endif
234  if (isoPixelTracks->empty())
235  return;
236 
237  for (reco::TrackCollection::const_iterator trit = isoProdTracks->begin(); trit != isoProdTracks->end(); trit++) {
238  reco::IsolatedPixelTrackCandidateCollection::const_iterator isoMatched = isoPixelTracks->begin();
239  bool matched = false;
240 
241  for (reco::IsolatedPixelTrackCandidateCollection::const_iterator it = isoPixelTracks->begin();
242  it != isoPixelTracks->end();
243  it++) {
244  if (abs((trit->pt() - it->pt()) / it->pt()) < 0.005 && abs(trit->eta() - it->eta()) < 0.01) {
245  isoMatched = it;
246  matched = true;
247  break;
248  }
249  }
250  // CUT
251 
252  if (!matched)
253  continue;
254  if (isoMatched->maxPtPxl() > maxPNear)
255  continue;
256 
257  ptNear = isoMatched->maxPtPxl();
258 #ifdef EDM_ML_DEBUG
259  edm::LogVerbatim("ValidIsoTrkCalib") << "Point 0.1 isoMatch. ptnear: " << ptNear;
260 #endif
261  // CUT
262  if (trit->hitPattern().numberOfValidHits() < MinNTrackHitsBarrel)
263  continue;
264  if (fabs(trit->eta()) > 1.47 && trit->hitPattern().numberOfValidStripTECHits() < MinNTECHitsEndcap)
265  continue;
266 
267 #ifdef EDM_ML_DEBUG
268  edm::LogVerbatim("ValidIsoTrkCalib") << "Point 0.2.1 after numofvalidhits HB: "
269  << trit->hitPattern().numberOfValidHits();
270  edm::LogVerbatim("ValidIsoTrkCalib") << "Point 0.2.2 after numofvalidstrips HE: "
271  << trit->hitPattern().numberOfValidStripTECHits();
272 #endif
273  numVH = trit->hitPattern().numberOfValidHits();
274  numVS = trit->hitPattern().numberOfValidStripTECHits();
275 
276  trackE = sqrt(trit->px() * trit->px() + trit->py() * trit->py() + trit->pz() * trit->pz() + 0.14 * 0.14);
277  trackPt = trit->pt();
278  trackEta = trit->eta();
279  trackPhi = trit->phi();
280 
281  emEnergy = isoMatched->energyIn();
282 
283 #ifdef EDM_ML_DEBUG
284  edm::LogVerbatim("ValidIsoTrkCalib") << "Point 0.3. Matched :: pt: " << trit->pt() << " wholeEnergy: " << trackE
285  << " emEnergy: " << emEnergy << " eta: " << trackEta << " phi: " << trackPhi;
286  edm::LogVerbatim("ValidIsoTrkCalib") << "Point 0.4. EM energy in cone: " << emEnergy;
287 #endif
289  iEvent,
290  iSetup,
292  parameters_);
293 
294  xTrkEcal = info.trkGlobPosAtEcal.x();
295  yTrkEcal = info.trkGlobPosAtEcal.y();
296  zTrkEcal = info.trkGlobPosAtEcal.z();
297 
298  xTrkHcal = info.trkGlobPosAtHcal.x();
299  yTrkHcal = info.trkGlobPosAtHcal.y();
300  zTrkHcal = info.trkGlobPosAtHcal.z();
301 
302  if (xTrkEcal == 0 && yTrkEcal == 0 && zTrkEcal == 0) {
303  edm::LogVerbatim("ValidIsoTrkCalib") << "zero point at Ecal";
304  continue;
305  }
306  if (xTrkHcal == 0 && yTrkHcal == 0 && zTrkHcal == 0) {
307  edm::LogVerbatim("ValidIsoTrkCalib") << "zero point at Hcal";
308  continue;
309  }
310 
311  GlobalPoint gPointEcal(xTrkEcal, yTrkEcal, zTrkEcal);
312  GlobalPoint gPointHcal(xTrkHcal, yTrkHcal, zTrkHcal);
313 
314  int iphitrue = -10;
315  int ietatrue = 100;
316  const HcalDetId tempId = gHcal->getClosestCell(gPointHcal);
317  ietatrue = tempId.ieta();
318  iphitrue = tempId.iphi();
319 
320  MaxHit_struct MaxHit;
321 
322  MaxHit.hitenergy = -100.;
323 
324  //container for used recHits
325  std::vector<DetId> usedHits;
326  usedHits.clear();
327 #ifdef EDM_ML_DEBUG
328  edm::LogVerbatim("ValidIsoTrkCalib") << "Point 1. Entrance to HBHECollection";
329 #endif
330 
331  GlobalPoint gPhot;
332 
333  for (HBHERecHitCollection::const_iterator hhit = Hithbhe.begin(); hhit != Hithbhe.end(); hhit++) {
334  //check that this hit was not considered before and push it into usedHits
335  bool hitIsUsed = false;
336  for (uint32_t i = 0; i < usedHits.size(); i++) {
337  if (usedHits[i] == hhit->id())
338  hitIsUsed = true;
339  }
340  if (hitIsUsed)
341  continue;
342  usedHits.push_back(hhit->id());
343  //
344 
345  // rof 16.05.2008 start: include the possibility for recalibration
346  float recal = 1;
347  // rof end
348 
349  GlobalPoint pos = geo->getPosition(hhit->detid());
350 
351  int iphihitm = (hhit->id()).iphi();
352  int ietahitm = (hhit->id()).ieta();
353  int depthhit = (hhit->id()).depth();
354  float enehit = hhit->energy() * recal;
355 
356  if (depthhit != 1)
357  continue;
358 
359 #ifdef EDM_ML_DEBUG
360  float dphi = fabs(info.trkGlobPosAtHcal.phi() - pos.phi());
361  if (dphi > 4. * atan(1.))
362  dphi = 8. * atan(1.) - dphi;
363  float deta = fabs(info.trkGlobPosAtHcal.eta() - pos.eta());
364  float dr = sqrt(dphi * dphi + deta * deta);
365 #endif
366 
367  double distAtHcal = getDistInPlaneSimple(gPointHcal, pos);
368 
369  if (distAtHcal < associationConeSize_) {
370  for (HBHERecHitCollection::const_iterator hhit2 = Hithbhe.begin(); hhit2 != Hithbhe.end(); hhit2++) {
371  int iphihitm2 = (hhit2->id()).iphi();
372  int ietahitm2 = (hhit2->id()).ieta();
373  int depthhit2 = (hhit2->id()).depth();
374  float enehit2 = hhit2->energy() * recal;
375 
376  if (iphihitm == iphihitm2 && ietahitm == ietahitm2 && depthhit != depthhit2)
377  enehit = enehit + enehit2;
378  }
379 
380 #ifdef EDM_ML_DEBUG
381  edm::LogVerbatim("ValidIsoTrkCalib") << "IN CONE ieta: " << ietahitm << " iphi: " << iphihitm
382  << " depthhit: " << depthhit << " dr: " << dr << " energy: " << enehit;
383 #endif
384  //Find a Hit with Maximum Energy
385 
386  if (enehit > MaxHit.hitenergy) {
387  MaxHit.hitenergy = enehit;
388  MaxHit.ietahitm = (hhit->id()).ieta();
389  MaxHit.iphihitm = (hhit->id()).iphi();
390  MaxHit.dr = distAtHcal;
391  MaxHit.depthhit = 1;
392  }
393  }
394  } //end of all HBHE hits cycle
395 
396  usedHits.clear();
397 
398 #ifdef EDM_ML_DEBUG
399  edm::LogVerbatim("ValidIsoTrkCalib") << "Hottest ieta: " << MaxHit.ietahitm << " iphi: " << MaxHit.iphihitm
400  << " dr: " << MaxHit.dr;
401  edm::LogVerbatim("ValidIsoTrkCalib") << "Track ieta: " << ietatrue << " iphi: " << iphitrue;
402  edm::LogVerbatim("ValidIsoTrkCalib") << "Point 3. MaxHit :::En " << MaxHit.hitenergy
403  << " ieta: " << MaxHit.ietahitm << " iphi: " << MaxHit.iphihitm;
404 #endif
405 
406  Bool_t passCuts = kFALSE;
407  if (trackE > energyMinIso && trackE < energyMaxIso && emEnergy < energyECALmip && MaxHit.hitenergy > 0. &&
408  abs(MaxHit.ietahitm) < 29)
409  passCuts = kTRUE;
410 
411 #ifdef EDM_ML_DEBUG
412  edm::LogVerbatim("ValidIsoTrkCalib") << "Pont 0.1.1. trackE:" << trackE << " emEn: " << emEnergy;
413 #endif
414  numHits = 0;
415 
416  eClustBefore = 0.0;
417  eClustAfter = 0.0;
418  eBeforeDepth1 = 0.0;
419  eAfterDepth1 = 0.0;
420  eBeforeDepth2 = 0.0;
421  eAfterDepth2 = 0.0;
422  CentHitFactor = 0.0;
423  e3x3After = 0.0;
424  e3x3Before = 0.0;
425  e5x5After = 0.0;
426  e5x5Before = 0.0;
427 
428  for (HBHERecHitCollection::const_iterator hhit = Hithbhe.begin(); hhit != Hithbhe.end(); hhit++) {
429  //check that this hit was not considered before and push it into usedHits
430  bool hitIsUsed = false;
431  for (uint32_t i = 0; i < usedHits.size(); i++) {
432  if (usedHits[i] == hhit->id())
433  hitIsUsed = true;
434  }
435  if (hitIsUsed)
436  continue;
437  usedHits.push_back(hhit->id());
438 
439  int DIETA = 100;
440  if (MaxHit.ietahitm * (hhit->id()).ieta() > 0) {
441  DIETA = MaxHit.ietahitm - (hhit->id()).ieta();
442  }
443  if (MaxHit.ietahitm * (hhit->id()).ieta() < 0) {
444  DIETA = MaxHit.ietahitm - (hhit->id()).ieta();
445  DIETA = DIETA > 0 ? DIETA - 1 : DIETA + 1;
446  }
447 
448  int DIPHI = abs(MaxHit.iphihitm - (hhit->id()).iphi());
449  DIPHI = DIPHI > 36 ? 72 - DIPHI : DIPHI;
450 
451  int numbercell = 100; //always collect Wide clastor!
452 
453  if (abs(DIETA) <= numbercell &&
454  (abs(DIPHI) <= numbercell || (abs(MaxHit.ietahitm) >= 20 && abs(DIPHI) <= numbercell + 1))) {
455  const GlobalPoint pos2 = geo->getPosition(hhit->detid());
456 
457  if (passCuts && hhit->energy() > 0) {
458  float factor = respRecalib->getValues(hhit->id())->getValue();
459 
460 #ifdef EDM_ML_DEBUG
461  edm::LogVerbatim("ValidIsoTrkCalib") << " calib factors: " << factor;
462 #endif
463 
464  if (hhit->id().ieta() == MaxHit.ietahitm && hhit->id().iphi() == MaxHit.iphihitm)
466 
467  if (hhit->id().ieta() == MaxHit.ietahitm && hhit->id().iphi() == MaxHit.iphihitm)
468  iTime = hhit->time();
469 
470  if (AxB_ != "3x3" && AxB_ != "5x5" && AxB_ != "Cone")
471  edm::LogWarning(" AxB ") << " Not supported: " << AxB_;
472 
473  if (abs(DIETA) <= 2 && (abs(DIPHI) <= 2 || ((abs(MaxHit.ietahitm) > 20 && abs(DIPHI) <= 4) &&
474  !((abs(MaxHit.ietahitm) == 21 || abs(MaxHit.ietahitm) == 22) &&
475  abs((hhit->id()).ieta()) <= 20 && abs(DIPHI) > 2)))) {
476  e5x5Before += hhit->energy();
477  e5x5After += hhit->energy() * factor;
478  }
479 
480  if (abs(DIETA) <= 1 && (abs(DIPHI) <= 1 || ((abs(MaxHit.ietahitm) > 20 && abs(DIPHI) <= 2) &&
481  !(abs(MaxHit.ietahitm) == 21 && abs((hhit->id()).ieta()) <= 20 &&
482  abs(DIPHI) > 1)))) {
483  e3x3Before += hhit->energy();
484  e3x3After += hhit->energy() * factor;
485  }
486 
487  if (AxB_ == "5x5") {
488  if (abs(DIETA) <= 2 && (abs(DIPHI) <= 2 || (abs(MaxHit.ietahitm) > 20 && abs(DIPHI) <= 4))) {
489  if (abs(MaxHit.ietahitm) == 21 && abs((hhit->id()).ieta()) <= 20 && abs(DIPHI) > 3)
490  continue;
491 
492  HTime[numHits] = hhit->time();
493  numHits++;
494 
495  eClustBefore += hhit->energy();
496  eClustAfter += hhit->energy() * factor;
497 
498  if ((hhit->id().depth() == 1) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29)) {
499  eBeforeDepth1 += hhit->energy();
500  eAfterDepth1 += hhit->energy() * factor;
501  } else if ((hhit->id().depth() == 2) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29)) {
502  eBeforeDepth2 += hhit->energy();
503  eAfterDepth2 += hhit->energy() * factor;
504  }
505  }
506  } //end of 5x5
507 
508  if (AxB_ == "3x3") {
509  if (abs(DIETA) <= 1 && (abs(DIPHI) <= 1 || (abs(MaxHit.ietahitm) > 20 && abs(DIPHI) <= 2))) {
510  if (abs(MaxHit.ietahitm) == 21 && abs((hhit->id()).ieta()) <= 20 && abs(DIPHI) > 2)
511  continue;
512 
513  HTime[numHits] = hhit->time();
514  numHits++;
515 
516  eClustBefore += hhit->energy();
517  eClustAfter += hhit->energy() * factor;
518 
519  if ((hhit->id().depth() == 1) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29)) {
520  eBeforeDepth1 += hhit->energy();
521  eAfterDepth1 += hhit->energy() * factor;
522  } else if ((hhit->id().depth() == 2) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29)) {
523  eBeforeDepth2 += hhit->energy();
524  eAfterDepth2 += hhit->energy() * factor;
525  }
526  }
527  } //end of 3x3
528 
529  if (AxB_ == "Cone" && getDistInPlaneSimple(gPointHcal, pos2) < calibrationConeSize_) {
530  HTime[numHits] = hhit->time();
531  numHits++;
532 
533  eClustBefore += hhit->energy();
534  eClustAfter += hhit->energy() * factor;
535 
536  if ((hhit->id().depth() == 1) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29)) {
537  eBeforeDepth1 += hhit->energy();
538  eAfterDepth1 += hhit->energy() * factor;
539  } else if ((hhit->id().depth() == 2) && (abs(hhit->id().ieta()) > 17) && (abs(hhit->id().ieta()) < 29)) {
540  eBeforeDepth2 += hhit->energy();
541  eAfterDepth2 += hhit->energy() * factor;
542  }
543 
544  } //end of Cone
545 
546  } //end of passCuts
547 
548  } //end of DIETA DIPHI
549 
550  } //end of associatedcone HBHE hits cycle
551 
552  int dieta_M_P = 100;
553  int diphi_M_P = 100;
554  if (MaxHit.ietahitm * ietatrue > 0) {
555  dieta_M_P = abs(MaxHit.ietahitm - ietatrue);
556  }
557  if (MaxHit.ietahitm * ietatrue < 0) {
558  dieta_M_P = abs(MaxHit.ietahitm - ietatrue) - 1;
559  }
560  diphi_M_P = abs(MaxHit.iphihitm - iphitrue);
561  diphi_M_P = diphi_M_P > 36 ? 72 - diphi_M_P : diphi_M_P;
562 
563  if (passCuts)
564 
565  {
566  eventNumber = iEvent.id().event();
567  runNumber = iEvent.id().run();
568 
569  eCentHitBefore = MaxHit.hitenergy;
571  eECAL = emEnergy;
574  PtNearBy = ptNear;
575 
576  eTrack = trackE;
577  phiTrack = trackPhi;
578  etaTrack = trackEta;
579 
580  iEta = MaxHit.ietahitm;
581  iPhi = MaxHit.iphihitm;
582 
583  iEtaTr = ietatrue;
584  iPhiTr = iphitrue;
585  iDr = sqrt(diphi_M_P * diphi_M_P + dieta_M_P * dieta_M_P);
586  delR = MaxHit.dr;
587  dietatr = dieta_M_P;
588  diphitr = diphi_M_P;
589 
590  fTree->Fill();
591  }
592 
593  } //end of isoProdTracks cycle
594 
595  /* ------------------ Some stuff for general tracks ---------- ----*/
596 #ifdef EDM_ML_DEBUG
597  edm::LogVerbatim("ValidIsoTrkCalib") << " generalTracks Size: " << generalTracks->size();
598 #endif
599  int n = generalTracks->size();
600  nTracks->Fill(n);
601 
602  if (takeGenTracks_ && iEvent.id().event() % 10 == 1) {
603  gen = generalTracks->size();
604  iso = isoProdTracks->size();
605  pix = isoPixelTracks->size();
606 
607  genPt[0] = -33;
608  genPhi[0] = -33;
609  genEta[0] = -33;
610 
611  isoPt[0] = -33;
612  isoPhi[0] = -33;
613  isoEta[0] = -33;
614 
615  pixPt[0] = -33;
616  pixPhi[0] = -33;
617  pixEta[0] = -33;
618 
619  Int_t gencount = 0, isocount = 0, pixcount = 0;
620  for (reco::TrackCollection::const_iterator gentr = generalTracks->begin(); gentr != generalTracks->end(); gentr++) {
621  genPt[gencount] = gentr->pt();
622  genPhi[gencount] = gentr->phi();
623  genEta[gencount] = gentr->eta();
624  gencount++;
625  }
626 
627  for (reco::TrackCollection::const_iterator isotr = isoProdTracks->begin(); isotr != isoProdTracks->end(); isotr++) {
628  isoPt[isocount] = isotr->pt();
629  isoPhi[isocount] = isotr->phi();
630  isoEta[isocount] = isotr->eta();
631  isocount++;
632  }
633 
634  for (reco::IsolatedPixelTrackCandidateCollection::const_iterator pixtr = isoPixelTracks->begin();
635  pixtr != isoPixelTracks->end();
636  pixtr++) {
637  pixPt[pixcount] = pixtr->pt();
638  pixPhi[pixcount] = pixtr->phi();
639  pixEta[pixcount] = pixtr->eta();
640  pixcount++;
641  }
642  }
643 
644  tTree->Fill();
645 }
Log< level::Info, true > LogVerbatim
static const TGPicture * info(bool iBackgroundIsBlack)
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
const bool takeGenTracks_
DetId getClosestCell(const GlobalPoint &r) const override
const edm::EDGetTokenT< reco::TrackCollection > tok_track1_
std::vector< T >::const_iterator const_iterator
const double calibrationConeSize_
TrackAssociatorParameters parameters_
const edm::ESGetToken< HcalRespCorrs, HcalRespCorrsRcd > tok_recalibCorrs_
const Item * getValues(DetId fId, bool throwOnFail=true) const
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
int iEvent
Definition: GenABIO.cc:224
const double energyMinIso
GlobalPoint getPosition(const DetId &id) const
Get the position of a given detector id.
Definition: CaloGeometry.cc:50
const CaloGeometry * geo
constexpr int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
T sqrt(T t)
Definition: SSEVec.h:19
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > bFieldToken
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
TrackDetectorAssociator trackAssociator_
const_iterator begin() const
const HcalRespCorrs * respRecalib
const int MinNTrackHitsBarrel
const double energyMaxIso
const_iterator end() const
const edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
const edm::EDGetTokenT< reco::IsolatedPixelTrackCandidateCollection > tok_track_
static FreeTrajectoryState getFreeTrajectoryState(const MagneticField *, const reco::Track &)
get FreeTrajectoryState from different track representations
const int MinNTECHitsEndcap
const std::string AxB_
TrackDetMatchInfo associate(const edm::Event &, const edm::EventSetup &, const FreeTrajectoryState &, const AssociatorParameters &)
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
const edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
Log< level::Warning, false > LogWarning
const double associationConeSize_
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
constexpr int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
const double maxPNear

◆ beginJob()

void ValidIsoTrkCalib::beginJob ( )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 648 of file ValidIsoTrkCalib.cc.

References delR, dietatr, diphitr, e3x3After, e3x3Before, e5x5After, e5x5Before, eAfterDepth1, eAfterDepth2, eBeforeDepth1, eBeforeDepth2, eCentHitAfter, eCentHitBefore, eClustAfter, eClustBefore, eECAL, etaTrack, eTrack, eventNumber, compareTotals::fs, fTree, genEta, genPhi, genPt, HTime, iDr, iEta, iEtaTr, iPhi, iPhiTr, iso, isoEta, isoPhi, isoPt, iTime, nTracks, numHits, numValidTrkHits, numValidTrkStrips, phiTrack, pix, pixEta, pixPhi, pixPt, PtNearBy, runNumber, takeGenTracks_, tTree, xTrkEcal, xTrkHcal, yTrkEcal, yTrkHcal, zTrkEcal, and zTrkHcal.

648  {
650 
651  nTracks = fs->make<TH1F>("nTracks", "general;number of general tracks", 11, -0.5, 10.5);
652 
653  tTree = fs->make<TTree>("tTree", "Tree for gen info");
654 
655  fTree = fs->make<TTree>("fTree", "Tree for IsoTrack Calibration");
656 
657  fTree->Branch("eventNumber", &eventNumber, "eventNumber/I");
658  fTree->Branch("runNumber", &runNumber, "runNumber/I");
659 
660  fTree->Branch("eClustBefore", &eClustBefore, "eClustBefore/F");
661  fTree->Branch("eClustAfter", &eClustAfter, "eClustAfter/F");
662  fTree->Branch("eTrack", &eTrack, "eTrack/F");
663  fTree->Branch("etaTrack", &etaTrack, "etaTrack/F");
664  fTree->Branch("phiTrack", &phiTrack, "phiTrack/F");
665 
666  fTree->Branch("numHits", &numHits, "numHits/I");
667  fTree->Branch("eECAL", &eECAL, "eECAL/F");
668  fTree->Branch("PtNearBy", &PtNearBy, "PtNearBy/F");
669  fTree->Branch("numValidTrkHits", &numValidTrkHits, "numValidTrkHits/F");
670  fTree->Branch("numValidTrkStrips", &numValidTrkStrips, "numValidTrkStrips/F");
671 
672  fTree->Branch("eBeforeDepth1", &eBeforeDepth1, "eBeforeDepth1/F");
673  fTree->Branch("eBeforeDepth2", &eBeforeDepth2, "eBeforeDepth2/F");
674  fTree->Branch("eAfterDepth1", &eAfterDepth1, "eAfterDepth1/F");
675  fTree->Branch("eAfterDepth2", &eAfterDepth2, "eAfterDepth2/F");
676 
677  fTree->Branch("e3x3Before", &e3x3Before, "e3x3Before/F");
678  fTree->Branch("e3x3After", &e3x3After, "e3x3After/F");
679  fTree->Branch("e5x5Before", &e5x5Before, "e5x5Before/F");
680  fTree->Branch("e5x5After", &e5x5After, "e5x5After/F");
681 
682  fTree->Branch("eCentHitAfter", &eCentHitAfter, "eCentHitAfter/F");
683  fTree->Branch("eCentHitBefore", &eCentHitBefore, "eCentHitBefore/F");
684  fTree->Branch("iEta", &iEta, "iEta/I");
685  fTree->Branch("iPhi", &iPhi, "iPhi/I");
686 
687  fTree->Branch("iEtaTr", &iEtaTr, "iEtaTr/I");
688  fTree->Branch("iPhiTr", &iPhiTr, "iPhiTr/I");
689  fTree->Branch("dietatr", &dietatr, "dietatr/I");
690  fTree->Branch("diphitr", &diphitr, "diphitr/I");
691  fTree->Branch("iDr", &iDr, "iDr/F");
692  fTree->Branch("delR", &delR, "delR/F");
693 
694  fTree->Branch("iTime", &iTime, "iTime/F");
695  fTree->Branch("HTime", HTime, "HTime[numHits]/F");
696 
697  fTree->Branch("xTrkEcal", &xTrkEcal, "xTrkEcal/F");
698  fTree->Branch("yTrkEcal", &yTrkEcal, "yTrkEcal/F");
699  fTree->Branch("zTrkEcal", &zTrkEcal, "zTrkEcal/F");
700  fTree->Branch("xTrkHcal", &xTrkHcal, "xTrkHcal/F");
701  fTree->Branch("yTrkHcal", &yTrkHcal, "yTrkHcal/F");
702  fTree->Branch("zTrkHcal", &zTrkHcal, "zTrkHcal/F");
703 
704  if (takeGenTracks_) {
705  tTree->Branch("gen", &gen, "gen/I");
706  tTree->Branch("iso", &iso, "iso/I");
707  tTree->Branch("pix", &pix, "pix/I");
708  tTree->Branch("genPt", genPt, "genPt[gen]/F");
709  tTree->Branch("genPhi", genPhi, "genPhi[gen]/F");
710  tTree->Branch("genEta", genEta, "genEta[gen]/F");
711 
712  tTree->Branch("isoPt", isoPt, "isoPt[iso]/F");
713  tTree->Branch("isoPhi", isoPhi, "isoPhi[iso]/F");
714  tTree->Branch("isoEta", isoEta, "isoEta[iso]/F");
715 
716  tTree->Branch("pixPt", pixPt, "pixPt[pix]/F");
717  tTree->Branch("pixPhi", pixPhi, "pixPhi[pix]/F");
718  tTree->Branch("pixEta", pixEta, "pixEta[pix]/F");
719  }
720 }
const bool takeGenTracks_

Member Data Documentation

◆ allowMissingInputs_

const bool ValidIsoTrkCalib::allowMissingInputs_
private

Definition at line 86 of file ValidIsoTrkCalib.cc.

◆ associationConeSize_

const double ValidIsoTrkCalib::associationConeSize_
private

Definition at line 85 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ AxB_

const std::string ValidIsoTrkCalib::AxB_
private

Definition at line 87 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ calibrationConeSize_

const double ValidIsoTrkCalib::calibrationConeSize_
private

Definition at line 88 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ CentHitFactor

float ValidIsoTrkCalib::CentHitFactor
private

Definition at line 148 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ delR

float ValidIsoTrkCalib::delR
private

Definition at line 153 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ dietatr

int ValidIsoTrkCalib::dietatr
private

Definition at line 154 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ diphitr

int ValidIsoTrkCalib::diphitr
private

Definition at line 155 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ e3x3After

float ValidIsoTrkCalib::e3x3After
private

Definition at line 160 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ e3x3Before

float ValidIsoTrkCalib::e3x3Before
private

Definition at line 159 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ e5x5After

float ValidIsoTrkCalib::e5x5After
private

Definition at line 162 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ e5x5Before

float ValidIsoTrkCalib::e5x5Before
private

Definition at line 161 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ eAfterDepth1

float ValidIsoTrkCalib::eAfterDepth1
private

Definition at line 143 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ eAfterDepth2

float ValidIsoTrkCalib::eAfterDepth2
private

Definition at line 145 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ eBeforeDepth1

float ValidIsoTrkCalib::eBeforeDepth1
private

Definition at line 142 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ eBeforeDepth2

float ValidIsoTrkCalib::eBeforeDepth2
private

Definition at line 144 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ eCentHitAfter

float ValidIsoTrkCalib::eCentHitAfter
private

Definition at line 147 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ eCentHitBefore

float ValidIsoTrkCalib::eCentHitBefore
private

Definition at line 146 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ eClustAfter

float ValidIsoTrkCalib::eClustAfter
private

Definition at line 135 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ eClustBefore

float ValidIsoTrkCalib::eClustBefore
private

Definition at line 134 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ eECAL

float ValidIsoTrkCalib::eECAL
private

Definition at line 139 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ emEnergy

Float_t ValidIsoTrkCalib::emEnergy
private

Definition at line 120 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ energyECALmip

const double ValidIsoTrkCalib::energyECALmip
private

Definition at line 91 of file ValidIsoTrkCalib.cc.

◆ energyMaxIso

const double ValidIsoTrkCalib::energyMaxIso
private

Definition at line 93 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ energyMinIso

const double ValidIsoTrkCalib::energyMinIso
private

Definition at line 92 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ etaTrack

float ValidIsoTrkCalib::etaTrack
private

Definition at line 137 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ eTrack

float ValidIsoTrkCalib::eTrack
private

Definition at line 136 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ eventNumber

int ValidIsoTrkCalib::eventNumber
private

Definition at line 163 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ fTree

TTree * ValidIsoTrkCalib::fTree
private

Definition at line 123 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ gen

int ValidIsoTrkCalib::gen
private

Definition at line 109 of file ValidIsoTrkCalib.cc.

◆ genecalLabel_

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

Definition at line 106 of file ValidIsoTrkCalib.cc.

◆ genEta

float ValidIsoTrkCalib::genEta[500]
private

Definition at line 110 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ genhbheLabel_

const edm::InputTag ValidIsoTrkCalib::genhbheLabel_
private

Definition at line 84 of file ValidIsoTrkCalib.cc.

◆ genhoLabel_

edm::InputTag ValidIsoTrkCalib::genhoLabel_
private

Definition at line 105 of file ValidIsoTrkCalib.cc.

◆ genPhi

float ValidIsoTrkCalib::genPhi[500]
private

Definition at line 110 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ genPt

float ValidIsoTrkCalib::genPt[500]
private

Definition at line 110 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ geo

const CaloGeometry* ValidIsoTrkCalib::geo
private

Definition at line 81 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ HTime

float ValidIsoTrkCalib::HTime[100]
private

Definition at line 158 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ iDr

float ValidIsoTrkCalib::iDr
private

Definition at line 153 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ iEta

int ValidIsoTrkCalib::iEta
private

Definition at line 149 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ iEtaTr

int ValidIsoTrkCalib::iEtaTr
private

Definition at line 151 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ iPhi

int ValidIsoTrkCalib::iPhi
private

Definition at line 150 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ iPhiTr

int ValidIsoTrkCalib::iPhiTr
private

Definition at line 152 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ iso

int ValidIsoTrkCalib::iso
private

Definition at line 109 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ isoEta

float ValidIsoTrkCalib::isoEta[500]
private

Definition at line 111 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ isoPhi

float ValidIsoTrkCalib::isoPhi[500]
private

Definition at line 111 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ isoPt

float ValidIsoTrkCalib::isoPt[500]
private

Definition at line 111 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ iTime

float ValidIsoTrkCalib::iTime
private

Definition at line 157 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ maxPNear

const double ValidIsoTrkCalib::maxPNear
private

Definition at line 94 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ MinNTECHitsEndcap

const int ValidIsoTrkCalib::MinNTECHitsEndcap
private

Definition at line 90 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ MinNTrackHitsBarrel

const int ValidIsoTrkCalib::MinNTrackHitsBarrel
private

Definition at line 89 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ Nhits

int ValidIsoTrkCalib::Nhits
private

Definition at line 133 of file ValidIsoTrkCalib.cc.

◆ NisoTrk

int ValidIsoTrkCalib::NisoTrk
private

Definition at line 114 of file ValidIsoTrkCalib.cc.

◆ nTracks

TH1F* ValidIsoTrkCalib::nTracks
private

Definition at line 170 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ numHits

int ValidIsoTrkCalib::numHits
private

Definition at line 140 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ numValidTrkHits

float ValidIsoTrkCalib::numValidTrkHits
private

Definition at line 166 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ numValidTrkStrips

float ValidIsoTrkCalib::numValidTrkStrips
private

Definition at line 166 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ numVH

float ValidIsoTrkCalib::numVH
private

Definition at line 166 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ numVS

float ValidIsoTrkCalib::numVS
private

Definition at line 166 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ outputFileName_

std::string ValidIsoTrkCalib::outputFileName_
private

Definition at line 107 of file ValidIsoTrkCalib.cc.

◆ parameters_

TrackAssociatorParameters ValidIsoTrkCalib::parameters_
private

◆ phiTrack

float ValidIsoTrkCalib::phiTrack
private

Definition at line 138 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ pix

int ValidIsoTrkCalib::pix
private

Definition at line 109 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ pixEta

float ValidIsoTrkCalib::pixEta[500]
private

Definition at line 112 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ pixPhi

float ValidIsoTrkCalib::pixPhi[500]
private

Definition at line 112 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ pixPt

float ValidIsoTrkCalib::pixPt[500]
private

Definition at line 112 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ ptNear

float ValidIsoTrkCalib::ptNear
private

Definition at line 116 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ PtNearBy

float ValidIsoTrkCalib::PtNearBy
private

Definition at line 165 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ ptrack

float ValidIsoTrkCalib::ptrack
private

Definition at line 117 of file ValidIsoTrkCalib.cc.

◆ respRecalib

const HcalRespCorrs* ValidIsoTrkCalib::respRecalib
private

Definition at line 168 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ runNumber

int ValidIsoTrkCalib::runNumber
private

◆ rvert

float ValidIsoTrkCalib::rvert
private

Definition at line 117 of file ValidIsoTrkCalib.cc.

◆ taECALCone_

double ValidIsoTrkCalib::taECALCone_
private

Definition at line 78 of file ValidIsoTrkCalib.cc.

◆ taHCALCone_

double ValidIsoTrkCalib::taHCALCone_
private

Definition at line 79 of file ValidIsoTrkCalib.cc.

◆ takeGenTracks_

const bool ValidIsoTrkCalib::takeGenTracks_
private

Definition at line 83 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ targetE

Float_t ValidIsoTrkCalib::targetE
private

Definition at line 121 of file ValidIsoTrkCalib.cc.

◆ tok_genTrack_

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

Definition at line 96 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ tok_geom_

const edm::ESGetToken<CaloGeometry, CaloGeometryRecord> ValidIsoTrkCalib::tok_geom_
private

Definition at line 103 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ tok_hbhe_

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

Definition at line 97 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ tok_ho_

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

Definition at line 98 of file ValidIsoTrkCalib.cc.

◆ tok_recalibCorrs_

const edm::ESGetToken<HcalRespCorrs, HcalRespCorrsRcd> ValidIsoTrkCalib::tok_recalibCorrs_
private

Definition at line 102 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ tok_track1_

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

Definition at line 100 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ tok_track_

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

Definition at line 99 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ trackAssociator_

TrackDetectorAssociator ValidIsoTrkCalib::trackAssociator_
private

Definition at line 76 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

◆ trackE

float ValidIsoTrkCalib::trackE
private

Definition at line 115 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ trackEta

float ValidIsoTrkCalib::trackEta
private

Definition at line 115 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ trackPhi

float ValidIsoTrkCalib::trackPhi
private

Definition at line 115 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ trackPt

float ValidIsoTrkCalib::trackPt
private

Definition at line 115 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

◆ tTree

TTree* ValidIsoTrkCalib::tTree
private

Definition at line 123 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ xTrkEcal

Float_t ValidIsoTrkCalib::xTrkEcal
private

Definition at line 125 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ xTrkHcal

Float_t ValidIsoTrkCalib::xTrkHcal
private

Definition at line 129 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ yTrkEcal

Float_t ValidIsoTrkCalib::yTrkEcal
private

Definition at line 126 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ yTrkHcal

Float_t ValidIsoTrkCalib::yTrkHcal
private

Definition at line 130 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ zTrkEcal

Float_t ValidIsoTrkCalib::zTrkEcal
private

Definition at line 127 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

◆ zTrkHcal

Float_t ValidIsoTrkCalib::zTrkHcal
private

Definition at line 131 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().