CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > 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
 
bool registeredToConsumeMany (TypeID const &, 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::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () 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]
 
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
 
double maxPNear
 
int MinNTECHitsEndcap
 
int MinNTrackHitsBarrel
 
int Nhits
 
int NisoTrk
 
TH1F * nTracks
 
int numHits
 
float numValidTrkHits
 
float numValidTrkStrips
 
float numVH
 
float numVS
 
string outputFileName_
 
TrackAssociatorParameters parameters_
 
float phiTrack
 
int pix
 
float pixEta [500]
 
float pixPhi [500]
 
float pixPt [500]
 
float ptNear
 
float PtNearBy
 
float ptrack
 
const HcalRespCorrsrespRecalib
 
int runNumber
 
float rvert
 
double taECALCone_
 
double taHCALCone_
 
bool takeGenTracks_
 
Float_t targetE
 
edm::EDGetTokenT
< reco::TrackCollection
tok_genTrack_
 
edm::ESGetToken< CaloGeometry,
CaloGeometryRecord
tok_geom_
 
edm::EDGetTokenT
< HBHERecHitCollection
tok_hbhe_
 
edm::EDGetTokenT
< HORecHitCollection
tok_ho_
 
edm::ESGetToken< HcalRespCorrs,
HcalRespCorrsRcd
tok_recalibCorrs_
 
edm::EDGetTokenT
< reco::TrackCollection
tok_track1_
 
edm::EDGetTokenT
< reco::IsolatedPixelTrackCandidateCollection
tok_track_
 
TrackDetectorAssociator trackAssociator_
 
float trackE
 
float trackEta
 
float trackPhi
 
float trackPt
 
TTree * tTree
 
Float_t xTrkEcal
 
Float_t xTrkHcal
 
Float_t yTrkEcal
 
Float_t yTrkHcal
 
Float_t zTrkEcal
 
Float_t zTrkHcal
 

Additional Inherited Members

- Public Types inherited from edm::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< B > consumes (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 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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
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 ( const edm::ParameterSet iConfig)
explicit

Definition at line 190 of file ValidIsoTrkCalib.cc.

References allowMissingInputs_, associationConeSize_, AxB_, calibrationConeSize_, edm::EDConsumerBase::consumesCollector(), energyECALmip, energyMaxIso, energyMinIso, edm::EDConsumerBase::esConsumes(), genhbheLabel_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), TFileService::kSharedResource, TrackAssociatorParameters::loadParameters(), maxPNear, MinNTECHitsEndcap, MinNTrackHitsBarrel, parameters_, AlCaHLTBitMon_QueryRunRegistry::string, takeGenTracks_, tok_genTrack_, tok_geom_, tok_hbhe_, tok_ho_, tok_recalibCorrs_, tok_track1_, tok_track_, trackAssociator_, and TrackDetectorAssociator::useDefaultPropagator().

190  {
191  usesResource(TFileService::kSharedResource);
192 
193  //takeAllRecHits_=iConfig.getUntrackedParameter<bool>("takeAllRecHits");
194  takeGenTracks_ = iConfig.getUntrackedParameter<bool>("takeGenTracks");
195 
196  tok_genTrack_ = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("genTracksLabel"));
197  genhbheLabel_ = iConfig.getParameter<edm::InputTag>("genHBHE");
198  //genhoLabel_=iConfig.getParameter<edm::InputTag>("genHO");
199  //genecalLabel_=iConfig.getParameter<std::vector<edm::InputTag> >("genECAL");
200 
201  // m_hcalLabel = iConfig.getUntrackedParameter<std::string> ("hcalRecHitsLabel","hbhereco");
202 
203  tok_hbhe_ = consumes<HBHERecHitCollection>(iConfig.getParameter<edm::InputTag>("hbheInput"));
204  tok_ho_ = consumes<HORecHitCollection>(iConfig.getParameter<edm::InputTag>("hoInput"));
205  //eLabel_=iConfig.getParameter<edm::InputTag>("eInput");
206  tok_track_ =
207  consumes<reco::IsolatedPixelTrackCandidateCollection>(iConfig.getParameter<edm::InputTag>("HcalIsolTrackInput"));
208  tok_track1_ = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("trackInput"));
209 
210  tok_recalibCorrs_ = esConsumes(edm::ESInputTag("", "recalibrate"));
211  tok_geom_ = esConsumes();
212 
213  associationConeSize_ = iConfig.getParameter<double>("associationConeSize");
214  allowMissingInputs_ = iConfig.getUntrackedParameter<bool>("allowMissingInputs", true);
215  // outputFileName_=iConfig.getParameter<std::string>("outputFileName");
216  // calibFactorsFileName_=iConfig.getParameter<std::string>("calibFactorsFileName");
217 
218  AxB_ = iConfig.getParameter<std::string>("AxB");
219  calibrationConeSize_ = iConfig.getParameter<double>("calibrationConeSize");
220 
221  MinNTrackHitsBarrel = iConfig.getParameter<int>("MinNTrackHitsBarrel");
222  MinNTECHitsEndcap = iConfig.getParameter<int>("MinNTECHitsEndcap");
223  energyECALmip = iConfig.getParameter<double>("energyECALmip");
224  energyMinIso = iConfig.getParameter<double>("energyMinIso");
225  energyMaxIso = iConfig.getParameter<double>("energyMaxIso");
226  maxPNear = iConfig.getParameter<double>("maxPNear");
227 
228  edm::ParameterSet parameters = iConfig.getParameter<edm::ParameterSet>("TrackAssociatorParameters");
230  parameters_.loadParameters(parameters, iC);
232 
233  // taECALCone_=iConfig.getUntrackedParameter<double>("TrackAssociatorECALCone",0.5);
234  //taHCALCone_=iConfig.getUntrackedParameter<double>("TrackAssociatorHCALCone",0.6);
235 }
static const std::string kSharedResource
Definition: TFileService.h:76
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
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::ESGetToken< HcalRespCorrs, HcalRespCorrsRcd > tok_recalibCorrs_
edm::InputTag genhbheLabel_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetTokenT< HORecHitCollection > tok_ho_
edm::EDGetTokenT< reco::TrackCollection > tok_track1_

Member Function Documentation

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

Implements edm::one::EDAnalyzerBase.

Definition at line 238 of file ValidIsoTrkCalib.cc.

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

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

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 733 of file ValidIsoTrkCalib.cc.

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

733  {
734 #ifdef EDM_ML_DEBUG
735 // if (!ReadCalibFactors(calibFactorsFileName_.c_str() ))
736 // edm::LogVerbatim("HcalIsoTrack")<<"Cant read file with cailib coefficients!! ---";
737 #endif
738  // rootFile = new TFile(outputFileName_.c_str(),"RECREATE");
739 
740  //@@@@@@@@@@@@@
741  //TFileDirectory ValDir = fs->mkdir("Validation");
742 
743  nTracks = fs->make<TH1F>("nTracks", "general;number of general tracks", 11, -0.5, 10.5);
744 
745  tTree = fs->make<TTree>("tTree", "Tree for gen info");
746 
747  fTree = fs->make<TTree>("fTree", "Tree for IsoTrack Calibration");
748 
749  fTree->Branch("eventNumber", &eventNumber, "eventNumber/I");
750  fTree->Branch("runNumber", &runNumber, "runNumber/I");
751 
752  fTree->Branch("eClustBefore", &eClustBefore, "eClustBefore/F");
753  fTree->Branch("eClustAfter", &eClustAfter, "eClustAfter/F");
754  fTree->Branch("eTrack", &eTrack, "eTrack/F");
755  fTree->Branch("etaTrack", &etaTrack, "etaTrack/F");
756  fTree->Branch("phiTrack", &phiTrack, "phiTrack/F");
757 
758  fTree->Branch("numHits", &numHits, "numHits/I");
759  fTree->Branch("eECAL", &eECAL, "eECAL/F");
760  fTree->Branch("PtNearBy", &PtNearBy, "PtNearBy/F");
761  fTree->Branch("numValidTrkHits", &numValidTrkHits, "numValidTrkHits/F");
762  fTree->Branch("numValidTrkStrips", &numValidTrkStrips, "numValidTrkStrips/F");
763 
764  fTree->Branch("eBeforeDepth1", &eBeforeDepth1, "eBeforeDepth1/F");
765  fTree->Branch("eBeforeDepth2", &eBeforeDepth2, "eBeforeDepth2/F");
766  fTree->Branch("eAfterDepth1", &eAfterDepth1, "eAfterDepth1/F");
767  fTree->Branch("eAfterDepth2", &eAfterDepth2, "eAfterDepth2/F");
768 
769  fTree->Branch("e3x3Before", &e3x3Before, "e3x3Before/F");
770  fTree->Branch("e3x3After", &e3x3After, "e3x3After/F");
771  fTree->Branch("e5x5Before", &e5x5Before, "e5x5Before/F");
772  fTree->Branch("e5x5After", &e5x5After, "e5x5After/F");
773 
774  fTree->Branch("eCentHitAfter", &eCentHitAfter, "eCentHitAfter/F");
775  fTree->Branch("eCentHitBefore", &eCentHitBefore, "eCentHitBefore/F");
776  fTree->Branch("iEta", &iEta, "iEta/I");
777  fTree->Branch("iPhi", &iPhi, "iPhi/I");
778 
779  fTree->Branch("iEtaTr", &iEtaTr, "iEtaTr/I");
780  fTree->Branch("iPhiTr", &iPhiTr, "iPhiTr/I");
781  fTree->Branch("dietatr", &dietatr, "dietatr/I");
782  fTree->Branch("diphitr", &diphitr, "diphitr/I");
783  fTree->Branch("iDr", &iDr, "iDr/F");
784  fTree->Branch("delR", &delR, "delR/F");
785 
786  fTree->Branch("iTime", &iTime, "iTime/F");
787  fTree->Branch("HTime", HTime, "HTime[numHits]/F");
788 
789  fTree->Branch("xTrkEcal", &xTrkEcal, "xTrkEcal/F");
790  fTree->Branch("yTrkEcal", &yTrkEcal, "yTrkEcal/F");
791  fTree->Branch("zTrkEcal", &zTrkEcal, "zTrkEcal/F");
792  fTree->Branch("xTrkHcal", &xTrkHcal, "xTrkHcal/F");
793  fTree->Branch("yTrkHcal", &yTrkHcal, "yTrkHcal/F");
794  fTree->Branch("zTrkHcal", &zTrkHcal, "zTrkHcal/F");
795 
796  if (takeGenTracks_) {
797  tTree->Branch("gen", &gen, "gen/I");
798  tTree->Branch("iso", &iso, "iso/I");
799  tTree->Branch("pix", &pix, "pix/I");
800  tTree->Branch("genPt", genPt, "genPt[gen]/F");
801  tTree->Branch("genPhi", genPhi, "genPhi[gen]/F");
802  tTree->Branch("genEta", genEta, "genEta[gen]/F");
803 
804  tTree->Branch("isoPt", isoPt, "isoPt[iso]/F");
805  tTree->Branch("isoPhi", isoPhi, "isoPhi[iso]/F");
806  tTree->Branch("isoEta", isoEta, "isoEta[iso]/F");
807 
808  tTree->Branch("pixPt", pixPt, "pixPt[pix]/F");
809  tTree->Branch("pixPhi", pixPhi, "pixPhi[pix]/F");
810  tTree->Branch("pixEta", pixEta, "pixEta[pix]/F");
811  }
812 }
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
edm::Service< TFileService > fs

Member Data Documentation

bool ValidIsoTrkCalib::allowMissingInputs_
private

Definition at line 105 of file ValidIsoTrkCalib.cc.

Referenced by ValidIsoTrkCalib().

double ValidIsoTrkCalib::associationConeSize_
private

Definition at line 101 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

string ValidIsoTrkCalib::AxB_
private

Definition at line 102 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

double ValidIsoTrkCalib::calibrationConeSize_
private

Definition at line 103 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

float ValidIsoTrkCalib::CentHitFactor
private

Definition at line 160 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

float ValidIsoTrkCalib::delR
private

Definition at line 165 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

int ValidIsoTrkCalib::dietatr
private

Definition at line 166 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

int ValidIsoTrkCalib::diphitr
private

Definition at line 167 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::e3x3After
private

Definition at line 172 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::e3x3Before
private

Definition at line 171 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::e5x5After
private

Definition at line 174 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::e5x5Before
private

Definition at line 173 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::eAfterDepth1
private

Definition at line 155 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::eAfterDepth2
private

Definition at line 157 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::eBeforeDepth1
private

Definition at line 154 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::eBeforeDepth2
private

Definition at line 156 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::eCentHitAfter
private

Definition at line 159 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::eCentHitBefore
private

Definition at line 158 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::eClustAfter
private

Definition at line 146 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::eClustBefore
private

Definition at line 145 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::eECAL
private

Definition at line 150 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

Float_t ValidIsoTrkCalib::emEnergy
private

Definition at line 129 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

double ValidIsoTrkCalib::energyECALmip
private

Definition at line 126 of file ValidIsoTrkCalib.cc.

Referenced by ValidIsoTrkCalib().

double ValidIsoTrkCalib::energyMaxIso
private

Definition at line 127 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

double ValidIsoTrkCalib::energyMinIso
private

Definition at line 127 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

float ValidIsoTrkCalib::etaTrack
private

Definition at line 148 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::eTrack
private

Definition at line 147 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

int ValidIsoTrkCalib::eventNumber
private

Definition at line 175 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

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

Definition at line 186 of file ValidIsoTrkCalib.cc.

Referenced by beginJob().

TTree * ValidIsoTrkCalib::fTree
private

Definition at line 134 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

int ValidIsoTrkCalib::gen
private

Definition at line 112 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

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

Definition at line 87 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::genEta[500]
private

Definition at line 113 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

edm::InputTag ValidIsoTrkCalib::genhbheLabel_
private

Definition at line 85 of file ValidIsoTrkCalib.cc.

Referenced by ValidIsoTrkCalib().

edm::InputTag ValidIsoTrkCalib::genhoLabel_
private

Definition at line 86 of file ValidIsoTrkCalib.cc.

float ValidIsoTrkCalib::genPhi[500]
private

Definition at line 113 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::genPt[500]
private

Definition at line 113 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

const CaloGeometry* ValidIsoTrkCalib::geo
private

Definition at line 83 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

float ValidIsoTrkCalib::HTime[100]
private

Definition at line 170 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::iDr
private

Definition at line 165 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

int ValidIsoTrkCalib::iEta
private

Definition at line 161 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

int ValidIsoTrkCalib::iEtaTr
private

Definition at line 163 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

int ValidIsoTrkCalib::iPhi
private

Definition at line 162 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

int ValidIsoTrkCalib::iPhiTr
private

Definition at line 164 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

int ValidIsoTrkCalib::iso
private

Definition at line 112 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::isoEta[500]
private

Definition at line 114 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::isoPhi[500]
private

Definition at line 114 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::isoPt[500]
private

Definition at line 114 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::iTime
private

Definition at line 169 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

double ValidIsoTrkCalib::maxPNear
private

Definition at line 126 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

int ValidIsoTrkCalib::MinNTECHitsEndcap
private

Definition at line 125 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

int ValidIsoTrkCalib::MinNTrackHitsBarrel
private

Definition at line 125 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

int ValidIsoTrkCalib::Nhits
private

Definition at line 144 of file ValidIsoTrkCalib.cc.

int ValidIsoTrkCalib::NisoTrk
private

Definition at line 119 of file ValidIsoTrkCalib.cc.

TH1F* ValidIsoTrkCalib::nTracks
private

Definition at line 184 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

int ValidIsoTrkCalib::numHits
private

Definition at line 151 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::numValidTrkHits
private

Definition at line 178 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::numValidTrkStrips
private

Definition at line 178 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::numVH
private

Definition at line 178 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

float ValidIsoTrkCalib::numVS
private

Definition at line 178 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

string ValidIsoTrkCalib::outputFileName_
private

Definition at line 106 of file ValidIsoTrkCalib.cc.

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

Definition at line 149 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

int ValidIsoTrkCalib::pix
private

Definition at line 112 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::pixEta[500]
private

Definition at line 115 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::pixPhi[500]
private

Definition at line 115 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::pixPt[500]
private

Definition at line 115 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::ptNear
private

Definition at line 121 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

float ValidIsoTrkCalib::PtNearBy
private

Definition at line 177 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

float ValidIsoTrkCalib::ptrack
private

Definition at line 122 of file ValidIsoTrkCalib.cc.

const HcalRespCorrs* ValidIsoTrkCalib::respRecalib
private

Definition at line 180 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

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

Definition at line 122 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::taECALCone_
private

Definition at line 80 of file ValidIsoTrkCalib.cc.

double ValidIsoTrkCalib::taHCALCone_
private

Definition at line 81 of file ValidIsoTrkCalib.cc.

bool ValidIsoTrkCalib::takeGenTracks_
private

Definition at line 110 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), beginJob(), and ValidIsoTrkCalib().

Float_t ValidIsoTrkCalib::targetE
private

Definition at line 130 of file ValidIsoTrkCalib.cc.

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

Definition at line 89 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

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

Definition at line 96 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

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

Definition at line 90 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

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

Definition at line 91 of file ValidIsoTrkCalib.cc.

Referenced by ValidIsoTrkCalib().

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

Definition at line 95 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

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

Definition at line 93 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

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

Definition at line 92 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

TrackDetectorAssociator ValidIsoTrkCalib::trackAssociator_
private

Definition at line 78 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and ValidIsoTrkCalib().

float ValidIsoTrkCalib::trackE
private

Definition at line 120 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

float ValidIsoTrkCalib::trackEta
private

Definition at line 120 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

float ValidIsoTrkCalib::trackPhi
private

Definition at line 120 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

float ValidIsoTrkCalib::trackPt
private

Definition at line 120 of file ValidIsoTrkCalib.cc.

Referenced by analyze().

TTree* ValidIsoTrkCalib::tTree
private

Definition at line 134 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

Float_t ValidIsoTrkCalib::xTrkEcal
private

Definition at line 136 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

Float_t ValidIsoTrkCalib::xTrkHcal
private

Definition at line 140 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

Float_t ValidIsoTrkCalib::yTrkEcal
private

Definition at line 137 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

Float_t ValidIsoTrkCalib::yTrkHcal
private

Definition at line 141 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

Float_t ValidIsoTrkCalib::zTrkEcal
private

Definition at line 138 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().

Float_t ValidIsoTrkCalib::zTrkHcal
private

Definition at line 142 of file ValidIsoTrkCalib.cc.

Referenced by analyze(), and beginJob().