CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
IsolatedTracksNxN Class Reference

#include <Calibration/IsolatedParticles/plugins/IsolatedTracksNxN.cc>

Inheritance diagram for IsolatedTracksNxN:
edm::one::EDAnalyzer< edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 IsolatedTracksNxN (const edm::ParameterSet &)
 
 ~IsolatedTracksNxN () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::SharedResources >
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () 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
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void bookHistograms ()
 
void clearTreeVectors ()
 
double deltaPhi (double v1, double v2)
 
double deltaR (double eta1, double phi1, double eta2, double phi2)
 
void endJob () override
 
void printTrack (const reco::Track *pTrack)
 

Private Attributes

const bool debugL1Info_
 
const int debugTrks_
 
const bool doMC_
 
double genPartEtaBins [NEtaBins+1]
 
double genPartPBins [NPBins+1]
 
TH1I * h_L1AlgoNames
 
TH1F * h_maxNearP15x15 [NPBins][NEtaBins]
 
TH1F * h_maxNearP21x21 [NPBins][NEtaBins]
 
TH1F * h_maxNearP25x25 [NPBins][NEtaBins]
 
TH1F * h_maxNearP31x31 [NPBins][NEtaBins]
 
TH1F * h_nTracks
 
TH1F * h_PVTracksWt
 
TH1F * h_recEta_0
 
TH1F * h_recEta_1
 
TH1F * h_recEta_2
 
TH2F * h_recEtaP_0
 
TH2F * h_recEtaP_1
 
TH2F * h_recEtaP_2
 
TH2F * h_recEtaPt_0
 
TH2F * h_recEtaPt_1
 
TH2F * h_recEtaPt_2
 
TH1F * h_recP_0
 
TH1F * h_recP_1
 
TH1F * h_recP_2
 
TH1F * h_recPhi_0
 
TH1F * h_recPhi_1
 
TH1F * h_recPhi_2
 
TH1F * h_recPt_0
 
TH1F * h_recPt_1
 
TH1F * h_recPt_2
 
bool initL1_
 
std::map< std::pair< unsigned int, std::string >, int > l1AlgoMap_
 
const bool L1TriggerAlgoInfo_
 
L1GtUtils m_l1GtUtils
 
std::vector< unsigned int > m_triggerMaskAlgoTrig
 
const double maxTrackEta_
 
const double minTrackP_
 
const int myverbose_
 
int nbad_
 
int nEventProc_
 
const bool printTrkHitPattern_
 
const double pvTracksPtMin_
 
int t_Bunch
 
std::vector< double > * t_e11x11
 
std::vector< double > * t_e11x11_10Sig
 
std::vector< double > * t_e11x11_15Sig
 
std::vector< double > * t_e11x11_20Sig
 
std::vector< double > * t_e11x11_25Sig
 
std::vector< double > * t_e11x11_30Sig
 
std::vector< double > * t_e15x15
 
std::vector< double > * t_e15x15_10Sig
 
std::vector< double > * t_e15x15_15Sig
 
std::vector< double > * t_e15x15_20Sig
 
std::vector< double > * t_e15x15_25Sig
 
std::vector< double > * t_e15x15_30Sig
 
std::vector< double > * t_e7x7
 
std::vector< double > * t_e7x7_10Sig
 
std::vector< double > * t_e7x7_15Sig
 
std::vector< double > * t_e7x7_20Sig
 
std::vector< double > * t_e7x7_25Sig
 
std::vector< double > * t_e7x7_30Sig
 
std::vector< double > * t_e9x9
 
std::vector< double > * t_e9x9_10Sig
 
std::vector< double > * t_e9x9_15Sig
 
std::vector< double > * t_e9x9_20Sig
 
std::vector< double > * t_e9x9_25Sig
 
std::vector< double > * t_e9x9_30Sig
 
std::vector< int > * t_ecalSpike11x11
 
std::vector< double > * t_esim11x11
 
std::vector< double > * t_esim11x11CharHad
 
std::vector< double > * t_esim11x11Matched
 
std::vector< double > * t_esim11x11NeutHad
 
std::vector< double > * t_esim11x11Photon
 
std::vector< double > * t_esim11x11Rest
 
std::vector< double > * t_esim15x15
 
std::vector< double > * t_esim15x15CharHad
 
std::vector< double > * t_esim15x15Matched
 
std::vector< double > * t_esim15x15NeutHad
 
std::vector< double > * t_esim15x15Photon
 
std::vector< double > * t_esim15x15Rest
 
std::vector< double > * t_esim7x7
 
std::vector< double > * t_esim7x7CharHad
 
std::vector< double > * t_esim7x7Matched
 
std::vector< double > * t_esim7x7NeutHad
 
std::vector< double > * t_esim7x7Photon
 
std::vector< double > * t_esim7x7Rest
 
std::vector< double > * t_esim9x9
 
std::vector< double > * t_esim9x9CharHad
 
std::vector< double > * t_esim9x9Matched
 
std::vector< double > * t_esim9x9NeutHad
 
std::vector< double > * t_esim9x9Photon
 
std::vector< double > * t_esim9x9Rest
 
std::vector< double > * t_esimPdgId
 
int t_EvtNo
 
std::vector< double > * t_h3x3
 
std::vector< double > * t_h3x3Sig
 
std::vector< double > * t_h5x5
 
std::vector< double > * t_h5x5Sig
 
std::vector< double > * t_h7x7
 
std::vector< double > * t_h7x7Sig
 
std::vector< double > * t_hsim3x3
 
std::vector< double > * t_hsim3x3CharHad
 
std::vector< double > * t_hsim3x3Matched
 
std::vector< double > * t_hsim3x3NeutHad
 
std::vector< double > * t_hsim3x3Photon
 
std::vector< double > * t_hsim3x3Rest
 
std::vector< double > * t_hsim5x5
 
std::vector< double > * t_hsim5x5CharHad
 
std::vector< double > * t_hsim5x5Matched
 
std::vector< double > * t_hsim5x5NeutHad
 
std::vector< double > * t_hsim5x5Photon
 
std::vector< double > * t_hsim5x5Rest
 
std::vector< double > * t_hsim7x7
 
std::vector< double > * t_hsim7x7CharHad
 
std::vector< double > * t_hsim7x7Matched
 
std::vector< double > * t_hsim7x7NeutHad
 
std::vector< double > * t_hsim7x7Photon
 
std::vector< double > * t_hsim7x7Rest
 
std::vector< int > * t_infoHcal
 
std::vector< double > * t_jetEta
 
std::vector< double > * t_jetPhi
 
std::vector< double > * t_jetPt
 
std::vector< std::string > * t_L1AlgoNames
 
std::vector< double > * t_L1CenJetEta
 
std::vector< double > * t_L1CenJetPhi
 
std::vector< double > * t_L1CenJetPt
 
int t_L1Decision [128]
 
std::vector< double > * t_L1FwdJetEta
 
std::vector< double > * t_L1FwdJetPhi
 
std::vector< double > * t_L1FwdJetPt
 
std::vector< double > * t_L1IsoEMEta
 
std::vector< double > * t_L1IsoEMPhi
 
std::vector< double > * t_L1IsoEMPt
 
std::vector< double > * t_L1METEta
 
std::vector< double > * t_L1METPhi
 
std::vector< double > * t_L1METPt
 
std::vector< double > * t_L1MuonEta
 
std::vector< double > * t_L1MuonPhi
 
std::vector< double > * t_L1MuonPt
 
std::vector< double > * t_L1NonIsoEMEta
 
std::vector< double > * t_L1NonIsoEMPhi
 
std::vector< double > * t_L1NonIsoEMPt
 
std::vector< int > * t_L1PreScale
 
std::vector< double > * t_L1TauJetEta
 
std::vector< double > * t_L1TauJetPhi
 
std::vector< double > * t_L1TauJetPt
 
int t_Lumi
 
std::vector< double > * t_maxNearHcalP3x3
 
std::vector< double > * t_maxNearHcalP5x5
 
std::vector< double > * t_maxNearHcalP7x7
 
std::vector< double > * t_maxNearP21x21
 
std::vector< double > * t_maxNearP31x31
 
std::vector< int > * t_NLayersCrossed
 
int t_nTracks
 
std::vector< double > * t_nTrksJetCalo
 
std::vector< double > * t_nTrksJetVtx
 
std::vector< int > * t_PVisValid
 
std::vector< int > * t_PVndof
 
std::vector< int > * t_PVNTracks
 
std::vector< int > * t_PVNTracksHP
 
std::vector< int > * t_PVNTracksHPWt
 
std::vector< int > * t_PVNTracksWt
 
std::vector< double > * t_PVTracksSumPt
 
std::vector< double > * t_PVTracksSumPtHP
 
std::vector< double > * t_PVTracksSumPtHPWt
 
std::vector< double > * t_PVTracksSumPtWt
 
std::vector< double > * t_PVx
 
std::vector< double > * t_PVy
 
std::vector< double > * t_PVz
 
int t_RunNo
 
std::vector< double > * t_simTrackP
 
std::vector< double > * t_trackChiSq
 
std::vector< double > * t_trackChiSqAll
 
std::vector< double > * t_trackDxy
 
std::vector< double > * t_trackDxyAll
 
std::vector< double > * t_trackDxyBS
 
std::vector< double > * t_trackDxyPV
 
std::vector< double > * t_trackDxyPVAll
 
std::vector< double > * t_trackDz
 
std::vector< double > * t_trackDzAll
 
std::vector< double > * t_trackDzBS
 
std::vector< double > * t_trackDzPV
 
std::vector< double > * t_trackDzPVAll
 
std::vector< double > * t_trackEcalEta
 
std::vector< double > * t_trackEcalPhi
 
std::vector< double > * t_trackEta
 
std::vector< double > * t_trackEtaAll
 
std::vector< double > * t_trackHcalEta
 
std::vector< double > * t_trackHcalPhi
 
std::vector< int > * t_trackHitInMeasTEC
 
std::vector< int > * t_trackHitInMeasTIB
 
std::vector< int > * t_trackHitInMeasTID
 
std::vector< int > * t_trackHitInMeasTOB
 
std::vector< int > * t_trackHitInMissTEC
 
std::vector< int > * t_trackHitInMissTIB
 
std::vector< int > * t_trackHitInMissTIBTID
 
std::vector< int > * t_trackHitInMissTID
 
std::vector< int > * t_trackHitInMissTOB
 
std::vector< int > * t_trackHitOutMeasTEC
 
std::vector< int > * t_trackHitOutMeasTIB
 
std::vector< int > * t_trackHitOutMeasTID
 
std::vector< int > * t_trackHitOutMeasTOB
 
std::vector< int > * t_trackHitOutMissTEC
 
std::vector< int > * t_trackHitOutMissTIB
 
std::vector< int > * t_trackHitOutMissTID
 
std::vector< int > * t_trackHitOutMissTOB
 
std::vector< int > * t_trackHitOutMissTOBTEC
 
std::vector< int > * t_trackHitsTEC
 
std::vector< int > * t_trackHitsTOB
 
std::vector< double > * t_trackL
 
std::vector< int > * t_trackNOuterHits
 
std::vector< double > * t_trackOutPosOutHitDr
 
std::vector< double > * t_trackP
 
std::vector< double > * t_trackPAll
 
std::vector< double > * t_trackPdgIdAll
 
std::vector< double > * t_trackPhi
 
std::vector< double > * t_trackPhiAll
 
std::vector< double > * t_trackPt
 
std::vector< double > * t_trackPtAll
 
std::vector< int > * t_trackPVIdx
 
std::vector< double > * t_trkEcalEne
 
std::vector< double > * t_trkHcalEne
 
const double tMaxE_
 
const double tMaxH_
 
const double tMinE_
 
const double tMinH_
 
edm::EDGetTokenT< reco::BeamSpottok_bs_
 
edm::EDGetTokenT< edm::PCaloHitContainertok_caloEB_
 
edm::EDGetTokenT< edm::PCaloHitContainertok_caloEE_
 
edm::EDGetTokenT< edm::PCaloHitContainertok_caloHH_
 
edm::EDGetTokenT< EcalRecHitCollectiontok_EB_
 
edm::EDGetTokenT< EcalRecHitCollectiontok_EE_
 
edm::EDGetTokenT< reco::TrackCollectiontok_genTrack_
 
edm::EDGetTokenT< HBHERecHitCollectiontok_hbhe_
 
edm::EDGetTokenT< reco::CaloJetCollectiontok_jets_
 
edm::EDGetTokenT< l1extra::L1JetParticleCollectiontok_L1extCenJet_
 
edm::EDGetTokenT< l1extra::L1JetParticleCollectiontok_L1extFwdJet_
 
edm::EDGetTokenT< l1extra::L1EmParticleCollectiontok_L1extIsoEm_
 
edm::EDGetTokenT< l1extra::L1MuonParticleCollectiontok_L1extMu_
 
edm::EDGetTokenT< l1extra::L1EmParticleCollectiontok_L1extNoIsoEm_
 
edm::EDGetTokenT< l1extra::L1JetParticleCollectiontok_L1extTauJet_
 
edm::EDGetTokenT< reco::VertexCollectiontok_recVtx_
 
edm::EDGetTokenT< edm::SimTrackContainertok_simTk_
 
edm::EDGetTokenT< edm::SimVertexContainertok_simVtx_
 
TrackerHitAssociator::Config trackerHitAssociatorConfig_
 
TTree * tree_
 
const bool writeAllTracks_
 

Static Private Attributes

static size_t NEtaBins = 3
 
static size_t nL1BitsMax =128
 
static size_t NPBins = 15
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 139 of file IsolatedTracksNxN.cc.

Constructor & Destructor Documentation

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

Definition at line 305 of file IsolatedTracksNxN.cc.

References debugL1Info_, doMC_, edm::ParameterSet::getParameter(), TFileService::kSharedResource, L1TriggerAlgoInfo_, maxTrackEta_, minTrackP_, myverbose_, tMaxE_, tMaxH_, tMinE_, tMinH_, tok_bs_, tok_caloEB_, tok_caloEE_, tok_caloHH_, tok_EB_, tok_EE_, tok_genTrack_, tok_hbhe_, tok_jets_, tok_L1extCenJet_, tok_L1extFwdJet_, tok_L1extIsoEm_, tok_L1extMu_, tok_L1extNoIsoEm_, tok_L1extTauJet_, tok_recVtx_, tok_simTk_, and tok_simVtx_.

305  :
308  doMC_(iConfig.getUntrackedParameter<bool>("doMC",false)),
309  writeAllTracks_(iConfig.getUntrackedParameter<bool>("writeAllTracks",false)),
310  myverbose_(iConfig.getUntrackedParameter<int>("verbosity",5)),
311  pvTracksPtMin_(iConfig.getUntrackedParameter<double>("pvTracksPtMin",1.0)),
312  debugTrks_(iConfig.getUntrackedParameter<int>("debugTracks",0)),
313  printTrkHitPattern_(iConfig.getUntrackedParameter<bool>("printTrkHitPattern",false)),
314  minTrackP_(iConfig.getUntrackedParameter<double>("minTrackP",1.0)),
315  maxTrackEta_(iConfig.getUntrackedParameter<double>("maxTrackEta",5.0)),
316  debugL1Info_(iConfig.getUntrackedParameter<bool>("debugL1Info",false)),
317  L1TriggerAlgoInfo_(iConfig.getUntrackedParameter<bool>("l1TriggerAlgoInfo",false)),
318  tMinE_(iConfig.getUntrackedParameter<double>("timeMinCutECAL",-500.)),
319  tMaxE_(iConfig.getUntrackedParameter<double>("timeMaxCutECAL",500.)),
320  tMinH_(iConfig.getUntrackedParameter<double>("timeMinCutHCAL",-500.)),
321  tMaxH_(iConfig.getUntrackedParameter<double>("timeMaxCutHCAL",500.)),
322  t_L1AlgoNames(nullptr), t_L1PreScale(nullptr), t_L1CenJetPt(nullptr),
323  t_L1CenJetEta(nullptr), t_L1CenJetPhi(nullptr), t_L1FwdJetPt(nullptr),
324  t_L1FwdJetEta(nullptr), t_L1FwdJetPhi(nullptr), t_L1TauJetPt(nullptr),
325  t_L1TauJetEta(nullptr), t_L1TauJetPhi(nullptr), t_L1MuonPt(nullptr),
326  t_L1MuonEta(nullptr), t_L1MuonPhi(nullptr), t_L1IsoEMPt(nullptr),
327  t_L1IsoEMEta(nullptr), t_L1IsoEMPhi(nullptr), t_L1NonIsoEMPt(nullptr),
328  t_L1NonIsoEMEta(nullptr), t_L1NonIsoEMPhi(nullptr), t_L1METPt(nullptr),
329  t_L1METEta(nullptr), t_L1METPhi(nullptr),t_PVx(nullptr), t_PVy(nullptr),
330  t_PVz(nullptr), t_PVTracksSumPt(nullptr), t_PVTracksSumPtWt(nullptr),
331  t_PVTracksSumPtHP(nullptr),t_PVTracksSumPtHPWt(nullptr),
332  t_PVisValid(nullptr), t_PVNTracks(nullptr), t_PVNTracksWt(nullptr),
333  t_PVndof(nullptr), t_PVNTracksHP(nullptr), t_PVNTracksHPWt(nullptr),
334  t_jetPt(nullptr), t_jetEta(nullptr), t_jetPhi(nullptr),
335  t_nTrksJetCalo(nullptr), t_nTrksJetVtx(nullptr), t_trackPAll(nullptr),
336  t_trackEtaAll(nullptr), t_trackPhiAll(nullptr), t_trackPdgIdAll(nullptr),
337  t_trackPtAll(nullptr), t_trackDxyAll(nullptr), t_trackDzAll(nullptr),
338  t_trackDxyPVAll(nullptr), t_trackDzPVAll(nullptr), t_trackChiSqAll(nullptr),
339  t_trackP(nullptr), t_trackPt(nullptr), t_trackEta(nullptr),
340  t_trackPhi(nullptr), t_trackEcalEta(nullptr), t_trackEcalPhi(nullptr),
341  t_trackHcalEta(nullptr), t_trackHcalPhi(nullptr), t_trackDxy(nullptr),
342  t_trackDxyBS(nullptr), t_trackDz(nullptr), t_trackDzBS(nullptr),
343  t_trackDxyPV(nullptr), t_trackDzPV(nullptr), t_trackChiSq(nullptr),
344  t_trackPVIdx(nullptr), t_NLayersCrossed(nullptr), t_trackNOuterHits(nullptr),
345  t_trackHitsTOB(nullptr), t_trackHitsTEC(nullptr),t_trackHitInMissTOB(nullptr),
346  t_trackHitInMissTEC(nullptr), t_trackHitInMissTIB(nullptr),
347  t_trackHitInMissTID(nullptr), t_trackHitInMissTIBTID(nullptr),
348  t_trackHitOutMissTOB(nullptr), t_trackHitOutMissTEC(nullptr),
349  t_trackHitOutMissTIB(nullptr), t_trackHitOutMissTID(nullptr),
350  t_trackHitOutMissTOBTEC(nullptr), t_trackHitInMeasTOB(nullptr),
351  t_trackHitInMeasTEC(nullptr), t_trackHitInMeasTIB(nullptr),
352  t_trackHitInMeasTID(nullptr), t_trackHitOutMeasTOB(nullptr),
353  t_trackHitOutMeasTEC(nullptr), t_trackHitOutMeasTIB(nullptr),
354  t_trackHitOutMeasTID(nullptr), t_trackOutPosOutHitDr(nullptr),
355  t_trackL(nullptr), t_maxNearP31x31(nullptr), t_maxNearP21x21(nullptr),
356  t_ecalSpike11x11(nullptr), t_e7x7(nullptr), t_e9x9(nullptr),
357  t_e11x11(nullptr), t_e15x15(nullptr), t_e7x7_10Sig(nullptr),
358  t_e9x9_10Sig(nullptr), t_e11x11_10Sig(nullptr), t_e15x15_10Sig(nullptr),
359  t_e7x7_15Sig(nullptr), t_e9x9_15Sig(nullptr), t_e11x11_15Sig(nullptr),
360  t_e15x15_15Sig(nullptr), t_e7x7_20Sig(nullptr), t_e9x9_20Sig(nullptr),
361  t_e11x11_20Sig(nullptr), t_e15x15_20Sig(nullptr), t_e7x7_25Sig(nullptr),
362  t_e9x9_25Sig(nullptr), t_e11x11_25Sig(nullptr), t_e15x15_25Sig(nullptr),
363  t_e7x7_30Sig(nullptr), t_e9x9_30Sig(nullptr), t_e11x11_30Sig(nullptr),
364  t_e15x15_30Sig(nullptr), t_esimPdgId(nullptr), t_simTrackP(nullptr),
365  t_trkEcalEne(nullptr), t_esim7x7(nullptr), t_esim9x9(nullptr),
366  t_esim11x11(nullptr), t_esim15x15(nullptr), t_esim7x7Matched(nullptr),
367  t_esim9x9Matched(nullptr), t_esim11x11Matched(nullptr),
368  t_esim15x15Matched(nullptr), t_esim7x7Rest(nullptr), t_esim9x9Rest(nullptr),
369  t_esim11x11Rest(nullptr), t_esim15x15Rest(nullptr), t_esim7x7Photon(nullptr),
370  t_esim9x9Photon(nullptr), t_esim11x11Photon (nullptr),
371  t_esim15x15Photon(nullptr), t_esim7x7NeutHad(nullptr),
372  t_esim9x9NeutHad(nullptr), t_esim11x11NeutHad(nullptr),
373  t_esim15x15NeutHad(nullptr), t_esim7x7CharHad(nullptr),
374  t_esim9x9CharHad(nullptr), t_esim11x11CharHad(nullptr),
375  t_esim15x15CharHad(nullptr), t_maxNearHcalP3x3 (nullptr),
376  t_maxNearHcalP5x5(nullptr), t_maxNearHcalP7x7(nullptr),
377  t_h3x3(nullptr), t_h5x5(nullptr), t_h7x7(nullptr), t_h3x3Sig(nullptr),
378  t_h5x5Sig(nullptr), t_h7x7Sig(nullptr), t_infoHcal(nullptr),
379  t_trkHcalEne(nullptr), t_hsim3x3(nullptr), t_hsim5x5(nullptr),
380  t_hsim7x7(nullptr), t_hsim3x3Matched(nullptr), t_hsim5x5Matched(nullptr),
381  t_hsim7x7Matched(nullptr), t_hsim3x3Rest(nullptr), t_hsim5x5Rest(nullptr),
382  t_hsim7x7Rest(nullptr), t_hsim3x3Photon(nullptr), t_hsim5x5Photon(nullptr),
383  t_hsim7x7Photon(nullptr), t_hsim3x3NeutHad(nullptr),t_hsim5x5NeutHad(nullptr),
384  t_hsim7x7NeutHad(nullptr), t_hsim3x3CharHad(nullptr),
385  t_hsim5x5CharHad(nullptr), t_hsim7x7CharHad(nullptr) {
386 
387  usesResource(TFileService::kSharedResource);
388 
389  //now do what ever initialization is needed
390 
391  edm::InputTag L1extraTauJetSource_ = iConfig.getParameter<edm::InputTag>("l1extraTauJetSource" );
392  edm::InputTag L1extraCenJetSource_ = iConfig.getParameter<edm::InputTag>("l1extraCenJetSource" );
393  edm::InputTag L1extraFwdJetSource_ = iConfig.getParameter<edm::InputTag>("l1extraFwdJetSource" );
394  edm::InputTag L1extraMuonSource_ = iConfig.getParameter<edm::InputTag>("l1extraMuonSource" );
395  edm::InputTag L1extraIsoEmSource_ = iConfig.getParameter<edm::InputTag>("l1extraIsoEmSource" );
396  edm::InputTag L1extraNonIsoEmSource_ = iConfig.getParameter<edm::InputTag>("l1extraNonIsoEmSource" );
397  edm::InputTag L1GTReadoutRcdSource_ = iConfig.getParameter<edm::InputTag>("l1GTReadoutRcdSource" );
398  edm::InputTag L1GTObjectMapRcdSource_= iConfig.getParameter<edm::InputTag>("l1GTObjectMapRcdSource");
399  edm::InputTag JetSrc_ = iConfig.getParameter<edm::InputTag>("jetSource");
400  edm::InputTag JetExtender_ = iConfig.getParameter<edm::InputTag>("jetExtender");
401  edm::InputTag HBHERecHitSource_ = iConfig.getParameter<edm::InputTag>("hbheRecHitSource");
402 
403  // define tokens for access
404  tok_L1extTauJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraTauJetSource_);
405  tok_L1extCenJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraCenJetSource_);
406  tok_L1extFwdJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraFwdJetSource_);
407  tok_L1extMu_ = consumes<l1extra::L1MuonParticleCollection>(L1extraMuonSource_);
408  tok_L1extIsoEm_ = consumes<l1extra::L1EmParticleCollection>(L1extraIsoEmSource_);
409  tok_L1extNoIsoEm_ = consumes<l1extra::L1EmParticleCollection>(L1extraNonIsoEmSource_);
410  tok_jets_ = consumes<reco::CaloJetCollection>(JetSrc_);
411  tok_hbhe_ = consumes<HBHERecHitCollection>(HBHERecHitSource_);
412 
413  tok_genTrack_ = consumes<reco::TrackCollection>(edm::InputTag("generalTracks"));
414  tok_recVtx_ = consumes<reco::VertexCollection>(edm::InputTag("offlinePrimaryVertices"));
415  tok_bs_ = consumes<reco::BeamSpot>(edm::InputTag("offlineBeamSpot"));
416  tok_EB_ = consumes<EcalRecHitCollection>(edm::InputTag("ecalRecHit","EcalRecHitsEB"));
417  tok_EE_ = consumes<EcalRecHitCollection>(edm::InputTag("ecalRecHit","EcalRecHitsEE"));
418 
419  tok_simTk_ = consumes<edm::SimTrackContainer>(edm::InputTag("g4SimHits"));
420  tok_simVtx_ = consumes<edm::SimVertexContainer>(edm::InputTag("g4SimHits"));
421  tok_caloEB_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", "EcalHitsEB"));
422  tok_caloEE_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", "EcalHitsEE"));
423  tok_caloHH_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", "HcalHits"));
424 
425  if (myverbose_>=0) {
426  edm::LogVerbatim("IsoTrack") <<"Parameters read from config file \n"
427  <<" doMC " << doMC_
428  <<"\t myverbose " << myverbose_
429  <<"\t minTrackP " << minTrackP_
430  << "\t maxTrackEta " << maxTrackEta_
431  << "\t tMinE " << tMinE_
432  << "\t tMaxE " << tMaxE_
433  << "\t tMinH " << tMinH_
434  << "\t tMaxH " << tMaxH_
435  << "\n debugL1Info " << debugL1Info_
436  << "\t L1TriggerAlgoInfo " << L1TriggerAlgoInfo_
437  << "\n";
438  }
439 }
std::vector< double > * t_hsim7x7CharHad
static const std::string kSharedResource
Definition: TFileService.h:76
std::vector< double > * t_hsim3x3Matched
std::vector< double > * t_esim7x7CharHad
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extCenJet_
std::vector< double > * t_e15x15
std::vector< double > * t_nTrksJetCalo
const bool L1TriggerAlgoInfo_
T getParameter(std::string const &) const
std::vector< double > * t_maxNearHcalP7x7
T getUntrackedParameter(std::string const &, T const &) const
std::vector< double > * t_trackPt
std::vector< double > * t_trackPAll
const bool printTrkHitPattern_
std::vector< double > * t_e7x7
std::vector< double > * t_trackHcalPhi
std::vector< double > * t_trackDxyPVAll
std::vector< int > * t_trackHitOutMeasTEC
std::vector< double > * t_trackPdgIdAll
std::vector< double > * t_trackOutPosOutHitDr
std::vector< double > * t_maxNearHcalP5x5
std::vector< double > * t_L1NonIsoEMPt
std::vector< int > * t_trackHitOutMeasTIB
std::vector< double > * t_esim7x7
std::vector< int > * t_trackHitInMissTOB
std::vector< double > * t_trackDz
std::vector< double > * t_trackEcalEta
std::vector< double > * t_trackEtaAll
std::vector< double > * t_esim11x11Matched
std::vector< double > * t_L1IsoEMEta
std::vector< double > * t_PVTracksSumPt
std::vector< double > * t_e9x9_10Sig
std::vector< double > * t_hsim3x3CharHad
std::vector< int > * t_PVndof
std::vector< double > * t_hsim7x7Rest
std::vector< double > * t_L1TauJetPhi
std::vector< double > * t_PVTracksSumPtWt
std::vector< int > * t_infoHcal
std::vector< double > * t_e11x11_15Sig
std::vector< double > * t_L1TauJetPt
std::vector< int > * t_PVNTracksWt
std::vector< double > * t_trackEcalPhi
std::vector< double > * t_esim11x11NeutHad
std::vector< double > * t_L1TauJetEta
std::vector< double > * t_e15x15_15Sig
std::vector< double > * t_L1MuonEta
std::vector< double > * t_L1MuonPt
std::vector< double > * t_h3x3
std::vector< double > * t_L1MuonPhi
std::vector< double > * t_trackDxyAll
std::vector< double > * t_maxNearHcalP3x3
edm::EDGetTokenT< edm::SimVertexContainer > tok_simVtx_
std::vector< double > * t_hsim3x3Photon
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
std::vector< double > * t_PVTracksSumPtHP
std::vector< double > * t_esim11x11Rest
const double maxTrackEta_
std::vector< int > * t_trackNOuterHits
std::vector< double > * t_h7x7Sig
std::vector< double > * t_e15x15_30Sig
std::vector< double > * t_trackPhiAll
std::vector< double > * t_e7x7_25Sig
std::vector< double > * t_trkHcalEne
std::vector< double > * t_e7x7_20Sig
std::vector< double > * t_e11x11_10Sig
std::vector< double > * t_trackPtAll
std::vector< double > * t_h3x3Sig
std::vector< double > * t_esimPdgId
std::vector< double > * t_e11x11_20Sig
std::vector< double > * t_jetEta
std::vector< double > * t_maxNearP31x31
std::vector< int > * t_trackHitInMissTEC
std::vector< double > * t_trkEcalEne
std::vector< double > * t_trackEta
std::vector< double > * t_esim9x9Photon
std::vector< int > * t_trackHitInMeasTID
std::vector< double > * t_hsim5x5Rest
std::vector< double > * t_e11x11
std::vector< double > * t_esim15x15
edm::EDGetTokenT< edm::SimTrackContainer > tok_simTk_
std::vector< double > * t_L1CenJetPt
std::vector< double > * t_trackChiSqAll
std::vector< double > * t_e15x15_25Sig
std::vector< int > * t_trackHitOutMissTIB
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloHH_
std::vector< double > * t_esim15x15Rest
std::vector< double > * t_esim11x11
std::vector< double > * t_hsim7x7
std::vector< int > * t_PVNTracksHPWt
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
std::vector< int > * t_trackHitOutMissTID
std::vector< int > * t_trackHitOutMissTOBTEC
std::vector< int > * t_trackHitsTEC
std::vector< double > * t_e9x9_30Sig
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloEB_
std::vector< double > * t_L1CenJetPhi
std::vector< double > * t_L1FwdJetEta
std::vector< double > * t_h7x7
std::vector< int > * t_ecalSpike11x11
std::vector< double > * t_esim15x15NeutHad
std::vector< double > * t_e9x9_20Sig
std::vector< int > * t_trackHitOutMeasTOB
std::vector< int > * t_trackHitInMeasTIB
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
std::vector< double > * t_trackDzPV
std::vector< int > * t_PVNTracksHP
std::vector< double > * t_L1FwdJetPhi
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extFwdJet_
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1extIsoEm_
std::vector< double > * t_nTrksJetVtx
std::vector< double > * t_esim7x7NeutHad
std::vector< double > * t_hsim3x3NeutHad
std::vector< double > * t_L1NonIsoEMPhi
std::vector< double > * t_trackDzBS
std::vector< int > * t_trackHitOutMissTOB
std::vector< double > * t_L1CenJetEta
std::vector< double > * t_trackDzPVAll
edm::EDGetTokenT< l1extra::L1MuonParticleCollection > tok_L1extMu_
std::vector< double > * t_esim7x7Matched
std::vector< double > * t_esim9x9
std::vector< double > * t_hsim5x5
std::vector< double > * t_h5x5
std::vector< double > * t_trackDxyPV
std::vector< double > * t_hsim5x5NeutHad
std::vector< double > * t_trackChiSq
std::vector< double > * t_hsim5x5Photon
std::vector< double > * t_PVy
std::vector< int > * t_L1PreScale
std::vector< double > * t_hsim3x3Rest
std::vector< int > * t_PVisValid
std::vector< double > * t_esim9x9Rest
std::vector< double > * t_L1METPhi
std::vector< int > * t_trackHitInMissTIB
std::vector< double > * t_e9x9_15Sig
std::vector< double > * t_e7x7_15Sig
std::vector< double > * t_trackPhi
std::vector< double > * t_e7x7_10Sig
const double pvTracksPtMin_
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1extNoIsoEm_
std::vector< double > * t_trackDzAll
edm::EDGetTokenT< reco::VertexCollection > tok_recVtx_
std::vector< double > * t_esim11x11CharHad
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloEE_
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
std::vector< double > * t_e9x9_25Sig
std::vector< double > * t_esim7x7Photon
static const bool useL1GtTriggerMenuLite(true)
std::vector< double > * t_esim9x9NeutHad
std::vector< double > * t_L1FwdJetPt
std::vector< double > * t_simTrackP
std::vector< double > * t_hsim7x7Matched
std::vector< int > * t_trackPVIdx
std::vector< int > * t_trackHitsTOB
std::vector< double > * t_esim9x9Matched
std::vector< double > * t_hsim7x7NeutHad
std::vector< double > * t_L1IsoEMPhi
std::vector< int > * t_PVNTracks
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
std::vector< double > * t_maxNearP21x21
TrackerHitAssociator::Config trackerHitAssociatorConfig_
std::vector< double > * t_L1NonIsoEMEta
std::vector< double > * t_PVz
std::vector< double > * t_e15x15_20Sig
std::vector< double > * t_PVTracksSumPtHPWt
std::vector< double > * t_trackDxy
std::vector< std::string > * t_L1AlgoNames
std::vector< double > * t_hsim5x5CharHad
std::vector< double > * t_e15x15_10Sig
std::vector< double > * t_jetPhi
std::vector< double > * t_trackL
std::vector< double > * t_esim7x7Rest
std::vector< double > * t_trackDxyBS
std::vector< double > * t_trackHcalEta
std::vector< double > * t_L1METPt
std::vector< int > * t_NLayersCrossed
edm::EDGetTokenT< reco::CaloJetCollection > tok_jets_
std::vector< int > * t_trackHitInMeasTOB
std::vector< double > * t_PVx
std::vector< int > * t_trackHitInMeasTEC
std::vector< double > * t_esim15x15Photon
std::vector< double > * t_e9x9
std::vector< double > * t_hsim5x5Matched
std::vector< double > * t_esim15x15Matched
std::vector< int > * t_trackHitOutMeasTID
std::vector< double > * t_L1METEta
std::vector< double > * t_e7x7_30Sig
std::vector< int > * t_trackHitOutMissTEC
std::vector< double > * t_e11x11_25Sig
std::vector< double > * t_hsim3x3
std::vector< double > * t_trackP
std::vector< double > * t_hsim7x7Photon
std::vector< double > * t_jetPt
std::vector< double > * t_L1IsoEMPt
std::vector< double > * t_esim11x11Photon
std::vector< double > * t_h5x5Sig
std::vector< int > * t_trackHitInMissTID
std::vector< double > * t_e11x11_30Sig
std::vector< int > * t_trackHitInMissTIBTID
std::vector< double > * t_esim9x9CharHad
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extTauJet_
std::vector< double > * t_esim15x15CharHad
IsolatedTracksNxN::~IsolatedTracksNxN ( )
override

Definition at line 441 of file IsolatedTracksNxN.cc.

References t_e11x11, t_e11x11_10Sig, t_e11x11_15Sig, t_e11x11_20Sig, t_e11x11_25Sig, t_e11x11_30Sig, t_e15x15, t_e15x15_10Sig, t_e15x15_15Sig, t_e15x15_20Sig, t_e15x15_25Sig, t_e15x15_30Sig, t_e7x7, t_e7x7_10Sig, t_e7x7_15Sig, t_e7x7_20Sig, t_e7x7_25Sig, t_e7x7_30Sig, t_e9x9, t_e9x9_10Sig, t_e9x9_15Sig, t_e9x9_20Sig, t_e9x9_25Sig, t_e9x9_30Sig, t_ecalSpike11x11, t_esim11x11, t_esim11x11CharHad, t_esim11x11Matched, t_esim11x11NeutHad, t_esim11x11Photon, t_esim11x11Rest, t_esim15x15, t_esim15x15CharHad, t_esim15x15Matched, t_esim15x15NeutHad, t_esim15x15Photon, t_esim15x15Rest, t_esim7x7, t_esim7x7CharHad, t_esim7x7Matched, t_esim7x7NeutHad, t_esim7x7Photon, t_esim7x7Rest, t_esim9x9, t_esim9x9CharHad, t_esim9x9Matched, t_esim9x9NeutHad, t_esim9x9Photon, t_esim9x9Rest, t_esimPdgId, t_h3x3, t_h3x3Sig, t_h5x5, t_h5x5Sig, t_h7x7, t_h7x7Sig, t_hsim3x3, t_hsim3x3CharHad, t_hsim3x3Matched, t_hsim3x3NeutHad, t_hsim3x3Photon, t_hsim3x3Rest, t_hsim5x5, t_hsim5x5CharHad, t_hsim5x5Matched, t_hsim5x5NeutHad, t_hsim5x5Photon, t_hsim5x5Rest, t_hsim7x7, t_hsim7x7CharHad, t_hsim7x7Matched, t_hsim7x7NeutHad, t_hsim7x7Photon, t_hsim7x7Rest, t_infoHcal, t_jetEta, t_jetPhi, t_jetPt, t_L1AlgoNames, t_L1CenJetEta, t_L1CenJetPhi, t_L1CenJetPt, t_L1FwdJetEta, t_L1FwdJetPhi, t_L1FwdJetPt, t_L1IsoEMEta, t_L1IsoEMPhi, t_L1IsoEMPt, t_L1METEta, t_L1METPhi, t_L1METPt, t_L1MuonEta, t_L1MuonPhi, t_L1MuonPt, t_L1NonIsoEMEta, t_L1NonIsoEMPhi, t_L1NonIsoEMPt, t_L1PreScale, t_L1TauJetEta, t_L1TauJetPhi, t_L1TauJetPt, t_maxNearHcalP3x3, t_maxNearHcalP5x5, t_maxNearHcalP7x7, t_maxNearP21x21, t_maxNearP31x31, t_NLayersCrossed, t_nTrksJetCalo, t_nTrksJetVtx, t_PVisValid, t_PVndof, t_PVNTracks, t_PVNTracksHP, t_PVNTracksHPWt, t_PVNTracksWt, t_PVTracksSumPt, t_PVTracksSumPtHP, t_PVTracksSumPtHPWt, t_PVTracksSumPtWt, t_PVx, t_PVy, t_PVz, t_simTrackP, t_trackChiSq, t_trackChiSqAll, t_trackDxy, t_trackDxyAll, t_trackDxyBS, t_trackDxyPV, t_trackDxyPVAll, t_trackDz, t_trackDzAll, t_trackDzBS, t_trackDzPV, t_trackDzPVAll, t_trackEcalEta, t_trackEcalPhi, t_trackEta, t_trackEtaAll, t_trackHcalEta, t_trackHcalPhi, t_trackHitInMeasTEC, t_trackHitInMeasTIB, t_trackHitInMeasTID, t_trackHitInMeasTOB, t_trackHitInMissTEC, t_trackHitInMissTIB, t_trackHitInMissTIBTID, t_trackHitInMissTID, t_trackHitInMissTOB, t_trackHitOutMeasTEC, t_trackHitOutMeasTIB, t_trackHitOutMeasTID, t_trackHitOutMeasTOB, t_trackHitOutMissTEC, t_trackHitOutMissTIB, t_trackHitOutMissTID, t_trackHitOutMissTOB, t_trackHitOutMissTOBTEC, t_trackHitsTEC, t_trackHitsTOB, t_trackL, t_trackNOuterHits, t_trackOutPosOutHitDr, t_trackP, t_trackPAll, t_trackPdgIdAll, t_trackPhi, t_trackPhiAll, t_trackPt, t_trackPtAll, t_trackPVIdx, t_trkEcalEne, and t_trkHcalEne.

441  {
442  delete t_PVx;
443  delete t_PVy;
444  delete t_PVz;
445  delete t_PVisValid;
446  delete t_PVndof;
447  delete t_PVNTracks;
448  delete t_PVNTracksWt;
449  delete t_PVTracksSumPt;
450  delete t_PVTracksSumPtWt;
451  delete t_PVNTracksHP;
452  delete t_PVNTracksHPWt;
453  delete t_PVTracksSumPtHP;
454  delete t_PVTracksSumPtHPWt;
455  delete t_L1AlgoNames;
456  delete t_L1PreScale;
457  delete t_L1CenJetPt;
458  delete t_L1CenJetEta;
459  delete t_L1CenJetPhi;
460  delete t_L1FwdJetPt;
461  delete t_L1FwdJetEta;
462  delete t_L1FwdJetPhi;
463  delete t_L1TauJetPt;
464  delete t_L1TauJetEta;
465  delete t_L1TauJetPhi;
466  delete t_L1MuonPt;
467  delete t_L1MuonEta;
468  delete t_L1MuonPhi;
469  delete t_L1IsoEMPt;
470  delete t_L1IsoEMEta;
471  delete t_L1IsoEMPhi;
472  delete t_L1NonIsoEMPt;
473  delete t_L1NonIsoEMEta;
474  delete t_L1NonIsoEMPhi;
475  delete t_L1METPt;
476  delete t_L1METEta;
477  delete t_L1METPhi;
478  delete t_jetPt;
479  delete t_jetEta;
480  delete t_jetPhi;
481  delete t_nTrksJetCalo;
482  delete t_nTrksJetVtx;
483  delete t_trackPAll;
484  delete t_trackEtaAll;
485  delete t_trackPhiAll;
486  delete t_trackPdgIdAll;
487  delete t_trackPtAll;
488  delete t_trackDxyAll;
489  delete t_trackDzAll;
490  delete t_trackDxyPVAll;
491  delete t_trackDzPVAll;
492  delete t_trackChiSqAll;
493  delete t_trackP;
494  delete t_trackPt;
495  delete t_trackEta;
496  delete t_trackPhi;
497  delete t_trackEcalEta;
498  delete t_trackEcalPhi;
499  delete t_trackHcalEta;
500  delete t_trackHcalPhi;
501  delete t_trackNOuterHits;
502  delete t_NLayersCrossed;
503  delete t_trackDxy;
504  delete t_trackDxyBS;
505  delete t_trackDz;
506  delete t_trackDzBS;
507  delete t_trackDxyPV;
508  delete t_trackDzPV;
509  delete t_trackPVIdx;
510  delete t_trackChiSq;
511  delete t_trackHitsTOB;
512  delete t_trackHitsTEC;
513  delete t_trackHitInMissTOB;
514  delete t_trackHitInMissTEC;
515  delete t_trackHitInMissTIB;
516  delete t_trackHitInMissTID;
517  delete t_trackHitOutMissTOB;
518  delete t_trackHitOutMissTEC;
519  delete t_trackHitOutMissTIB;
520  delete t_trackHitOutMissTID;
521  delete t_trackHitInMissTIBTID;
522  delete t_trackHitOutMissTEC;
523  delete t_trackHitOutMissTIB;
524  delete t_trackHitOutMissTID;
526  delete t_trackHitInMeasTOB;
527  delete t_trackHitInMeasTEC;
528  delete t_trackHitInMeasTIB;
529  delete t_trackHitInMeasTID;
530  delete t_trackHitOutMeasTOB;
531  delete t_trackHitOutMeasTEC;
532  delete t_trackHitOutMeasTIB;
533  delete t_trackHitOutMeasTID;
534  delete t_trackOutPosOutHitDr;
535  delete t_trackL;
536  delete t_maxNearP31x31;
537  delete t_maxNearP21x21;
538  delete t_ecalSpike11x11;
539  delete t_e7x7;
540  delete t_e9x9;
541  delete t_e11x11;
542  delete t_e15x15;
543  delete t_e7x7_10Sig;
544  delete t_e9x9_10Sig;
545  delete t_e11x11_10Sig;
546  delete t_e15x15_10Sig;
547  delete t_e7x7_15Sig;
548  delete t_e9x9_15Sig;
549  delete t_e11x11_15Sig;
550  delete t_e15x15_15Sig;
551  delete t_e7x7_20Sig;
552  delete t_e9x9_20Sig;
553  delete t_e11x11_20Sig;
554  delete t_e15x15_20Sig;
555  delete t_e7x7_25Sig;
556  delete t_e9x9_25Sig;
557  delete t_e11x11_25Sig;
558  delete t_e15x15_25Sig;
559  delete t_e7x7_30Sig;
560  delete t_e9x9_30Sig;
561  delete t_e11x11_30Sig;
562  delete t_e15x15_30Sig;
563  delete t_esim7x7;
564  delete t_esim9x9;
565  delete t_esim11x11;
566  delete t_esim15x15;
567  delete t_esim7x7Matched;
568  delete t_esim9x9Matched;
569  delete t_esim11x11Matched;
570  delete t_esim15x15Matched;
571  delete t_esim7x7Rest;
572  delete t_esim9x9Rest;
573  delete t_esim11x11Rest;
574  delete t_esim15x15Rest;
575  delete t_esim7x7Photon;
576  delete t_esim9x9Photon;
577  delete t_esim11x11Photon;
578  delete t_esim15x15Photon;
579  delete t_esim7x7NeutHad;
580  delete t_esim9x9NeutHad;
581  delete t_esim11x11NeutHad;
582  delete t_esim15x15NeutHad;
583  delete t_esim7x7CharHad;
584  delete t_esim9x9CharHad;
585  delete t_esim11x11CharHad;
586  delete t_esim15x15CharHad;
587  delete t_trkEcalEne;
588  delete t_simTrackP;
589  delete t_esimPdgId;
590  delete t_maxNearHcalP3x3;
591  delete t_maxNearHcalP5x5;
592  delete t_maxNearHcalP7x7;
593  delete t_h3x3;
594  delete t_h5x5;
595  delete t_h7x7;
596  delete t_h3x3Sig;
597  delete t_h5x5Sig;
598  delete t_h7x7Sig;
599  delete t_infoHcal;
600  delete t_trkHcalEne;
601  delete t_hsim3x3;
602  delete t_hsim5x5;
603  delete t_hsim7x7;
604  delete t_hsim3x3Matched;
605  delete t_hsim5x5Matched;
606  delete t_hsim7x7Matched;
607  delete t_hsim3x3Rest;
608  delete t_hsim5x5Rest;
609  delete t_hsim7x7Rest;
610  delete t_hsim3x3Photon;
611  delete t_hsim5x5Photon;
612  delete t_hsim7x7Photon;
613  delete t_hsim3x3NeutHad;
614  delete t_hsim5x5NeutHad;
615  delete t_hsim7x7NeutHad;
616  delete t_hsim3x3CharHad;
617  delete t_hsim5x5CharHad;
618  delete t_hsim7x7CharHad;
619 }
std::vector< double > * t_hsim7x7CharHad
std::vector< double > * t_hsim3x3Matched
std::vector< double > * t_esim7x7CharHad
std::vector< double > * t_e15x15
std::vector< double > * t_nTrksJetCalo
std::vector< double > * t_maxNearHcalP7x7
std::vector< double > * t_trackPt
std::vector< double > * t_trackPAll
std::vector< double > * t_e7x7
std::vector< double > * t_trackHcalPhi
std::vector< double > * t_trackDxyPVAll
std::vector< int > * t_trackHitOutMeasTEC
std::vector< double > * t_trackPdgIdAll
std::vector< double > * t_trackOutPosOutHitDr
std::vector< double > * t_maxNearHcalP5x5
std::vector< double > * t_L1NonIsoEMPt
std::vector< int > * t_trackHitOutMeasTIB
std::vector< double > * t_esim7x7
std::vector< int > * t_trackHitInMissTOB
std::vector< double > * t_trackDz
std::vector< double > * t_trackEcalEta
std::vector< double > * t_trackEtaAll
std::vector< double > * t_esim11x11Matched
std::vector< double > * t_L1IsoEMEta
std::vector< double > * t_PVTracksSumPt
std::vector< double > * t_e9x9_10Sig
std::vector< double > * t_hsim3x3CharHad
std::vector< int > * t_PVndof
std::vector< double > * t_hsim7x7Rest
std::vector< double > * t_L1TauJetPhi
std::vector< double > * t_PVTracksSumPtWt
std::vector< int > * t_infoHcal
std::vector< double > * t_e11x11_15Sig
std::vector< double > * t_L1TauJetPt
std::vector< int > * t_PVNTracksWt
std::vector< double > * t_trackEcalPhi
std::vector< double > * t_esim11x11NeutHad
std::vector< double > * t_L1TauJetEta
std::vector< double > * t_e15x15_15Sig
std::vector< double > * t_L1MuonEta
std::vector< double > * t_L1MuonPt
std::vector< double > * t_h3x3
std::vector< double > * t_L1MuonPhi
std::vector< double > * t_trackDxyAll
std::vector< double > * t_maxNearHcalP3x3
std::vector< double > * t_hsim3x3Photon
std::vector< double > * t_PVTracksSumPtHP
std::vector< double > * t_esim11x11Rest
std::vector< int > * t_trackNOuterHits
std::vector< double > * t_h7x7Sig
std::vector< double > * t_e15x15_30Sig
std::vector< double > * t_trackPhiAll
std::vector< double > * t_e7x7_25Sig
std::vector< double > * t_trkHcalEne
std::vector< double > * t_e7x7_20Sig
std::vector< double > * t_e11x11_10Sig
std::vector< double > * t_trackPtAll
std::vector< double > * t_h3x3Sig
std::vector< double > * t_esimPdgId
std::vector< double > * t_e11x11_20Sig
std::vector< double > * t_jetEta
std::vector< double > * t_maxNearP31x31
std::vector< int > * t_trackHitInMissTEC
std::vector< double > * t_trkEcalEne
std::vector< double > * t_trackEta
std::vector< double > * t_esim9x9Photon
std::vector< int > * t_trackHitInMeasTID
std::vector< double > * t_hsim5x5Rest
std::vector< double > * t_e11x11
std::vector< double > * t_esim15x15
std::vector< double > * t_L1CenJetPt
std::vector< double > * t_trackChiSqAll
std::vector< double > * t_e15x15_25Sig
std::vector< int > * t_trackHitOutMissTIB
std::vector< double > * t_esim15x15Rest
std::vector< double > * t_esim11x11
std::vector< double > * t_hsim7x7
std::vector< int > * t_PVNTracksHPWt
std::vector< int > * t_trackHitOutMissTID
std::vector< int > * t_trackHitOutMissTOBTEC
std::vector< int > * t_trackHitsTEC
std::vector< double > * t_e9x9_30Sig
std::vector< double > * t_L1CenJetPhi
std::vector< double > * t_L1FwdJetEta
std::vector< double > * t_h7x7
std::vector< int > * t_ecalSpike11x11
std::vector< double > * t_esim15x15NeutHad
std::vector< double > * t_e9x9_20Sig
std::vector< int > * t_trackHitOutMeasTOB
std::vector< int > * t_trackHitInMeasTIB
std::vector< double > * t_trackDzPV
std::vector< int > * t_PVNTracksHP
std::vector< double > * t_L1FwdJetPhi
std::vector< double > * t_nTrksJetVtx
std::vector< double > * t_esim7x7NeutHad
std::vector< double > * t_hsim3x3NeutHad
std::vector< double > * t_L1NonIsoEMPhi
std::vector< double > * t_trackDzBS
std::vector< int > * t_trackHitOutMissTOB
std::vector< double > * t_L1CenJetEta
std::vector< double > * t_trackDzPVAll
std::vector< double > * t_esim7x7Matched
std::vector< double > * t_esim9x9
std::vector< double > * t_hsim5x5
std::vector< double > * t_h5x5
std::vector< double > * t_trackDxyPV
std::vector< double > * t_hsim5x5NeutHad
std::vector< double > * t_trackChiSq
std::vector< double > * t_hsim5x5Photon
std::vector< double > * t_PVy
std::vector< int > * t_L1PreScale
std::vector< double > * t_hsim3x3Rest
std::vector< int > * t_PVisValid
std::vector< double > * t_esim9x9Rest
std::vector< double > * t_L1METPhi
std::vector< int > * t_trackHitInMissTIB
std::vector< double > * t_e9x9_15Sig
std::vector< double > * t_e7x7_15Sig
std::vector< double > * t_trackPhi
std::vector< double > * t_e7x7_10Sig
std::vector< double > * t_trackDzAll
std::vector< double > * t_esim11x11CharHad
std::vector< double > * t_e9x9_25Sig
std::vector< double > * t_esim7x7Photon
std::vector< double > * t_esim9x9NeutHad
std::vector< double > * t_L1FwdJetPt
std::vector< double > * t_simTrackP
std::vector< double > * t_hsim7x7Matched
std::vector< int > * t_trackPVIdx
std::vector< int > * t_trackHitsTOB
std::vector< double > * t_esim9x9Matched
std::vector< double > * t_hsim7x7NeutHad
std::vector< double > * t_L1IsoEMPhi
std::vector< int > * t_PVNTracks
std::vector< double > * t_maxNearP21x21
std::vector< double > * t_L1NonIsoEMEta
std::vector< double > * t_PVz
std::vector< double > * t_e15x15_20Sig
std::vector< double > * t_PVTracksSumPtHPWt
std::vector< double > * t_trackDxy
std::vector< std::string > * t_L1AlgoNames
std::vector< double > * t_hsim5x5CharHad
std::vector< double > * t_e15x15_10Sig
std::vector< double > * t_jetPhi
std::vector< double > * t_trackL
std::vector< double > * t_esim7x7Rest
std::vector< double > * t_trackDxyBS
std::vector< double > * t_trackHcalEta
std::vector< double > * t_L1METPt
std::vector< int > * t_NLayersCrossed
std::vector< int > * t_trackHitInMeasTOB
std::vector< double > * t_PVx
std::vector< int > * t_trackHitInMeasTEC
std::vector< double > * t_esim15x15Photon
std::vector< double > * t_e9x9
std::vector< double > * t_hsim5x5Matched
std::vector< double > * t_esim15x15Matched
std::vector< int > * t_trackHitOutMeasTID
std::vector< double > * t_L1METEta
std::vector< double > * t_e7x7_30Sig
std::vector< int > * t_trackHitOutMissTEC
std::vector< double > * t_e11x11_25Sig
std::vector< double > * t_hsim3x3
std::vector< double > * t_trackP
std::vector< double > * t_hsim7x7Photon
std::vector< double > * t_jetPt
std::vector< double > * t_L1IsoEMPt
std::vector< double > * t_esim11x11Photon
std::vector< double > * t_h5x5Sig
std::vector< int > * t_trackHitInMissTID
std::vector< double > * t_e11x11_30Sig
std::vector< int > * t_trackHitInMissTIBTID
std::vector< double > * t_esim9x9CharHad
std::vector< double > * t_esim15x15CharHad

Member Function Documentation

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

Definition at line 653 of file IsolatedTracksNxN.cc.

References funct::abs(), L1GtUtils::availableL1Configuration(), ecalTB2006H4_GenSimDigiReco_cfg::bField, edm::EventBase::bunchCrossing(), spr::chargeIsolationEcal(), spr::chargeIsolationHcal(), clearTreeVectors(), debugL1Info_, debugTrks_, TauDecayModes::dec, L1GtUtils::decision(), deltaR(), diffTreeTool::diff, doMC_, reco::TrackBase::dxy(), reco::TrackBase::dz(), EcalBarrel, spr::eCaloSimInfo(), spr::caloSimInfo::eChargedHad, spr::eECALmatrix(), spr::eECALSimInfo(), spr::caloSimInfo::eGamma, spr::eHCALmatrix(), spr::eHCALmatrixCell(), spr::eHCALSimInfo(), spr::caloSimInfo::eMatched, spr::caloSimInfo::eNeutralHad, spr::caloSimInfo::eRest, PVValHelper::eta, reco::TrackBase::eta(), spr::caloSimInfo::eTotal, edm::EventID::event(), plotBeamSpotDB::first, genPartEtaBins, genPartPBins, edm::EventSetup::get(), edm::RefToBase< T >::get(), edm::Event::getByToken(), L1GtUtils::getL1GtRunCache(), L1GtTriggerMenu::gtAlgorithmMap(), L1GtTriggerMenu::gtTriggerMenuName(), h_L1AlgoNames, h_maxNearP15x15, h_maxNearP21x21, h_maxNearP25x25, h_maxNearP31x31, h_nTracks, h_PVTracksWt, h_recEta_0, h_recEta_1, h_recEta_2, h_recEtaP_0, h_recEtaP_1, h_recEtaP_2, h_recEtaPt_0, h_recEtaPt_1, h_recEtaPt_2, h_recP_0, h_recP_1, h_recP_2, h_recPhi_0, h_recPhi_1, h_recPhi_2, h_recPt_0, h_recPt_1, h_recPt_2, photonIsolationHIProducer_cfi::hbhe, reco::TrackBase::hitPattern(), mps_fire::i, edm::EventBase::id(), cuy::ii, initL1_, edm::HandleBase::isValid(), fwrapper::jets, l1AlgoMap_, L1TriggerAlgoInfo_, edm::EventBase::luminosityBlock(), m_l1GtUtils, spr::matchedSimTrack(), maxTrackEta_, minTrackP_, reco::HitPattern::MISSING_INNER_HITS, reco::HitPattern::MISSING_OUTER_HITS, reco::TrackBase::momentum(), myverbose_, nbad_, ndof, NEtaBins, nEventProc_, reco::TrackBase::normalizedChi2(), NPBins, nTracks(), reco::Track::outerPosition(), reco::TrackBase::p(), p1, spr::caloSimInfo::pdgMatched, phi, reco::BeamSpot::position(), L1GtUtils::prescaleFactor(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), spr::propagateCALO(), spr::propagateTrackerEnd(), EnergyCorrector::pt, reco::TrackBase::pt(), hiDetachedQuadStep_cff::pt1, L1GtUtils::ptrL1TriggerMenuEventSetup(), pvTracksPtMin_, reco::TrackBase::quality(), reco::TrackBase::qualityByName(), edm::EventID::run(), AlCaHLTBitMon_QueryRunRegistry::string, reco::HitPattern::stripTECLayersWithMeasurement(), reco::HitPattern::stripTECLayersWithoutMeasurement(), reco::HitPattern::stripTIBLayersWithMeasurement(), reco::HitPattern::stripTIBLayersWithoutMeasurement(), reco::HitPattern::stripTIDLayersWithMeasurement(), reco::HitPattern::stripTIDLayersWithoutMeasurement(), reco::HitPattern::stripTOBLayersWithMeasurement(), reco::HitPattern::stripTOBLayersWithoutMeasurement(), t_Bunch, t_e11x11, t_e11x11_10Sig, t_e11x11_15Sig, t_e11x11_20Sig, t_e11x11_25Sig, t_e11x11_30Sig, t_e15x15, t_e15x15_10Sig, t_e15x15_15Sig, t_e15x15_20Sig, t_e15x15_25Sig, t_e15x15_30Sig, t_e7x7, t_e7x7_10Sig, t_e7x7_15Sig, t_e7x7_20Sig, t_e7x7_25Sig, t_e7x7_30Sig, t_e9x9, t_e9x9_10Sig, t_e9x9_15Sig, t_e9x9_20Sig, t_e9x9_25Sig, t_e9x9_30Sig, t_ecalSpike11x11, t_esim11x11, t_esim11x11CharHad, t_esim11x11Matched, t_esim11x11NeutHad, t_esim11x11Photon, t_esim11x11Rest, t_esim15x15, t_esim15x15CharHad, t_esim15x15Matched, t_esim15x15NeutHad, t_esim15x15Photon, t_esim15x15Rest, t_esim7x7, t_esim7x7CharHad, t_esim7x7Matched, t_esim7x7NeutHad, t_esim7x7Photon, t_esim7x7Rest, t_esim9x9, t_esim9x9CharHad, t_esim9x9Matched, t_esim9x9NeutHad, t_esim9x9Photon, t_esim9x9Rest, t_esimPdgId, t_EvtNo, t_h3x3, t_h3x3Sig, t_h5x5, t_h5x5Sig, t_h7x7, t_h7x7Sig, t_hsim3x3, t_hsim3x3CharHad, t_hsim3x3Matched, t_hsim3x3NeutHad, t_hsim3x3Photon, t_hsim3x3Rest, t_hsim5x5, t_hsim5x5CharHad, t_hsim5x5Matched, t_hsim5x5NeutHad, t_hsim5x5Photon, t_hsim5x5Rest, t_hsim7x7, t_hsim7x7CharHad, t_hsim7x7Matched, t_hsim7x7NeutHad, t_hsim7x7Photon, t_hsim7x7Rest, t_infoHcal, t_jetEta, t_jetPhi, t_jetPt, t_L1AlgoNames, t_L1CenJetEta, t_L1CenJetPhi, t_L1CenJetPt, t_L1Decision, t_L1FwdJetEta, t_L1FwdJetPhi, t_L1FwdJetPt, t_L1IsoEMEta, t_L1IsoEMPhi, t_L1IsoEMPt, t_L1MuonEta, t_L1MuonPhi, t_L1MuonPt, t_L1NonIsoEMEta, t_L1NonIsoEMPhi, t_L1NonIsoEMPt, t_L1PreScale, t_L1TauJetEta, t_L1TauJetPhi, t_L1TauJetPt, t_Lumi, t_maxNearHcalP3x3, t_maxNearHcalP5x5, t_maxNearHcalP7x7, t_maxNearP21x21, t_maxNearP31x31, t_NLayersCrossed, t_nTracks, t_nTrksJetCalo, t_nTrksJetVtx, t_PVisValid, t_PVndof, t_PVNTracks, t_PVNTracksHP, t_PVNTracksHPWt, t_PVNTracksWt, t_PVTracksSumPt, t_PVTracksSumPtHP, t_PVTracksSumPtHPWt, t_PVTracksSumPtWt, t_PVx, t_PVy, t_PVz, t_RunNo, t_simTrackP, t_trackChiSq, t_trackChiSqAll, t_trackDxy, t_trackDxyAll, t_trackDxyBS, t_trackDxyPV, t_trackDxyPVAll, t_trackDz, t_trackDzAll, t_trackDzBS, t_trackDzPV, t_trackDzPVAll, t_trackEcalEta, t_trackEcalPhi, t_trackEta, t_trackEtaAll, t_trackHcalEta, t_trackHcalPhi, t_trackHitInMeasTEC, t_trackHitInMeasTIB, t_trackHitInMeasTID, t_trackHitInMeasTOB, t_trackHitInMissTEC, t_trackHitInMissTIB, t_trackHitInMissTIBTID, t_trackHitInMissTID, t_trackHitInMissTOB, t_trackHitOutMeasTEC, t_trackHitOutMeasTIB, t_trackHitOutMeasTID, t_trackHitOutMeasTOB, t_trackHitOutMissTEC, t_trackHitOutMissTIB, t_trackHitOutMissTID, t_trackHitOutMissTOB, t_trackHitOutMissTOBTEC, t_trackHitsTEC, t_trackHitsTOB, t_trackL, t_trackNOuterHits, t_trackOutPosOutHitDr, t_trackP, t_trackPAll, t_trackPdgIdAll, t_trackPhi, t_trackPhiAll, t_trackPt, t_trackPtAll, t_trackPVIdx, t_trkEcalEne, t_trkHcalEne, tMaxE_, tMaxH_, tMinE_, tMinH_, tok_bs_, tok_caloEB_, tok_caloEE_, tok_caloHH_, tok_EB_, tok_EE_, tok_genTrack_, tok_hbhe_, tok_jets_, tok_L1extCenJet_, tok_L1extFwdJet_, tok_L1extIsoEm_, tok_L1extMu_, tok_L1extNoIsoEm_, tok_L1extTauJet_, tok_recVtx_, tok_simTk_, tok_simVtx_, trackerHitAssociatorConfig_, reco::HitPattern::trackerLayersWithMeasurement(), tree_, useL1EventSetup(), useL1GtTriggerMenuLite(), writeAllTracks_, x, y, and z.

653  {
654 
655  bool haveIsoTrack=false;
656 
658  iSetup.get<IdealMagneticFieldRecord>().get(bFieldH);
659  const MagneticField* bField = bFieldH.product();
660 
662 
663  t_RunNo = iEvent.id().run();
664  t_EvtNo = iEvent.id().event();
665  t_Lumi = iEvent.luminosityBlock();
666  t_Bunch = iEvent.bunchCrossing();
667 
668  ++nEventProc_;
669 
671  iEvent.getByToken(tok_genTrack_, trkCollection);
672  if (debugTrks_>1) {
673  edm::LogVerbatim("IsoTrack") << "Track Collection: ";
674  edm::LogVerbatim("IsoTrack") << "Number of Tracks "
675  << trkCollection->size();
676  }
677  std::string theTrackQuality = "highPurity";
678  reco::TrackBase::TrackQuality trackQuality_=reco::TrackBase::qualityByName(theTrackQuality);
679 
680  //===================== save L1 Trigger information =======================
681  if( L1TriggerAlgoInfo_ ) {
682 
684 
685  int iErrorCode = -1;
686  int l1ConfCode = -1;
687  const bool l1Conf = m_l1GtUtils.availableL1Configuration(iErrorCode, l1ConfCode);
688  if( !l1Conf) {
689  edm::LogVerbatim("IsoTrack") << "\nL1 configuration code:" << l1ConfCode
690  << "\nNo valid L1 trigger configuration available."
691  << "\nSee text above for error code interpretation"
692  << "\nNo return here, in order to test each method, protected against configuration error.";
693  }
694 
695  const L1GtTriggerMenu* m_l1GtMenu = m_l1GtUtils.ptrL1TriggerMenuEventSetup(iErrorCode);
696  const AlgorithmMap& algorithmMap = m_l1GtMenu->gtAlgorithmMap();
697  const std::string& menuName = m_l1GtMenu->gtTriggerMenuName();
698 
699  if (!initL1_) {
700  initL1_=true;
701  edm::LogVerbatim("IsoTrack") << "menuName " << menuName;
702  for (CItAlgo itAlgo = algorithmMap.begin(); itAlgo != algorithmMap.end(); itAlgo++) {
703  std::string algName = itAlgo->first;
704  int algBitNumber = ( itAlgo->second ).algoBitNumber();
705  l1AlgoMap_.insert( std::pair<std::pair<unsigned int,std::string>,int>( std::pair<unsigned int,std::string>(algBitNumber, algName) , 0) ) ;
706  }
707  std::map< std::pair<unsigned int,std::string>, int>::iterator itr;
708  for(itr=l1AlgoMap_.begin(); itr!=l1AlgoMap_.end(); itr++) {
709  edm::LogVerbatim("IsoTrack") << " ********** " << (itr->first).first
710  << " " << (itr->first).second << " "
711  << itr->second;
712  }
713  }
714 
715  std::vector<int> algbits;
716  for (CItAlgo itAlgo = algorithmMap.begin(); itAlgo != algorithmMap.end(); itAlgo++) {
717  std::string algName = itAlgo->first;
718  int algBitNumber = ( itAlgo->second ).algoBitNumber();
719  bool decision = m_l1GtUtils.decision (iEvent, itAlgo->first, iErrorCode);
720  int preScale = m_l1GtUtils.prescaleFactor (iEvent, itAlgo->first, iErrorCode);
721 
722  // save the algo names which fired
723  if (decision) {
724  l1AlgoMap_[std::pair<unsigned int,std::string>(algBitNumber, algName)] += 1;
725  h_L1AlgoNames->Fill( algBitNumber );
726  t_L1AlgoNames->push_back(itAlgo->first);
727  t_L1PreScale->push_back(preScale);
728  t_L1Decision[algBitNumber] = 1;
729  algbits.push_back(algBitNumber);
730  }
731  }
732 
733  if (debugL1Info_) {
734  for(unsigned int ii=0; ii<t_L1AlgoNames->size(); ii++){
735  edm::LogVerbatim("IsoTrack") << ii << " " << (*t_L1AlgoNames)[ii] << " "
736  << (*t_L1PreScale)[ii] << " "
737  << algbits[ii];
738  }
739  for (int i=0; i<128; ++i) {
740  edm::LogVerbatim("IsoTrack") << "L1Decision: " << i << ":"
741  << t_L1Decision[i];
742  }
743  }
744 
745  // L1Taus
747  iEvent.getByToken(tok_L1extTauJet_,l1TauHandle);
748  l1extra::L1JetParticleCollection::const_iterator itr;
749  int iL1Obj=0;
750  for (itr = l1TauHandle->begin(),iL1Obj=0; itr != l1TauHandle->end(); ++itr,iL1Obj++) {
751  if (iL1Obj<1) {
752  t_L1TauJetPt ->push_back( itr->pt() );
753  t_L1TauJetEta ->push_back( itr->eta() );
754  t_L1TauJetPhi ->push_back( itr->phi() );
755  }
756  if (debugL1Info_) {
757  edm::LogVerbatim("IsoTrack") << "tauJ p/pt " << itr->momentum() << " "
758  << itr->pt() << " eta/phi " << itr->eta()
759  << " " << itr->phi();
760  }
761  }
762 
763  // L1 Central Jets
765  iEvent.getByToken(tok_L1extCenJet_,l1CenJetHandle);
766  for (itr = l1CenJetHandle->begin(),iL1Obj=0; itr != l1CenJetHandle->end(); ++itr,iL1Obj++) {
767  if (iL1Obj<1) {
768  t_L1CenJetPt ->push_back( itr->pt() );
769  t_L1CenJetEta ->push_back( itr->eta() );
770  t_L1CenJetPhi ->push_back( itr->phi() );
771  }
772  if (debugL1Info_) {
773  edm::LogVerbatim("IsoTrack") << "cenJ p/pt " << itr->momentum()
774  << " " << itr->pt() << " eta/phi "
775  << itr->eta() << " " << itr->phi();
776  }
777  }
778 
779  // L1 Forward Jets
781  iEvent.getByToken(tok_L1extFwdJet_,l1FwdJetHandle);
782  for (itr = l1FwdJetHandle->begin(),iL1Obj=0; itr != l1FwdJetHandle->end(); ++itr,iL1Obj++) {
783  if (iL1Obj<1) {
784  t_L1FwdJetPt ->push_back( itr->pt() );
785  t_L1FwdJetEta ->push_back( itr->eta() );
786  t_L1FwdJetPhi ->push_back( itr->phi() );
787  }
788  if (debugL1Info_) {
789  edm::LogVerbatim("IsoTrack") << "fwdJ p/pt " << itr->momentum()
790  << " " << itr->pt() << " eta/phi "
791  << itr->eta() << " " << itr->phi();
792  }
793  }
794 
795  // L1 Isolated EM onjects
796  l1extra::L1EmParticleCollection::const_iterator itrEm;
798  iEvent.getByToken(tok_L1extIsoEm_, l1IsoEmHandle);
799  for (itrEm = l1IsoEmHandle->begin(),iL1Obj=0; itrEm != l1IsoEmHandle->end(); ++itrEm,iL1Obj++) {
800  if (iL1Obj<1) {
801  t_L1IsoEMPt ->push_back( itrEm->pt() );
802  t_L1IsoEMEta ->push_back( itrEm->eta() );
803  t_L1IsoEMPhi ->push_back( itrEm->phi() );
804  }
805  if (debugL1Info_) {
806  edm::LogVerbatim("IsoTrack") << "isoEm p/pt " << itrEm->momentum()
807  << " " << itrEm->pt() << " eta/phi "
808  << itrEm->eta() << " " << itrEm->phi();
809  }
810  }
811 
812  // L1 Non-Isolated EM onjects
814  iEvent.getByToken(tok_L1extNoIsoEm_, l1NonIsoEmHandle);
815  for (itrEm = l1NonIsoEmHandle->begin(),iL1Obj=0; itrEm != l1NonIsoEmHandle->end(); ++itrEm,iL1Obj++) {
816  if (iL1Obj<1) {
817  t_L1NonIsoEMPt ->push_back( itrEm->pt() );
818  t_L1NonIsoEMEta ->push_back( itrEm->eta() );
819  t_L1NonIsoEMPhi ->push_back( itrEm->phi() );
820  }
821  if (debugL1Info_) {
822  edm::LogVerbatim("IsoTrack") << "nonIsoEm p/pt " << itrEm->momentum()
823  << " " << itrEm->pt() << " eta/phi "
824  << itrEm->eta() << " " << itrEm->phi();
825  }
826  }
827 
828  // L1 Muons
829  l1extra::L1MuonParticleCollection::const_iterator itrMu;
831  iEvent.getByToken(tok_L1extMu_, l1MuHandle);
832  for (itrMu = l1MuHandle->begin(),iL1Obj=0; itrMu != l1MuHandle->end(); ++itrMu,iL1Obj++) {
833  if (iL1Obj<1) {
834  t_L1MuonPt ->push_back( itrMu->pt() );
835  t_L1MuonEta ->push_back( itrMu->eta() );
836  t_L1MuonPhi ->push_back( itrMu->phi() );
837  }
838  if (debugL1Info_) {
839  edm::LogVerbatim("IsoTrack") << "l1muon p/pt " << itrMu->momentum()
840  << " " << itrMu->pt() << " eta/phi "
841  << itrMu->eta() << " " << itrMu->phi();
842  }
843  }
844  }
845 
846  //============== store the information about all the Non-Fake vertices ===============
847 
849  iEvent.getByToken(tok_recVtx_,recVtxs);
850 
851  std::vector<reco::Track> svTracks;
852  math::XYZPoint leadPV(0,0,0);
853  double sumPtMax = -1.0;
854  for(unsigned int ind=0;ind<recVtxs->size();ind++) {
855 
856  if ( !((*recVtxs)[ind].isFake()) ) {
857  double vtxTrkSumPt=0.0, vtxTrkSumPtWt=0.0;
858  int vtxTrkNWt =0;
859  double vtxTrkSumPtHP=0.0, vtxTrkSumPtHPWt=0.0;
860  int vtxTrkNHP =0, vtxTrkNHPWt =0;
861 
862  reco::Vertex::trackRef_iterator vtxTrack = (*recVtxs)[ind].tracks_begin();
863 
864  for (vtxTrack = (*recVtxs)[ind].tracks_begin(); vtxTrack!=(*recVtxs)[ind].tracks_end(); vtxTrack++) {
865 
866  if((*vtxTrack)->pt()<pvTracksPtMin_) continue;
867 
868  bool trkQuality = (*vtxTrack)->quality(trackQuality_);
869 
870  vtxTrkSumPt += (*vtxTrack)->pt();
871 
872  vtxTrkSumPt += (*vtxTrack)->pt();
873  if (trkQuality) {
874  vtxTrkSumPtHP += (*vtxTrack)->pt();
875  vtxTrkNHP++;
876  }
877 
878  double weight = (*recVtxs)[ind].trackWeight(*vtxTrack);
879  h_PVTracksWt ->Fill(weight);
880  if (weight>0.5) {
881  vtxTrkSumPtWt += (*vtxTrack)->pt();
882  vtxTrkNWt++;
883  if (trkQuality) {
884  vtxTrkSumPtHPWt += (*vtxTrack)->pt();
885  vtxTrkNHPWt++;
886  }
887  }
888  }
889 
890  if (vtxTrkSumPt>sumPtMax) {
891  sumPtMax = vtxTrkSumPt;
892  leadPV = math::XYZPoint( (*recVtxs)[ind].x(),(*recVtxs)[ind].y(), (*recVtxs)[ind].z() );
893  }
894 
895  t_PVx ->push_back( (*recVtxs)[ind].x() );
896  t_PVy ->push_back( (*recVtxs)[ind].y() );
897  t_PVz ->push_back( (*recVtxs)[ind].z() );
898  t_PVisValid ->push_back( (*recVtxs)[ind].isValid() );
899  t_PVNTracks ->push_back( (*recVtxs)[ind].tracksSize() );
900  t_PVndof ->push_back( (*recVtxs)[ind].ndof() );
901  t_PVNTracksWt ->push_back( vtxTrkNWt );
902  t_PVTracksSumPt ->push_back( vtxTrkSumPt );
903  t_PVTracksSumPtWt->push_back( vtxTrkSumPtWt );
904 
905  t_PVNTracksHP ->push_back( vtxTrkNHP );
906  t_PVNTracksHPWt ->push_back( vtxTrkNHPWt );
907  t_PVTracksSumPtHP ->push_back( vtxTrkSumPtHP );
908  t_PVTracksSumPtHPWt->push_back( vtxTrkSumPtHPWt );
909 
910  if (myverbose_==4) {
911  edm::LogVerbatim("IsoTrack") << "PV " << ind << " isValid "
912  << (*recVtxs)[ind].isValid() << " isFake "
913  <<(*recVtxs)[ind].isFake()
914  << " hasRefittedTracks() " << ind << " "
915  << (*recVtxs)[ind].hasRefittedTracks()
916  << " refittedTrksSize "
917  << (*recVtxs)[ind].refittedTracks().size()
918  << " tracksSize() "
919  << (*recVtxs)[ind].tracksSize()
920  << " sumPt " << vtxTrkSumPt;
921  }
922  } // if vtx is not Fake
923  } // loop over PVs
924  //===================================================================================
925 
926  // Get the beamspot
927  edm::Handle<reco::BeamSpot> beamSpotH;
928  iEvent.getByToken(tok_bs_, beamSpotH);
929  math::XYZPoint bspot;
930  bspot = ( beamSpotH.isValid() ) ? beamSpotH->position() : math::XYZPoint(0, 0, 0);
931 
932  //=====================================================================
933 
935  iEvent.getByToken(tok_jets_,jets);
936  // edm::Handle<reco::JetExtendedAssociation::Container> jetExtender;
937  // iEvent.getByLabel(JetExtender_,jetExtender);
938 
939  for (unsigned int ijet=0;ijet<(*jets).size();ijet++) {
940  t_jetPt ->push_back( (*jets)[ijet].pt() );
941  t_jetEta ->push_back( (*jets)[ijet].eta() );
942  t_jetPhi ->push_back( (*jets)[ijet].phi() );
943  t_nTrksJetVtx ->push_back( -1.0);
944  t_nTrksJetCalo->push_back( -1.0);
945  }
946 
947  //===================================================================================
948 
949  // get handles to calogeometry and calotopology
951  iSetup.get<CaloGeometryRecord>().get(pG);
952  const CaloGeometry* geo = pG.product();
953 
954  edm::ESHandle<CaloTopology> theCaloTopology;
955  iSetup.get<CaloTopologyRecord>().get(theCaloTopology);
956  const CaloTopology *caloTopology = theCaloTopology.product();
957 
959  iSetup.get<HcalRecNumberingRecord>().get(htopo);
960  const HcalTopology* theHBHETopology = htopo.product();
961 
962  edm::Handle<EcalRecHitCollection> barrelRecHitsHandle;
963  edm::Handle<EcalRecHitCollection> endcapRecHitsHandle;
964  iEvent.getByToken(tok_EB_,barrelRecHitsHandle);
965  iEvent.getByToken(tok_EE_,endcapRecHitsHandle);
966 
967  // Retrieve the good/bad ECAL channels from the DB
969  iSetup.get<EcalChannelStatusRcd>().get(ecalChStatus);
970  const EcalChannelStatus* theEcalChStatus = ecalChStatus.product();
971 
972  // Retrieve trigger tower map
974  iSetup.get<IdealGeometryRecord>().get(hTtmap);
975  const EcalTrigTowerConstituentsMap& ttMap = *hTtmap;
976 
978  iEvent.getByToken(tok_hbhe_, hbhe);
979  if (!hbhe.isValid()) {
980  ++nbad_;
981  if (nbad_ < 10) edm::LogVerbatim("IsoTrack") << "No HBHE rechit collection";
982  return;
983  }
984  const HBHERecHitCollection Hithbhe = *(hbhe.product());
985 
986  //get Handles to SimTracks and SimHits
988  if (doMC_) iEvent.getByToken(tok_simTk_,SimTk);
989 
991  if (doMC_) iEvent.getByToken(tok_simVtx_,SimVtx);
992 
993  //get Handles to PCaloHitContainers of eb/ee/hbhe
995  if (doMC_) iEvent.getByToken(tok_caloEB_, pcaloeb);
996 
998  if (doMC_) iEvent.getByToken(tok_caloEE_, pcaloee);
999 
1001  if (doMC_) iEvent.getByToken(tok_caloHH_, pcalohh);
1002 
1003  //associates tracker rechits/simhits to a track
1004  std::unique_ptr<TrackerHitAssociator> associate;
1005  if (doMC_) associate.reset(new TrackerHitAssociator(iEvent, trackerHitAssociatorConfig_));
1006 
1007  //===================================================================================
1008 
1009  h_nTracks->Fill(trkCollection->size());
1010 
1011  int nTracks = 0;
1012 
1013  t_nTracks = trkCollection->size();
1014 
1015  // get the list of DetIds closest to the impact point of track on surface calorimeters
1016  std::vector<spr::propagatedTrackID> trkCaloDets;
1017  spr::propagateCALO(trkCollection, geo, bField, theTrackQuality, trkCaloDets, false);
1018  std::vector<spr::propagatedTrackID>::const_iterator trkDetItr;
1019 
1020  if(myverbose_>2) {
1021  for (trkDetItr = trkCaloDets.begin(); trkDetItr != trkCaloDets.end(); trkDetItr++) {
1022  edm::LogVerbatim("IsoTrack") << trkDetItr->trkItr->p() << " "
1023  << trkDetItr->trkItr->eta() << " "
1024  << trkDetItr->okECAL << " "
1025  << trkDetItr->okHCAL;
1026  if (trkDetItr->okECAL) {
1027  if (trkDetItr->detIdECAL.subdetId() == EcalBarrel)
1028  edm::LogVerbatim("IsoTrack") << (EBDetId)trkDetItr->detIdECAL;
1029  else
1030  edm::LogVerbatim("IsoTrack") << (EEDetId)trkDetItr->detIdECAL;
1031  }
1032  if (trkDetItr->okHCAL)
1033  edm::LogVerbatim("IsoTrack") << (HcalDetId)trkDetItr->detIdHCAL;
1034  }
1035  }
1036 
1037  int nvtxTracks=0;
1038  for (trkDetItr = trkCaloDets.begin(),nTracks=0; trkDetItr != trkCaloDets.end(); trkDetItr++,nTracks++) {
1039 
1040  const reco::Track* pTrack = &(*(trkDetItr->trkItr));
1041 
1042  // find vertex index the track is associated with
1043  int pVtxTkId = -1;
1044  for (unsigned int ind=0; ind<recVtxs->size(); ind++) {
1045  if (!((*recVtxs)[ind].isFake())) {
1046  reco::Vertex::trackRef_iterator vtxTrack = (*recVtxs)[ind].tracks_begin();
1047  for (vtxTrack = (*recVtxs)[ind].tracks_begin(); vtxTrack!=(*recVtxs)[ind].tracks_end(); vtxTrack++) {
1048 
1049  const edm::RefToBase<reco::Track> pvtxTrack = (*vtxTrack);
1050  if (pTrack == pvtxTrack.get()) {
1051  pVtxTkId = ind;
1052  break;
1053  if (myverbose_>2) {
1054  if (pTrack->pt()>1.0) {
1055  edm::LogVerbatim("IsoTrack") << "Debug the track association with vertex ";
1056  edm::LogVerbatim("IsoTrack") << pTrack << " " <<pvtxTrack.get();
1057  edm::LogVerbatim("IsoTrack") << " trkVtxIndex " << nvtxTracks
1058  << " vtx " << ind << " pt "
1059  << pTrack->pt() << " eta "
1060  << pTrack->eta() << " "
1061  <<pTrack->pt()-pvtxTrack->pt()<<" "
1062  << pTrack->eta()-pvtxTrack->eta();
1063  nvtxTracks++;
1064  }
1065  }
1066  }
1067  }
1068  }
1069  }
1070 
1071  const reco::HitPattern& hitp = pTrack->hitPattern();
1072  int nLayersCrossed = hitp.trackerLayersWithMeasurement() ;
1073  int nOuterHits = hitp.stripTOBLayersWithMeasurement()+hitp.stripTECLayersWithMeasurement() ;
1074 
1075  bool ifGood = pTrack->quality(trackQuality_);
1076  double pt1 = pTrack->pt();
1077  double p1 = pTrack->p();
1078  double eta1 = pTrack->momentum().eta();
1079  double phi1 = pTrack->momentum().phi();
1080  double etaEcal1 = trkDetItr->etaECAL;
1081  double phiEcal1 = trkDetItr->phiECAL;
1082  double etaHcal1 = trkDetItr->etaHCAL;
1083  double phiHcal1 = trkDetItr->phiHCAL;
1084  double dxy1 = pTrack->dxy();
1085  double dz1 = pTrack->dz();
1086  double chisq1 = pTrack->normalizedChi2();
1087  double dxybs1 = beamSpotH.isValid() ? pTrack->dxy(bspot) : pTrack->dxy();
1088  double dzbs1 = beamSpotH.isValid() ? pTrack->dz(bspot) : pTrack->dz();
1089  double dxypv1 = pTrack->dxy();
1090  double dzpv1 = pTrack->dz();
1091  if (pVtxTkId>=0) {
1092  math::XYZPoint thisTkPV = math::XYZPoint( (*recVtxs)[pVtxTkId].x(),(*recVtxs)[pVtxTkId].y(), (*recVtxs)[pVtxTkId].z() );
1093  dxypv1 = pTrack->dxy(thisTkPV);
1094  dzpv1 = pTrack->dz (thisTkPV);
1095  }
1096 
1097  h_recEtaPt_0->Fill(eta1, pt1);
1098  h_recEtaP_0 ->Fill(eta1, p1);
1099  h_recPt_0 ->Fill(pt1);
1100  h_recP_0 ->Fill(p1);
1101  h_recEta_0 ->Fill(eta1);
1102  h_recPhi_0 ->Fill(phi1);
1103 
1104  if (ifGood && nLayersCrossed>7 ) {
1105  h_recEtaPt_1->Fill(eta1, pt1);
1106  h_recEtaP_1 ->Fill(eta1, p1);
1107  h_recPt_1 ->Fill(pt1);
1108  h_recP_1 ->Fill(p1);
1109  h_recEta_1 ->Fill(eta1);
1110  h_recPhi_1 ->Fill(phi1);
1111  }
1112 
1113  if (! ifGood) continue;
1114 
1115  if (writeAllTracks_ && p1>2.0 && nLayersCrossed>7) {
1116  t_trackPAll ->push_back( p1 );
1117  t_trackEtaAll ->push_back( eta1 );
1118  t_trackPhiAll ->push_back( phi1 );
1119  t_trackPtAll ->push_back( pt1 );
1120  t_trackDxyAll ->push_back( dxy1 );
1121  t_trackDzAll ->push_back( dz1 );
1122  t_trackDxyPVAll ->push_back( dxypv1 );
1123  t_trackDzPVAll ->push_back( dzpv1 );
1124  t_trackChiSqAll ->push_back( chisq1 );
1125  }
1126  if (doMC_) {
1127  edm::SimTrackContainer::const_iterator matchedSimTrkAll = spr::matchedSimTrack(iEvent, SimTk, SimVtx, pTrack, *associate, false);
1128  if (writeAllTracks_ && matchedSimTrkAll != SimTk->end()) t_trackPdgIdAll->push_back( matchedSimTrkAll->type() );
1129  }
1130 
1131  if (pt1>minTrackP_ && std::abs(eta1)<maxTrackEta_ && trkDetItr->okECAL) {
1132 
1133  double maxNearP31x31=999.0, maxNearP25x25=999.0, maxNearP21x21=999.0, maxNearP15x15=999.0;
1134  maxNearP31x31 = spr::chargeIsolationEcal(nTracks, trkCaloDets, geo, caloTopology, 15,15);
1135  maxNearP25x25 = spr::chargeIsolationEcal(nTracks, trkCaloDets, geo, caloTopology, 12,12);
1136  maxNearP21x21 = spr::chargeIsolationEcal(nTracks, trkCaloDets, geo, caloTopology, 10,10);
1137  maxNearP15x15 = spr::chargeIsolationEcal(nTracks, trkCaloDets, geo, caloTopology, 7, 7);
1138 
1139  int iTrkEtaBin=-1, iTrkMomBin=-1;
1140  for(unsigned int ieta=0; ieta<NEtaBins; ieta++) {
1141  if(std::abs(eta1)>genPartEtaBins[ieta] && std::abs(eta1)<genPartEtaBins[ieta+1] ) iTrkEtaBin = ieta;
1142  }
1143  for (unsigned int ipt=0; ipt<NPBins; ipt++) {
1144  if (p1>genPartPBins[ipt] && p1<genPartPBins[ipt+1]) iTrkMomBin = ipt;
1145  }
1146  if (iTrkMomBin>=0 && iTrkEtaBin>=0) {
1147  h_maxNearP31x31[iTrkMomBin][iTrkEtaBin]->Fill( maxNearP31x31 );
1148  h_maxNearP25x25[iTrkMomBin][iTrkEtaBin]->Fill( maxNearP25x25 );
1149  h_maxNearP21x21[iTrkMomBin][iTrkEtaBin]->Fill( maxNearP21x21 );
1150  h_maxNearP15x15[iTrkMomBin][iTrkEtaBin]->Fill( maxNearP15x15 );
1151  }
1152  if (maxNearP31x31<0.0 && nLayersCrossed>7 && nOuterHits>4) {
1153  h_recEtaPt_2->Fill(eta1, pt1);
1154  h_recEtaP_2 ->Fill(eta1, p1);
1155  h_recPt_2 ->Fill(pt1);
1156  h_recP_2 ->Fill(p1);
1157  h_recEta_2 ->Fill(eta1);
1158  h_recPhi_2 ->Fill(phi1);
1159  }
1160 
1161  // if charge isolated in ECAL, store the further quantities
1162  if (maxNearP31x31<1.0) {
1163 
1164  haveIsoTrack = true;
1165 
1166  // get the matching simTrack
1167  double simTrackP = -1;
1168  if (doMC_) {
1169  edm::SimTrackContainer::const_iterator matchedSimTrk = spr::matchedSimTrack(iEvent, SimTk, SimVtx, pTrack, *associate, false);
1170  if( matchedSimTrk != SimTk->end() )simTrackP = matchedSimTrk->momentum().P();
1171  }
1172 
1174  iSetup.get<EcalSeverityLevelAlgoRcd>().get(sevlv);
1175 
1176  // get ECal Tranverse Profile
1177  std::pair<double, bool> e7x7P, e9x9P, e11x11P, e15x15P;
1178  std::pair<double, bool> e7x7_10SigP, e9x9_10SigP, e11x11_10SigP, e15x15_10SigP;
1179  std::pair<double, bool> e7x7_15SigP, e9x9_15SigP, e11x11_15SigP, e15x15_15SigP;
1180  std::pair<double, bool> e7x7_20SigP, e9x9_20SigP, e11x11_20SigP, e15x15_20SigP;
1181  std::pair<double, bool> e7x7_25SigP, e9x9_25SigP, e11x11_25SigP, e15x15_25SigP;
1182  std::pair<double, bool> e7x7_30SigP, e9x9_30SigP, e11x11_30SigP, e15x15_30SigP;
1183 
1184  spr::caloSimInfo simInfo3x3, simInfo5x5, simInfo7x7, simInfo9x9;
1185  spr::caloSimInfo simInfo11x11, simInfo13x13, simInfo15x15, simInfo21x21, simInfo25x25, simInfo31x31;
1186  double trkEcalEne=0;
1187 
1188  const DetId isoCell = trkDetItr->detIdECAL;
1189  e7x7P = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),3,3, -100.0, -100.0, tMinE_,tMaxE_);
1190  e9x9P = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),4,4, -100.0, -100.0, tMinE_,tMaxE_);
1191  e11x11P = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),5,5, -100.0, -100.0, tMinE_,tMaxE_);
1192  e15x15P = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),7,7, -100.0, -100.0, tMinE_,tMaxE_);
1193 
1194  e7x7_10SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),3,3, 0.030, 0.150, tMinE_,tMaxE_);
1195  e9x9_10SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),4,4, 0.030, 0.150, tMinE_,tMaxE_);
1196  e11x11_10SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),5,5, 0.030, 0.150, tMinE_,tMaxE_);
1197  e15x15_10SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),7,7, 0.030, 0.150, tMinE_,tMaxE_);
1198 
1199  e7x7_15SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology, sevlv.product(),ttMap, 3,3, 0.20,0.45, tMinE_,tMaxE_);
1200  e9x9_15SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology, sevlv.product(),ttMap, 4,4, 0.20,0.45, tMinE_,tMaxE_);
1201  e11x11_15SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(), ttMap, 5,5, 0.20,0.45, tMinE_,tMaxE_);
1202  e15x15_15SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology, sevlv.product(),ttMap, 7,7, 0.20,0.45, tMinE_,tMaxE_, false);
1203 
1204  e7x7_20SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),3,3, 0.060, 0.300, tMinE_,tMaxE_);
1205  e9x9_20SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),4,4, 0.060, 0.300, tMinE_,tMaxE_);
1206  e11x11_20SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),5,5, 0.060, 0.300, tMinE_,tMaxE_);
1207  e15x15_20SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),7,7, 0.060, 0.300, tMinE_,tMaxE_);
1208 
1209  e7x7_25SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),3,3, 0.075, 0.375, tMinE_,tMaxE_);
1210  e9x9_25SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),4,4, 0.075, 0.375, tMinE_,tMaxE_);
1211  e11x11_25SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),5,5, 0.075, 0.375, tMinE_,tMaxE_);
1212  e15x15_25SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),7,7, 0.075, 0.375, tMinE_,tMaxE_);
1213 
1214  e7x7_30SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),3,3, 0.090, 0.450, tMinE_,tMaxE_);
1215  e9x9_30SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),4,4, 0.090, 0.450, tMinE_,tMaxE_);
1216  e11x11_30SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),5,5, 0.090, 0.450, tMinE_,tMaxE_);
1217  e15x15_30SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),7,7, 0.090, 0.450, tMinE_,tMaxE_);
1218  if (myverbose_ == 2) {
1219  edm::LogVerbatim("IsoTrack") << "clean ecal rechit ";
1220  edm::LogVerbatim("IsoTrack") << "e7x7 " <<e7x7P.first << " e9x9 "
1221  << e9x9P.first << " e11x11 "
1222  << e11x11P.first << " e15x15 "
1223  <<e15x15P.first;
1224  edm::LogVerbatim("IsoTrack") << "e7x7_10Sig " << e7x7_10SigP.first
1225  << " e11x11_10Sig " <<e11x11_10SigP.first
1226  <<" e15x15_10Sig " <<e15x15_10SigP.first;
1227  }
1228 
1229  if (doMC_) {
1230  // check the energy from SimHits
1231  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 1,1, simInfo3x3);
1232  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 2,2, simInfo5x5);
1233  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 3,3, simInfo7x7);
1234  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 4,4, simInfo9x9);
1235  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 5,5, simInfo11x11);
1236  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 6,6, simInfo13x13);
1237  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 7,7, simInfo15x15, 150.0,false);
1238  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 10,10, simInfo21x21);
1239  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 12,12, simInfo25x25);
1240  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 15,15, simInfo31x31);
1241 
1242  trkEcalEne = spr::eCaloSimInfo(iEvent, geo, pcaloeb,pcaloee, SimTk, SimVtx, pTrack, *associate);
1243  if (myverbose_ == 1) {
1244  edm::LogVerbatim("IsoTrack") << "Track momentum " << pt1;
1245  edm::LogVerbatim("IsoTrack") << "ecal siminfo ";
1246  edm::LogVerbatim("IsoTrack") << "simInfo3x3: eTotal "
1247  << simInfo3x3.eTotal << " eMatched "
1248  << simInfo3x3.eMatched << " eRest "
1249  << simInfo3x3.eRest << " eGamma "
1250  << simInfo3x3.eGamma <<" eNeutralHad "
1251  << simInfo3x3.eNeutralHad
1252  << " eChargedHad "
1253  << simInfo3x3.eChargedHad;
1254  edm::LogVerbatim("IsoTrack") << "simInfo5x5: eTotal "
1255  << simInfo5x5.eTotal << " eMatched "
1256  << simInfo5x5.eMatched << " eRest "
1257  << simInfo5x5.eRest << " eGamma "
1258  << simInfo5x5.eGamma << " eNeutralHad "
1259  << simInfo5x5.eNeutralHad
1260  << " eChargedHad "
1261  << simInfo5x5.eChargedHad;
1262  edm::LogVerbatim("IsoTrack") << "simInfo7x7: eTotal "
1263  << simInfo7x7.eTotal << " eMatched "
1264  << simInfo7x7.eMatched << " eRest "
1265  << simInfo7x7.eRest << " eGamma "
1266  << simInfo7x7.eGamma <<" eNeutralHad "
1267  << simInfo7x7.eNeutralHad
1268  << " eChargedHad "
1269  << simInfo7x7.eChargedHad;
1270  edm::LogVerbatim("IsoTrack") << "simInfo9x9: eTotal "
1271  << simInfo9x9.eTotal << " eMatched "
1272  << simInfo9x9.eMatched << " eRest "
1273  << simInfo9x9.eRest << " eGamma "
1274  << simInfo9x9.eGamma <<" eNeutralHad "
1275  << simInfo9x9.eNeutralHad
1276  << " eChargedHad "
1277  << simInfo9x9.eChargedHad;
1278  edm::LogVerbatim("IsoTrack") << "simInfo11x11: eTotal "
1279  << simInfo11x11.eTotal << " eMatched "
1280  << simInfo11x11.eMatched << " eRest "
1281  << simInfo11x11.eRest << " eGamma "
1282  <<simInfo11x11.eGamma <<" eNeutralHad "
1283  << simInfo11x11.eNeutralHad
1284  << " eChargedHad "
1285  << simInfo11x11.eChargedHad;
1286  edm::LogVerbatim("IsoTrack") << "simInfo15x15: eTotal "
1287  << simInfo15x15.eTotal << " eMatched "
1288  << simInfo15x15.eMatched << " eRest "
1289  << simInfo15x15.eRest << " eGamma "
1290  <<simInfo15x15.eGamma <<" eNeutralHad "
1291  << simInfo15x15.eNeutralHad
1292  << " eChargedHad "
1293  << simInfo15x15.eChargedHad;
1294  edm::LogVerbatim("IsoTrack") << "simInfo31x31: eTotal "
1295  << simInfo31x31.eTotal << " eMatched "
1296  << simInfo31x31.eMatched << " eRest "
1297  << simInfo31x31.eRest << " eGamma "
1298  <<simInfo31x31.eGamma <<" eNeutralHad "
1299  << simInfo31x31.eNeutralHad
1300  << " eChargedHad "
1301  << simInfo31x31.eChargedHad;
1302  edm::LogVerbatim("IsoTrack") << "trkEcalEne" << trkEcalEne;
1303  }
1304  }
1305 
1306  // ======= Get HCAL information
1307  double hcalScale=1.0;
1308  if( std::abs(pTrack->eta())<1.4 ) {
1309  hcalScale=120.0;
1310  } else {
1311  hcalScale=135.0;
1312  }
1313 
1314  double maxNearHcalP3x3=-1, maxNearHcalP5x5=-1, maxNearHcalP7x7=-1;
1315  maxNearHcalP3x3 = spr::chargeIsolationHcal(nTracks, trkCaloDets, theHBHETopology, 1,1);
1316  maxNearHcalP5x5 = spr::chargeIsolationHcal(nTracks, trkCaloDets, theHBHETopology, 2,2);
1317  maxNearHcalP7x7 = spr::chargeIsolationHcal(nTracks, trkCaloDets, theHBHETopology, 3,3);
1318 
1319  double h3x3=0, h5x5=0, h7x7=0;
1320  double h3x3Sig=0, h5x5Sig=0, h7x7Sig=0;
1321  double trkHcalEne = 0;
1322  spr::caloSimInfo hsimInfo3x3, hsimInfo5x5, hsimInfo7x7;
1323 
1324  if (trkDetItr->okHCAL) {
1325  const DetId ClosestCell(trkDetItr->detIdHCAL);
1326  // bool includeHO=false, bool algoNew=true, bool debug=false
1327  h3x3 = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,1,1, false, true, -100.0, -100.0, -100.0, -100.0, tMinH_,tMaxH_);
1328  h5x5 = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,2,2, false, true, -100.0, -100.0, -100.0, -100.0, tMinH_,tMaxH_);
1329  h7x7 = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,3,3, false, true, -100.0, -100.0, -100.0, -100.0, tMinH_,tMaxH_);
1330  h3x3Sig = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,1,1, false, true, 0.7, 0.8, -100.0, -100.0, tMinH_,tMaxH_);
1331  h5x5Sig = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,2,2, false, true, 0.7, 0.8, -100.0, -100.0, tMinH_,tMaxH_);
1332  h7x7Sig = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,3,3, false, true, 0.7, 0.8, -100.0, -100.0, tMinH_,tMaxH_);
1333 
1334  if (myverbose_==2) {
1335  edm::LogVerbatim("IsoTrack") << "HCAL 3x3 " << h3x3 << " "
1336  << h3x3Sig << " 5x5 " << h5x5 << " "
1337  << h5x5Sig << " 7x7 " << h7x7 << " "
1338  << h7x7Sig;
1339  }
1340 
1341  if (doMC_) {
1342  spr::eHCALSimInfo(iEvent, theHBHETopology, ClosestCell, geo,pcalohh, SimTk, SimVtx, pTrack, *associate, 1,1, hsimInfo3x3);
1343  spr::eHCALSimInfo(iEvent, theHBHETopology, ClosestCell, geo,pcalohh, SimTk, SimVtx, pTrack, *associate, 2,2, hsimInfo5x5);
1344  spr::eHCALSimInfo(iEvent, theHBHETopology, ClosestCell, geo,pcalohh, SimTk, SimVtx, pTrack, *associate, 3,3, hsimInfo7x7, 150.0, false,false);
1345  trkHcalEne = spr::eCaloSimInfo(iEvent, geo,pcalohh, SimTk, SimVtx, pTrack, *associate);
1346  if (myverbose_ == 1) {
1347  edm::LogVerbatim("IsoTrack") << "Hcal siminfo ";
1348  edm::LogVerbatim("IsoTrack") << "hsimInfo3x3: eTotal "
1349  << hsimInfo3x3.eTotal << " eMatched "
1350  << hsimInfo3x3.eMatched << " eRest "
1351  << hsimInfo3x3.eRest << " eGamma "
1352  << hsimInfo3x3.eGamma
1353  << " eNeutralHad "
1354  << hsimInfo3x3.eNeutralHad
1355  << " eChargedHad "
1356  << hsimInfo3x3.eChargedHad;
1357  edm::LogVerbatim("IsoTrack") << "hsimInfo5x5: eTotal "
1358  << hsimInfo5x5.eTotal << " eMatched "
1359  << hsimInfo5x5.eMatched << " eRest "
1360  << hsimInfo5x5.eRest << " eGamma "
1361  << hsimInfo5x5.eGamma
1362  << " eNeutralHad "
1363  << hsimInfo5x5.eNeutralHad
1364  << " eChargedHad "
1365  << hsimInfo5x5.eChargedHad;
1366  edm::LogVerbatim("IsoTrack") << "hsimInfo7x7: eTotal "
1367  << hsimInfo7x7.eTotal << " eMatched "
1368  << hsimInfo7x7.eMatched << " eRest "
1369  << hsimInfo7x7.eRest << " eGamma "
1370  << hsimInfo7x7.eGamma
1371  << " eNeutralHad "
1372  << hsimInfo7x7.eNeutralHad
1373  << " eChargedHad "
1374  << hsimInfo7x7.eChargedHad;
1375  edm::LogVerbatim("IsoTrack") << "trkHcalEne " << trkHcalEne;
1376  }
1377  }
1378 
1379  // debug the ecal and hcal matrix
1380  if (myverbose_==4) {
1381  edm::LogVerbatim("IsoTrack") << "Run " << iEvent.id().run()
1382  << " Event " <<iEvent.id().event();
1383  std::vector<std::pair<DetId,double> > v7x7 = spr::eHCALmatrixCell(theHBHETopology, ClosestCell, hbhe,3,3, false, false);
1384  double sumv=0.0;
1385 
1386  for (unsigned int iv=0; iv<v7x7.size(); iv++) {
1387  sumv += v7x7[iv].second;
1388  }
1389  edm::LogVerbatim("IsoTrack") << "h7x7 " << h7x7 << " v7x7 " << sumv
1390  << " in " << v7x7.size();
1391  for(unsigned int iv=0; iv<v7x7.size(); iv++) {
1392  HcalDetId id = v7x7[iv].first;
1393  edm::LogVerbatim("IsoTrack") << " Cell " << iv << " 0x"
1394  << std::hex << v7x7[iv].first()
1395  << std::dec << " " << id <<" Energy "
1396  << v7x7[iv].second;
1397  }
1398  }
1399 
1400  }
1401  if (doMC_) {
1402  trkHcalEne = spr::eCaloSimInfo(iEvent, geo,pcalohh, SimTk, SimVtx, pTrack, *associate);
1403  }
1404 
1405  // ====================================================================================================
1406  // get diff between track outermost hit position and the propagation point at outermost surface of tracker
1407  std::pair<math::XYZPoint,double> point2_TK0 = spr::propagateTrackerEnd( pTrack, bField, false);
1408  math::XYZPoint diff(pTrack->outerPosition().X()-point2_TK0.first.X(),
1409  pTrack->outerPosition().Y()-point2_TK0.first.Y(),
1410  pTrack->outerPosition().Z()-point2_TK0.first.Z() );
1411  double trackOutPosOutHitDr = diff.R();
1412  double trackL = point2_TK0.second;
1413  if (myverbose_==5) {
1414  edm::LogVerbatim("IsoTrack") << " propagted " << point2_TK0.first
1415  << " " << point2_TK0.first.eta() << " "
1416  << point2_TK0.first.phi();
1417  edm::LogVerbatim("IsoTrack") << " outerPosition() "
1418  << pTrack->outerPosition() << " "
1419  << pTrack->outerPosition().eta() << " "
1420  << pTrack->outerPosition().phi();
1421  edm::LogVerbatim("IsoTrack") <<"diff " << diff << " diffR "
1422  << diff.R() << " diffR/L "
1423  << diff.R()/point2_TK0.second;
1424  }
1425 
1426  for (unsigned int ind=0;ind<recVtxs->size();ind++) {
1427  if (!((*recVtxs)[ind].isFake())) {
1428  reco::Vertex::trackRef_iterator vtxTrack = (*recVtxs)[ind].tracks_begin();
1429  if (deltaR(eta1,phi1, (*vtxTrack)->eta(),(*vtxTrack)->phi()) < 0.01 ) t_trackPVIdx ->push_back( ind );
1430  else t_trackPVIdx ->push_back( -1 );
1431  }
1432  }
1433 
1434  // Fill the tree Branches here
1435  t_trackPVIdx ->push_back( pVtxTkId );
1436  t_trackP ->push_back( p1 );
1437  t_trackPt ->push_back( pt1 );
1438  t_trackEta ->push_back( eta1 );
1439  t_trackPhi ->push_back( phi1 );
1440  t_trackEcalEta ->push_back( etaEcal1 );
1441  t_trackEcalPhi ->push_back( phiEcal1 );
1442  t_trackHcalEta ->push_back( etaHcal1 );
1443  t_trackHcalPhi ->push_back( phiHcal1 );
1444  t_trackDxy ->push_back( dxy1 );
1445  t_trackDz ->push_back( dz1 );
1446  t_trackDxyBS ->push_back( dxybs1 );
1447  t_trackDzBS ->push_back( dzbs1 );
1448  t_trackDxyPV ->push_back( dxypv1 );
1449  t_trackDzPV ->push_back( dzpv1 );
1450  t_trackChiSq ->push_back( chisq1 );
1451  t_trackNOuterHits ->push_back( nOuterHits );
1452  t_NLayersCrossed ->push_back( nLayersCrossed );
1453 
1454  t_trackHitsTOB ->push_back( hitp.stripTOBLayersWithMeasurement() );
1455  t_trackHitsTEC ->push_back( hitp.stripTECLayersWithMeasurement() );
1461 
1467 
1468  t_trackHitInMeasTOB ->push_back( hitp.stripTOBLayersWithMeasurement() );
1469  t_trackHitInMeasTEC ->push_back( hitp.stripTECLayersWithMeasurement() );
1470  t_trackHitInMeasTIB ->push_back( hitp.stripTIBLayersWithMeasurement() );
1471  t_trackHitInMeasTID ->push_back( hitp.stripTIDLayersWithMeasurement() );
1473  t_trackHitOutMeasTEC ->push_back( hitp.stripTECLayersWithMeasurement() );
1476  t_trackOutPosOutHitDr ->push_back( trackOutPosOutHitDr );
1477  t_trackL ->push_back( trackL );
1478 
1479  t_maxNearP31x31 ->push_back( maxNearP31x31 );
1480  t_maxNearP21x21 ->push_back( maxNearP21x21 );
1481 
1482  t_ecalSpike11x11 ->push_back( e11x11P.second );
1483  t_e7x7 ->push_back( e7x7P.first );
1484  t_e9x9 ->push_back( e9x9P.first );
1485  t_e11x11 ->push_back( e11x11P.first );
1486  t_e15x15 ->push_back( e15x15P.first );
1487 
1488  t_e7x7_10Sig ->push_back( e7x7_10SigP.first );
1489  t_e9x9_10Sig ->push_back( e9x9_10SigP.first );
1490  t_e11x11_10Sig ->push_back( e11x11_10SigP.first );
1491  t_e15x15_10Sig ->push_back( e15x15_10SigP.first );
1492  t_e7x7_15Sig ->push_back( e7x7_15SigP.first );
1493  t_e9x9_15Sig ->push_back( e9x9_15SigP.first );
1494  t_e11x11_15Sig ->push_back( e11x11_15SigP.first );
1495  t_e15x15_15Sig ->push_back( e15x15_15SigP.first );
1496  t_e7x7_20Sig ->push_back( e7x7_20SigP.first );
1497  t_e9x9_20Sig ->push_back( e9x9_20SigP.first );
1498  t_e11x11_20Sig ->push_back( e11x11_20SigP.first );
1499  t_e15x15_20Sig ->push_back( e15x15_20SigP.first );
1500  t_e7x7_25Sig ->push_back( e7x7_25SigP.first );
1501  t_e9x9_25Sig ->push_back( e9x9_25SigP.first );
1502  t_e11x11_25Sig ->push_back( e11x11_25SigP.first );
1503  t_e15x15_25Sig ->push_back( e15x15_25SigP.first );
1504  t_e7x7_30Sig ->push_back( e7x7_30SigP.first );
1505  t_e9x9_30Sig ->push_back( e9x9_30SigP.first );
1506  t_e11x11_30Sig ->push_back( e11x11_30SigP.first );
1507  t_e15x15_30Sig ->push_back( e15x15_30SigP.first );
1508 
1509  if (doMC_) {
1510  t_esim7x7 ->push_back( simInfo7x7.eTotal );
1511  t_esim9x9 ->push_back( simInfo9x9.eTotal );
1512  t_esim11x11 ->push_back( simInfo11x11.eTotal );
1513  t_esim15x15 ->push_back( simInfo15x15.eTotal );
1514 
1515  t_esim7x7Matched ->push_back( simInfo7x7.eMatched );
1516  t_esim9x9Matched ->push_back( simInfo9x9.eMatched );
1517  t_esim11x11Matched ->push_back( simInfo11x11.eMatched );
1518  t_esim15x15Matched ->push_back( simInfo15x15.eMatched );
1519 
1520  t_esim7x7Rest ->push_back( simInfo7x7.eRest );
1521  t_esim9x9Rest ->push_back( simInfo9x9.eRest );
1522  t_esim11x11Rest ->push_back( simInfo11x11.eRest );
1523  t_esim15x15Rest ->push_back( simInfo15x15.eRest );
1524 
1525  t_esim7x7Photon ->push_back( simInfo7x7.eGamma );
1526  t_esim9x9Photon ->push_back( simInfo9x9.eGamma );
1527  t_esim11x11Photon ->push_back( simInfo11x11.eGamma );
1528  t_esim15x15Photon ->push_back( simInfo15x15.eGamma );
1529 
1530  t_esim7x7NeutHad ->push_back( simInfo7x7.eNeutralHad );
1531  t_esim9x9NeutHad ->push_back( simInfo9x9.eNeutralHad );
1532  t_esim11x11NeutHad ->push_back( simInfo11x11.eNeutralHad );
1533  t_esim15x15NeutHad ->push_back( simInfo15x15.eNeutralHad );
1534 
1535  t_esim7x7CharHad ->push_back( simInfo7x7.eChargedHad );
1536  t_esim9x9CharHad ->push_back( simInfo9x9.eChargedHad );
1537  t_esim11x11CharHad ->push_back( simInfo11x11.eChargedHad );
1538  t_esim15x15CharHad ->push_back( simInfo15x15.eChargedHad );
1539 
1540  t_trkEcalEne ->push_back( trkEcalEne );
1541  t_simTrackP ->push_back( simTrackP );
1542  t_esimPdgId ->push_back( simInfo11x11.pdgMatched );
1543  }
1544 
1545  t_maxNearHcalP3x3 ->push_back( maxNearHcalP3x3 );
1546  t_maxNearHcalP5x5 ->push_back( maxNearHcalP5x5 );
1547  t_maxNearHcalP7x7 ->push_back( maxNearHcalP7x7 );
1548 
1549  t_h3x3 ->push_back( h3x3 );
1550  t_h5x5 ->push_back( h5x5 );
1551  t_h7x7 ->push_back( h7x7 );
1552  t_h3x3Sig ->push_back( h3x3Sig );
1553  t_h5x5Sig ->push_back( h5x5Sig );
1554  t_h7x7Sig ->push_back( h7x7Sig );
1555 
1556  t_infoHcal ->push_back( trkDetItr->okHCAL );
1557  if (doMC_) {
1558  t_trkHcalEne ->push_back( hcalScale*trkHcalEne );
1559 
1560  t_hsim3x3 ->push_back( hcalScale*hsimInfo3x3.eTotal );
1561  t_hsim5x5 ->push_back( hcalScale*hsimInfo5x5.eTotal );
1562  t_hsim7x7 ->push_back( hcalScale*hsimInfo7x7.eTotal );
1563 
1564  t_hsim3x3Matched ->push_back( hcalScale*hsimInfo3x3.eMatched );
1565  t_hsim5x5Matched ->push_back( hcalScale*hsimInfo5x5.eMatched );
1566  t_hsim7x7Matched ->push_back( hcalScale*hsimInfo7x7.eMatched );
1567 
1568  t_hsim3x3Rest ->push_back( hcalScale*hsimInfo3x3.eRest );
1569  t_hsim5x5Rest ->push_back( hcalScale*hsimInfo5x5.eRest );
1570  t_hsim7x7Rest ->push_back( hcalScale*hsimInfo7x7.eRest );
1571 
1572  t_hsim3x3Photon ->push_back( hcalScale*hsimInfo3x3.eGamma );
1573  t_hsim5x5Photon ->push_back( hcalScale*hsimInfo5x5.eGamma );
1574  t_hsim7x7Photon ->push_back( hcalScale*hsimInfo7x7.eGamma );
1575 
1576  t_hsim3x3NeutHad ->push_back( hcalScale*hsimInfo3x3.eNeutralHad );
1577  t_hsim5x5NeutHad ->push_back( hcalScale*hsimInfo5x5.eNeutralHad );
1578  t_hsim7x7NeutHad ->push_back( hcalScale*hsimInfo7x7.eNeutralHad );
1579 
1580  t_hsim3x3CharHad ->push_back( hcalScale*hsimInfo3x3.eChargedHad );
1581  t_hsim5x5CharHad ->push_back( hcalScale*hsimInfo5x5.eChargedHad );
1582  t_hsim7x7CharHad ->push_back( hcalScale*hsimInfo7x7.eChargedHad );
1583  }
1584 
1585  } // if loosely isolated track
1586  } // check p1/eta
1587  } // loop over track collection
1588 
1589  if(haveIsoTrack) tree_->Fill();
1590 }
RunNumber_t run() const
Definition: EventID.h:39
std::vector< double > * t_hsim7x7CharHad
double p() const
momentum vector magnitude
Definition: TrackBase.h:615
std::vector< double > * t_hsim3x3Matched
int stripTOBLayersWithMeasurement() const
Definition: HitPattern.cc:606
std::vector< double > * t_esim7x7CharHad
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extCenJet_
const std::string & gtTriggerMenuName() const
std::vector< double > * t_e15x15
value_type const * get() const
Definition: RefToBase.h:234
std::vector< double > * t_nTrksJetCalo
const bool L1TriggerAlgoInfo_
EventNumber_t event() const
Definition: EventID.h:41
std::vector< double > * t_maxNearHcalP7x7
std::vector< double > * t_trackPt
std::vector< double > * t_trackPAll
std::vector< double > * t_e7x7
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, const std::string &theTrackQuality, bool debug=false)
std::vector< double > * t_trackHcalPhi
std::vector< double > * t_trackDxyPVAll
const unsigned int nTracks(const reco::Vertex &sv)
std::vector< int > * t_trackHitOutMeasTEC
std::vector< double > * t_trackPdgIdAll
void eCaloSimInfo(std::vector< DetId > vdets, const CaloGeometry *geo, edm::Handle< T > &hitsEB, edm::Handle< T > &hitsEE, edm::Handle< edm::SimTrackContainer > &SimTk, edm::Handle< edm::SimVertexContainer > &SimVtx, edm::SimTrackContainer::const_iterator trkInfo, caloSimInfo &info, double timeCut=150, bool debug=false)
std::vector< double > * t_trackOutPosOutHitDr
std::vector< double > * t_maxNearHcalP5x5
std::vector< double > * t_L1NonIsoEMPt
std::vector< int > * t_trackHitOutMeasTIB
std::vector< double > * t_esim7x7
std::vector< int > * t_trackHitInMissTOB
std::vector< double > * t_trackDz
std::map< std::string, double > eHCALSimInfo(const edm::Event &, const HcalTopology *topology, const DetId &det, const CaloGeometry *geo, edm::Handle< T > &hits, edm::Handle< edm::SimTrackContainer > &SimTk, edm::Handle< edm::SimVertexContainer > &SimVtx, const reco::Track *pTrack, TrackerHitAssociator &associate, int ieta, int iphi, double timeCut=150, bool includeHO=false, bool debug=false)
std::vector< double > * t_trackEcalEta
int stripTIBLayersWithMeasurement() const
Definition: HitPattern.cc:584
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:561
std::vector< double > * t_trackEtaAll
std::map< std::pair< unsigned int, std::string >, int > l1AlgoMap_
std::vector< double > * t_esim11x11Matched
std::vector< double > * t_L1IsoEMEta
std::vector< double > * t_PVTracksSumPt
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
std::vector< double > * t_e9x9_10Sig
TH1F * h_maxNearP25x25[NPBins][NEtaBins]
TrackQuality
track quality
Definition: TrackBase.h:151
std::vector< double > * t_hsim3x3CharHad
int stripTOBLayersWithoutMeasurement(HitCategory category) const
Definition: HitPattern.cc:674
std::vector< int > * t_PVndof
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
std::vector< double > * t_hsim7x7Rest
std::vector< double > * t_L1TauJetPhi
std::vector< double > * t_PVTracksSumPtWt
const bool availableL1Configuration(int &errorCode, int &l1ConfCode) const
Definition: L1GtUtils.cc:1948
std::vector< int > * t_infoHcal
std::vector< double > * t_e11x11_15Sig
std::vector< double > * t_L1TauJetPt
std::vector< int > * t_PVNTracksWt
std::vector< double > * t_trackEcalPhi
std::vector< double > * t_esim11x11NeutHad
std::vector< double > * t_L1TauJetEta
std::vector< double > * t_e15x15_15Sig
std::vector< double > * t_L1MuonEta
std::vector< double > * t_L1MuonPt
int bunchCrossing() const
Definition: EventBase.h:66
std::vector< double > * t_h3x3
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:63
std::vector< double > * t_L1MuonPhi
const bool decision(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
Definition: L1GtUtils.cc:1208
Definition: weight.py:1
std::vector< double > * t_trackDxyAll
std::vector< double > * t_maxNearHcalP3x3
edm::EDGetTokenT< edm::SimVertexContainer > tok_simVtx_
std::vector< double > * t_hsim3x3Photon
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:675
std::vector< double > * t_PVTracksSumPtHP
const math::XYZPoint & outerPosition() const
position of the outermost hit
Definition: Track.h:65
std::vector< double > * t_esim11x11Rest
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:520
const double maxTrackEta_
std::vector< int > * t_trackNOuterHits
std::vector< double > * t_h7x7Sig
std::vector< double > * t_e15x15_30Sig
std::vector< double > * t_trackPhiAll
std::vector< double > * t_e7x7_25Sig
double genPartPBins[NPBins+1]
std::vector< double > * t_trkHcalEne
double deltaR(double eta1, double phi1, double eta2, double phi2)
std::vector< double > * t_e7x7_20Sig
std::vector< double > * t_e11x11_10Sig
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
std::vector< double > * t_trackPtAll
std::vector< double > * t_h3x3Sig
static size_t NEtaBins
std::vector< double > * t_esimPdgId
double eNeutralHad
Definition: CaloSimInfo.h:47
double eChargedHad
Definition: CaloSimInfo.h:48
std::vector< double > * t_e11x11_20Sig
std::vector< double > * t_jetEta
std::vector< double > * t_maxNearP31x31
std::vector< int > * t_trackHitInMissTEC
double chargeIsolationEcal(unsigned int trkIndex, std::vector< spr::propagatedTrackID > &vdetIds, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, bool debug=false)
std::vector< double > * t_trkEcalEne
std::vector< double > * t_trackEta
std::vector< double > * t_esim9x9Photon
std::vector< int > * t_trackHitInMeasTID
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:651
std::vector< double > * t_hsim5x5Rest
std::vector< double > * t_e11x11
std::vector< double > * t_esim15x15
edm::EDGetTokenT< edm::SimTrackContainer > tok_simTk_
std::vector< double > * t_L1CenJetPt
std::vector< double > * t_trackChiSqAll
std::vector< double > * t_e15x15_25Sig
std::vector< int > * t_trackHitOutMissTIB
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloHH_
std::vector< double > * t_esim15x15Rest
std::vector< double > * t_esim11x11
std::vector< double > * t_hsim7x7
std::vector< int > * t_PVNTracksHPWt
int stripTIDLayersWithMeasurement() const
Definition: HitPattern.cc:595
std::vector< int > * t_trackHitOutMissTID
std::vector< int > * t_trackHitOutMissTOBTEC
vector< PseudoJet > jets
double pt() const
track transverse momentum
Definition: TrackBase.h:621
std::vector< int > * t_trackHitsTEC
std::vector< double > * t_e9x9_30Sig
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloEB_
std::vector< double > * t_L1CenJetPhi
std::vector< double > * t_L1FwdJetEta
std::vector< double > * t_h7x7
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< int > * t_ecalSpike11x11
std::vector< double > * t_esim15x15NeutHad
std::vector< double > * t_e9x9_20Sig
std::vector< int > * t_trackHitOutMeasTOB
std::vector< int > * t_trackHitInMeasTIB
edm::SimTrackContainer::const_iterator matchedSimTrack(const edm::Event &iEvent, edm::Handle< edm::SimTrackContainer > &SimTk, edm::Handle< edm::SimVertexContainer > &SimVtx, const reco::Track *pTrack, TrackerHitAssociator &associate, bool debug=false)
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
std::vector< double > * t_trackDzPV
std::vector< int > * t_PVNTracksHP
std::vector< double > * t_L1FwdJetPhi
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extFwdJet_
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1extIsoEm_
std::vector< double > * t_nTrksJetVtx
bool isValid() const
Definition: HandleBase.h:74
std::vector< double > * t_esim7x7NeutHad
std::vector< double > * t_hsim3x3NeutHad
std::vector< double > * t_L1NonIsoEMPhi
std::vector< double > * t_trackDzBS
std::vector< int > * t_trackHitOutMissTOB
std::vector< double > * t_L1CenJetEta
std::vector< double > * t_trackDzPVAll
edm::EDGetTokenT< l1extra::L1MuonParticleCollection > tok_L1extMu_
ii
Definition: cuy.py:590
std::vector< double > * t_esim7x7Matched
std::vector< double > * t_esim9x9
std::vector< double > * t_hsim5x5
std::vector< double > * t_h5x5
std::vector< double > * t_trackDxyPV
std::vector< double > * t_hsim5x5NeutHad
std::vector< double > * t_trackChiSq
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:609
std::vector< double > * t_hsim5x5Photon
std::vector< double > * t_PVy
std::vector< int > * t_L1PreScale
std::vector< double > * t_hsim3x3Rest
int stripTIDLayersWithoutMeasurement(HitCategory category) const
Definition: HitPattern.cc:663
Definition: DetId.h:18
std::vector< int > * t_PVisValid
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:125
std::vector< double > * t_esim9x9Rest
std::vector< int > * t_trackHitInMissTIB
std::vector< double > * t_e9x9_15Sig
std::vector< double > * t_e7x7_15Sig
std::vector< double > * t_trackPhi
T const * product() const
Definition: Handle.h:81
std::vector< double > * t_e7x7_10Sig
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:446
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
const double pvTracksPtMin_
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1extNoIsoEm_
std::vector< double > * t_trackDzAll
edm::EDGetTokenT< reco::VertexCollection > tok_recVtx_
TH1F * h_maxNearP31x31[NPBins][NEtaBins]
std::vector< double > * t_esim11x11CharHad
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloEE_
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
TH1F * h_maxNearP15x15[NPBins][NEtaBins]
std::vector< double > * t_e9x9_25Sig
void eECALSimInfo(const edm::Event &, const DetId &det, const CaloGeometry *geo, const CaloTopology *caloTopology, edm::Handle< T > &hitsEB, edm::Handle< T > &hitsEE, edm::Handle< edm::SimTrackContainer > &SimTk, edm::Handle< edm::SimVertexContainer > &SimVtx, const reco::Track *pTrack, TrackerHitAssociator &associate, int ieta, int iphi, caloSimInfo &info, double timeCut=150, bool debug=false)
std::vector< double > * t_esim7x7Photon
static const bool useL1GtTriggerMenuLite(true)
std::vector< double > * t_esim9x9NeutHad
std::vector< double > * t_L1FwdJetPt
std::vector< double > * t_simTrackP
std::vector< double > * t_hsim7x7Matched
std::vector< int > * t_trackPVIdx
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:510
std::vector< int > * t_trackHitsTOB
std::vector< double > * t_esim9x9Matched
std::vector< double > * t_hsim7x7NeutHad
std::vector< double > * t_L1IsoEMPhi
std::vector< int > * t_PVNTracks
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
std::vector< double > * t_maxNearP21x21
TrackerHitAssociator::Config trackerHitAssociatorConfig_
edm::EventID id() const
Definition: EventBase.h:60
std::vector< double > * t_L1NonIsoEMEta
double p1[4]
Definition: TauolaWrapper.h:89
std::vector< double > * t_PVz
std::pair< math::XYZPoint, double > propagateTrackerEnd(const reco::Track *, const MagneticField *, bool debug=false)
std::vector< double > * t_e15x15_20Sig
void getL1GtRunCache(const edm::Run &, const edm::EventSetup &, const bool, const bool)
get all the run-constant quantities for L1 trigger and cache them
Definition: L1GtUtils.cc:319
T get() const
Definition: EventSetup.h:62
std::vector< double > * t_PVTracksSumPtHPWt
std::vector< double > * t_trackDxy
std::vector< std::string > * t_L1AlgoNames
std::vector< double > * t_hsim5x5CharHad
std::vector< double > * t_e15x15_10Sig
const AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
int stripTECLayersWithMeasurement() const
Definition: HitPattern.cc:617
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Definition: Vertex.h:37
TH1F * h_maxNearP21x21[NPBins][NEtaBins]
int stripTECLayersWithoutMeasurement(HitCategory category) const
Definition: HitPattern.cc:685
std::vector< double > * t_jetPhi
std::vector< double > * t_trackL
std::vector< double > * t_esim7x7Rest
std::vector< double > * t_trackDxyBS
const Point & position() const
position
Definition: BeamSpot.h:62
std::vector< double > * t_trackHcalEta
std::vector< int > * t_NLayersCrossed
edm::EDGetTokenT< reco::CaloJetCollection > tok_jets_
std::vector< std::pair< DetId, double > > eHCALmatrixCell(const HcalTopology *topology, const DetId &det, edm::Handle< T > &hits, int ieta, int iphi, bool includeHO=false, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, bool debug=false)
std::vector< int > * t_trackHitInMeasTOB
std::vector< double > * t_PVx
std::vector< int > * t_trackHitInMeasTEC
std::vector< double > * t_esim15x15Photon
std::vector< double > * t_e9x9
std::vector< double > * t_hsim5x5Matched
const L1GtTriggerMenu * ptrL1TriggerMenuEventSetup(int &errorCode)
return a pointer to the L1 trigger menu from event setup
Definition: L1GtUtils.cc:1883
double genPartEtaBins[NEtaBins+1]
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:591
std::vector< double > * t_esim15x15Matched
double chargeIsolationHcal(unsigned int trkIndex, std::vector< spr::propagatedTrackID > &vdetIds, const HcalTopology *topology, int ieta, int iphi, bool debug=false)
std::vector< int > * t_trackHitOutMeasTID
std::vector< double > * t_e7x7_30Sig
T const * product() const
Definition: ESHandle.h:86
std::vector< int > * t_trackHitOutMissTEC
std::vector< double > * t_e11x11_25Sig
std::vector< double > * t_hsim3x3
std::vector< double > * t_trackP
std::vector< double > * t_hsim7x7Photon
std::vector< double > * t_jetPt
static const bool useL1EventSetup(true)
std::vector< double > * t_L1IsoEMPt
std::vector< double > * t_esim11x11Photon
int stripTIBLayersWithoutMeasurement(HitCategory category) const
Definition: HitPattern.cc:652
std::vector< double > * t_h5x5Sig
std::vector< int > * t_trackHitInMissTID
std::vector< double > * t_e11x11_30Sig
std::vector< int > * t_trackHitInMissTIBTID
std::vector< double > * t_esim9x9CharHad
double eECALmatrix(const DetId &detId, edm::Handle< T > &hitsEB, edm::Handle< T > &hitsEE, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, double ebThr=-100, double eeThr=-100, double tMin=-500, double tMax=500, bool debug=false)
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
double eHCALmatrix(const HcalTopology *topology, const DetId &det, edm::Handle< T > &hits, int ieta, int iphi, bool includeHO=false, bool algoNew=true, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, double tMin=-500, double tMax=500, int useRaw=0, bool debug=false)
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extTauJet_
std::vector< double > * t_esim15x15CharHad
const int prescaleFactor(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return prescale factor for a given algorithm or technical trigger
Definition: L1GtUtils.cc:1223
void IsolatedTracksNxN::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 1593 of file IsolatedTracksNxN.cc.

References bookHistograms(), genPartEtaBins, genPartPBins, mps_fire::i, initL1_, nbad_, NEtaBins, nEventProc_, and NPBins.

1593  {
1594 
1595  nEventProc_ = 0;
1596  nbad_ = 0;
1597  initL1_ = false;
1598  double tempgen_TH[NPBins+1] = { 0.0, 1.0, 2.0, 3.0, 4.0,
1599  5.0, 6.0, 7.0, 9.0, 11.0,
1600  15.0, 20.0, 30.0, 50.0, 75.0, 100.0};
1601 
1602  for (unsigned int i=0; i<NPBins+1; i++) genPartPBins[i] = tempgen_TH[i];
1603 
1604  double tempgen_Eta[NEtaBins+1] = {0.0, 1.131, 1.653, 2.172};
1605 
1606  for (unsigned int i=0; i<NEtaBins+1; i++) genPartEtaBins[i] = tempgen_Eta[i];
1607 
1608  bookHistograms();
1609 }
double genPartPBins[NPBins+1]
static size_t NEtaBins
double genPartEtaBins[NEtaBins+1]
void IsolatedTracksNxN::bookHistograms ( )
private

Definition at line 1834 of file IsolatedTracksNxN.cc.

References dir, doMC_, genPartEtaBins, genPartPBins, h_L1AlgoNames, h_maxNearP15x15, h_maxNearP21x21, h_maxNearP25x25, h_maxNearP31x31, h_nTracks, h_PVTracksWt, h_recEta_0, h_recEta_1, h_recEta_2, h_recEtaP_0, h_recEtaP_1, h_recEtaP_2, h_recEtaPt_0, h_recEtaPt_1, h_recEtaPt_2, h_recP_0, h_recP_1, h_recP_2, h_recPhi_0, h_recPhi_1, h_recPhi_2, h_recPt_0, h_recPt_1, h_recPt_2, mps_fire::i, TFileDirectory::make(), TFileService::make(), TFileService::mkdir(), NEtaBins, NPBins, t_Bunch, t_e11x11, t_e11x11_10Sig, t_e11x11_15Sig, t_e11x11_20Sig, t_e11x11_25Sig, t_e11x11_30Sig, t_e15x15, t_e15x15_10Sig, t_e15x15_15Sig, t_e15x15_20Sig, t_e15x15_25Sig, t_e15x15_30Sig, t_e7x7, t_e7x7_10Sig, t_e7x7_15Sig, t_e7x7_20Sig, t_e7x7_25Sig, t_e7x7_30Sig, t_e9x9, t_e9x9_10Sig, t_e9x9_15Sig, t_e9x9_20Sig, t_e9x9_25Sig, t_e9x9_30Sig, t_ecalSpike11x11, t_esim11x11, t_esim11x11CharHad, t_esim11x11Matched, t_esim11x11NeutHad, t_esim11x11Photon, t_esim11x11Rest, t_esim15x15, t_esim15x15CharHad, t_esim15x15Matched, t_esim15x15NeutHad, t_esim15x15Photon, t_esim15x15Rest, t_esim7x7, t_esim7x7CharHad, t_esim7x7Matched, t_esim7x7NeutHad, t_esim7x7Photon, t_esim7x7Rest, t_esim9x9, t_esim9x9CharHad, t_esim9x9Matched, t_esim9x9NeutHad, t_esim9x9Photon, t_esim9x9Rest, t_esimPdgId, t_EvtNo, t_h3x3, t_h3x3Sig, t_h5x5, t_h5x5Sig, t_h7x7, t_h7x7Sig, t_hsim3x3, t_hsim3x3CharHad, t_hsim3x3Matched, t_hsim3x3NeutHad, t_hsim3x3Photon, t_hsim3x3Rest, t_hsim5x5, t_hsim5x5CharHad, t_hsim5x5Matched, t_hsim5x5NeutHad, t_hsim5x5Photon, t_hsim5x5Rest, t_hsim7x7, t_hsim7x7CharHad, t_hsim7x7Matched, t_hsim7x7NeutHad, t_hsim7x7Photon, t_hsim7x7Rest, t_infoHcal, t_jetEta, t_jetPhi, t_jetPt, t_L1AlgoNames, t_L1CenJetEta, t_L1CenJetPhi, t_L1CenJetPt, t_L1Decision, t_L1FwdJetEta, t_L1FwdJetPhi, t_L1FwdJetPt, t_L1IsoEMEta, t_L1IsoEMPhi, t_L1IsoEMPt, t_L1METEta, t_L1METPhi, t_L1METPt, t_L1MuonEta, t_L1MuonPhi, t_L1MuonPt, t_L1NonIsoEMEta, t_L1NonIsoEMPhi, t_L1NonIsoEMPt, t_L1PreScale, t_L1TauJetEta, t_L1TauJetPhi, t_L1TauJetPt, t_Lumi, t_maxNearHcalP3x3, t_maxNearHcalP5x5, t_maxNearHcalP7x7, t_maxNearP21x21, t_maxNearP31x31, t_NLayersCrossed, t_nTracks, t_nTrksJetCalo, t_nTrksJetVtx, t_PVisValid, t_PVndof, t_PVNTracks, t_PVNTracksHP, t_PVNTracksHPWt, t_PVNTracksWt, t_PVTracksSumPt, t_PVTracksSumPtHP, t_PVTracksSumPtHPWt, t_PVTracksSumPtWt, t_PVx, t_PVy, t_PVz, t_RunNo, t_simTrackP, t_trackChiSq, t_trackChiSqAll, t_trackDxy, t_trackDxyAll, t_trackDxyBS, t_trackDxyPV, t_trackDxyPVAll, t_trackDz, t_trackDzAll, t_trackDzBS, t_trackDzPV, t_trackDzPVAll, t_trackEcalEta, t_trackEcalPhi, t_trackEta, t_trackEtaAll, t_trackHcalEta, t_trackHcalPhi, t_trackHitInMeasTEC, t_trackHitInMeasTIB, t_trackHitInMeasTID, t_trackHitInMeasTOB, t_trackHitInMissTEC, t_trackHitInMissTIB, t_trackHitInMissTIBTID, t_trackHitInMissTID, t_trackHitInMissTOB, t_trackHitOutMeasTEC, t_trackHitOutMeasTIB, t_trackHitOutMeasTID, t_trackHitOutMeasTOB, t_trackHitOutMissTEC, t_trackHitOutMissTIB, t_trackHitOutMissTID, t_trackHitOutMissTOB, t_trackHitOutMissTOBTEC, t_trackHitsTEC, t_trackHitsTOB, t_trackL, t_trackNOuterHits, t_trackOutPosOutHitDr, t_trackP, t_trackPAll, t_trackPdgIdAll, t_trackPhi, t_trackPhiAll, t_trackPt, t_trackPtAll, t_trackPVIdx, t_trkEcalEne, t_trkHcalEne, and tree_.

Referenced by beginJob().

1834  {
1835 
1836  char hname[100], htit[100];
1837 
1839  TFileDirectory dir = fs->mkdir("nearMaxTrackP");
1840 
1841  for(unsigned int ieta=0; ieta<NEtaBins; ieta++) {
1842  double lowEta=-5.0, highEta= 5.0;
1843  lowEta = genPartEtaBins[ieta];
1844  highEta = genPartEtaBins[ieta+1];
1845 
1846  for(unsigned int ipt=0; ipt<NPBins; ipt++) {
1847  double lowP=0.0, highP=300.0;
1848  lowP = genPartPBins[ipt];
1849  highP = genPartPBins[ipt+1];
1850  sprintf(hname, "h_maxNearP31x31_ptBin%i_etaBin%i",ipt, ieta);
1851  sprintf(htit, "maxNearP in 31x31 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1852  h_maxNearP31x31[ipt][ieta] = dir.make<TH1F>(hname, htit, 220, -2.0, 20.0);
1853  h_maxNearP31x31[ipt][ieta] ->Sumw2();
1854  sprintf(hname, "h_maxNearP25x25_ptBin%i_etaBin%i",ipt, ieta);
1855  sprintf(htit, "maxNearP in 25x25 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1856  h_maxNearP25x25[ipt][ieta] = dir.make<TH1F>(hname, htit, 220, -2.0, 20.0);
1857  h_maxNearP25x25[ipt][ieta] ->Sumw2();
1858  sprintf(hname, "h_maxNearP21x21_ptBin%i_etaBin%i",ipt, ieta);
1859  sprintf(htit, "maxNearP in 21x21 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1860  h_maxNearP21x21[ipt][ieta] = dir.make<TH1F>(hname, htit, 220, -2.0, 20.0);
1861  h_maxNearP21x21[ipt][ieta] ->Sumw2();
1862  sprintf(hname, "h_maxNearP15x15_ptBin%i_etaBin%i",ipt, ieta);
1863  sprintf(htit, "maxNearP in 15x15 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1864  h_maxNearP15x15[ipt][ieta] = dir.make<TH1F>(hname, htit, 220, -2.0, 20.0);
1865  h_maxNearP15x15[ipt][ieta] ->Sumw2();
1866  }
1867  }
1868 
1869  h_L1AlgoNames = fs->make<TH1I>("h_L1AlgoNames", "h_L1AlgoNames:Bin Labels", 128, -0.5, 127.5);
1870 
1871  // Reconstructed Tracks
1872 
1873  h_PVTracksWt = fs->make<TH1F>("h_PVTracksWt", "h_PVTracksWt", 600, -0.1, 1.1);
1874 
1875  h_nTracks = fs->make<TH1F>("h_nTracks", "h_nTracks", 1000, -0.5, 999.5);
1876 
1877  sprintf(hname, "h_recEtaPt_0");
1878  sprintf(htit, "h_recEtaPt (all tracks Eta vs pT)");
1879  h_recEtaPt_0 = fs->make<TH2F>(hname, htit, 30, -3.0,3.0, 15, genPartPBins);
1880 
1881  sprintf(hname, "h_recEtaP_0");
1882  sprintf(htit, "h_recEtaP (all tracks Eta vs pT)");
1883  h_recEtaP_0 = fs->make<TH2F>(hname, htit, 30, -3.0,3.0, 15, genPartPBins);
1884 
1885  h_recPt_0 = fs->make<TH1F>("h_recPt_0", "Pt (all tracks)", 15, genPartPBins);
1886  h_recP_0 = fs->make<TH1F>("h_recP_0", "P (all tracks)", 15, genPartPBins);
1887  h_recEta_0 = fs->make<TH1F>("h_recEta_0", "Eta (all tracks)", 60, -3.0, 3.0);
1888  h_recPhi_0 = fs->make<TH1F>("h_recPhi_0", "Phi (all tracks)", 100, -3.2, 3.2);
1889  //-------------------------
1890  sprintf(hname, "h_recEtaPt_1");
1891  sprintf(htit, "h_recEtaPt (all good tracks Eta vs pT)");
1892  h_recEtaPt_1 = fs->make<TH2F>(hname, htit, 30, -3.0,3.0, 15, genPartPBins);
1893 
1894  sprintf(hname, "h_recEtaP_1");
1895  sprintf(htit, "h_recEtaP (all good tracks Eta vs pT)");
1896  h_recEtaP_1 = fs->make<TH2F>(hname, htit, 30, -3.0, 3.0, 15, genPartPBins);
1897 
1898  h_recPt_1 = fs->make<TH1F>("h_recPt_1", "Pt (all good tracks)", 15, genPartPBins);
1899  h_recP_1 = fs->make<TH1F>("h_recP_1", "P (all good tracks)", 15, genPartPBins);
1900  h_recEta_1 = fs->make<TH1F>("h_recEta_1", "Eta (all good tracks)", 60, -3.0, 3.0);
1901  h_recPhi_1 = fs->make<TH1F>("h_recPhi_1", "Phi (all good tracks)", 100, -3.2, 3.2);
1902  //-------------------------
1903  sprintf(hname, "h_recEtaPt_2");
1904  sprintf(htit, "h_recEtaPt (charge isolation Eta vs pT)");
1905  h_recEtaPt_2 = fs->make<TH2F>(hname, htit, 30, -3.0, 3.0, 15, genPartPBins);
1906 
1907  sprintf(hname, "h_recEtaP_2");
1908  sprintf(htit, "h_recEtaP (charge isolation Eta vs pT)");
1909  h_recEtaP_2 = fs->make<TH2F>(hname, htit, 30, -3.0, 3.0, 15, genPartPBins);
1910 
1911  h_recPt_2 = fs->make<TH1F>("h_recPt_2", "Pt (charge isolation)", 15, genPartPBins);
1912  h_recP_2 = fs->make<TH1F>("h_recP_2", "P (charge isolation)", 15, genPartPBins);
1913  h_recEta_2 = fs->make<TH1F>("h_recEta_2", "Eta (charge isolation)", 60, -3.0, 3.0);
1914  h_recPhi_2 = fs->make<TH1F>("h_recPhi_2", "Phi (charge isolation)", 100, -3.2, 3.2);
1915 
1916  tree_ = fs->make<TTree>("tree", "tree");
1917  tree_->SetAutoSave(10000);
1918 
1919  tree_->Branch("t_EvtNo" ,&t_EvtNo ,"t_EvtNo/I");
1920  tree_->Branch("t_RunNo" ,&t_RunNo ,"t_RunNo/I");
1921  tree_->Branch("t_Lumi" ,&t_Lumi ,"t_Lumi/I");
1922  tree_->Branch("t_Bunch" ,&t_Bunch ,"t_Bunch/I");
1923 
1924  t_PVx = new std::vector<double>();
1925  t_PVy = new std::vector<double>();
1926  t_PVz = new std::vector<double>();
1927  t_PVisValid = new std::vector<int>();
1928  t_PVndof = new std::vector<int>();
1929  t_PVNTracks = new std::vector<int>();
1930  t_PVNTracksWt = new std::vector<int>();
1931  t_PVTracksSumPt = new std::vector<double>();
1932  t_PVTracksSumPtWt = new std::vector<double>();
1933  t_PVNTracksHP = new std::vector<int>();
1934  t_PVNTracksHPWt = new std::vector<int>();
1935  t_PVTracksSumPtHP = new std::vector<double>();
1936  t_PVTracksSumPtHPWt = new std::vector<double>();
1937 
1938  tree_->Branch("PVx" ,"std::vector<double>" ,&t_PVx);
1939  tree_->Branch("PVy" ,"std::vector<double>" ,&t_PVy);
1940  tree_->Branch("PVz" ,"std::vector<double>" ,&t_PVz);
1941  tree_->Branch("PVisValid" ,"std::vector<int>" ,&t_PVisValid);
1942  tree_->Branch("PVndof" ,"std::vector<int>" ,&t_PVndof);
1943  tree_->Branch("PVNTracks" ,"std::vector<int>" ,&t_PVNTracks);
1944  tree_->Branch("PVNTracksWt" ,"std::vector<int>" ,&t_PVNTracksWt);
1945  tree_->Branch("t_PVTracksSumPt" ,"std::vector<double>" ,&t_PVTracksSumPt);
1946  tree_->Branch("t_PVTracksSumPtWt" ,"std::vector<double>" ,&t_PVTracksSumPtWt);
1947  tree_->Branch("PVNTracksHP" ,"std::vector<int>" ,&t_PVNTracksHP);
1948  tree_->Branch("PVNTracksHPWt" ,"std::vector<int>" ,&t_PVNTracksHPWt);
1949  tree_->Branch("t_PVTracksSumPtHP" ,"std::vector<double>" ,&t_PVTracksSumPtHP);
1950  tree_->Branch("t_PVTracksSumPtHPWt" ,"std::vector<double>" ,&t_PVTracksSumPtHPWt);
1951 
1952  //----- L1Trigger information
1953  for(int i=0; i<128; i++) t_L1Decision[i]=0;
1954  t_L1AlgoNames = new std::vector<std::string>();
1955  t_L1PreScale = new std::vector<int>();
1956  t_L1CenJetPt = new std::vector<double>();
1957  t_L1CenJetEta = new std::vector<double>();
1958  t_L1CenJetPhi = new std::vector<double>();
1959  t_L1FwdJetPt = new std::vector<double>();
1960  t_L1FwdJetEta = new std::vector<double>();
1961  t_L1FwdJetPhi = new std::vector<double>();
1962  t_L1TauJetPt = new std::vector<double>();
1963  t_L1TauJetEta = new std::vector<double>();
1964  t_L1TauJetPhi = new std::vector<double>();
1965  t_L1MuonPt = new std::vector<double>();
1966  t_L1MuonEta = new std::vector<double>();
1967  t_L1MuonPhi = new std::vector<double>();
1968  t_L1IsoEMPt = new std::vector<double>();
1969  t_L1IsoEMEta = new std::vector<double>();
1970  t_L1IsoEMPhi = new std::vector<double>();
1971  t_L1NonIsoEMPt = new std::vector<double>();
1972  t_L1NonIsoEMEta = new std::vector<double>();
1973  t_L1NonIsoEMPhi = new std::vector<double>();
1974  t_L1METPt = new std::vector<double>();
1975  t_L1METEta = new std::vector<double>();
1976  t_L1METPhi = new std::vector<double>();
1977 
1978  tree_->Branch("t_L1Decision", t_L1Decision, "t_L1Decision[128]/I");
1979  tree_->Branch("t_L1AlgoNames", "std::vector<string>", &t_L1AlgoNames);
1980  tree_->Branch("t_L1PreScale", "std::vector<int>", &t_L1PreScale);
1981  tree_->Branch("t_L1CenJetPt", "std::vector<double>", &t_L1CenJetPt);
1982  tree_->Branch("t_L1CenJetEta", "std::vector<double>", &t_L1CenJetEta);
1983  tree_->Branch("t_L1CenJetPhi", "std::vector<double>", &t_L1CenJetPhi);
1984  tree_->Branch("t_L1FwdJetPt", "std::vector<double>", &t_L1FwdJetPt);
1985  tree_->Branch("t_L1FwdJetEta", "std::vector<double>", &t_L1FwdJetEta);
1986  tree_->Branch("t_L1FwdJetPhi", "std::vector<double>", &t_L1FwdJetPhi);
1987  tree_->Branch("t_L1TauJetPt", "std::vector<double>", &t_L1TauJetPt);
1988  tree_->Branch("t_L1TauJetEta", "std::vector<double>", &t_L1TauJetEta);
1989  tree_->Branch("t_L1TauJetPhi", "std::vector<double>", &t_L1TauJetPhi);
1990  tree_->Branch("t_L1MuonPt", "std::vector<double>", &t_L1MuonPt);
1991  tree_->Branch("t_L1MuonEta", "std::vector<double>", &t_L1MuonEta);
1992  tree_->Branch("t_L1MuonPhi", "std::vector<double>", &t_L1MuonPhi);
1993  tree_->Branch("t_L1IsoEMPt", "std::vector<double>", &t_L1IsoEMPt);
1994  tree_->Branch("t_L1IsoEMEta", "std::vector<double>", &t_L1IsoEMEta);
1995  tree_->Branch("t_L1IsoEMPhi", "std::vector<double>", &t_L1IsoEMPhi);
1996  tree_->Branch("t_L1NonIsoEMPt", "std::vector<double>", &t_L1NonIsoEMPt);
1997  tree_->Branch("t_L1NonIsoEMEta", "std::vector<double>", &t_L1NonIsoEMEta);
1998  tree_->Branch("t_L1NonIsoEMPhi", "std::vector<double>", &t_L1NonIsoEMPhi);
1999  tree_->Branch("t_L1METPt", "std::vector<double>", &t_L1METPt);
2000  tree_->Branch("t_L1METEta", "std::vector<double>", &t_L1METEta);
2001  tree_->Branch("t_L1METPhi", "std::vector<double>", &t_L1METPhi);
2002 
2003  t_jetPt = new std::vector<double>();
2004  t_jetEta = new std::vector<double>();
2005  t_jetPhi = new std::vector<double>();
2006  t_nTrksJetCalo = new std::vector<double>();
2007  t_nTrksJetVtx = new std::vector<double>();
2008  tree_->Branch("t_jetPt", "std::vector<double>",&t_jetPt);
2009  tree_->Branch("t_jetEta", "std::vector<double>",&t_jetEta);
2010  tree_->Branch("t_jetPhi", "std::vector<double>",&t_jetPhi);
2011  tree_->Branch("t_nTrksJetCalo", "std::vector<double>",&t_nTrksJetCalo);
2012  tree_->Branch("t_nTrksJetVtx", "std::vector<double>",&t_nTrksJetVtx);
2013 
2014  t_trackPAll = new std::vector<double>();
2015  t_trackEtaAll = new std::vector<double>();
2016  t_trackPhiAll = new std::vector<double>();
2017  t_trackPdgIdAll = new std::vector<double>();
2018  t_trackPtAll = new std::vector<double>();
2019  t_trackDxyAll = new std::vector<double>();
2020  t_trackDzAll = new std::vector<double>();
2021  t_trackDxyPVAll = new std::vector<double>();
2022  t_trackDzPVAll = new std::vector<double>();
2023  t_trackChiSqAll = new std::vector<double>();
2024  tree_->Branch("t_trackPAll", "std::vector<double>", &t_trackPAll );
2025  tree_->Branch("t_trackPhiAll", "std::vector<double>", &t_trackPhiAll );
2026  tree_->Branch("t_trackEtaAll", "std::vector<double>", &t_trackEtaAll );
2027  tree_->Branch("t_trackPtAll", "std::vector<double>", &t_trackPtAll );
2028  tree_->Branch("t_trackDxyAll", "std::vector<double>", &t_trackDxyAll );
2029  tree_->Branch("t_trackDzAll", "std::vector<double>", &t_trackDzAll );
2030  tree_->Branch("t_trackDxyPVAll", "std::vector<double>", &t_trackDxyPVAll );
2031  tree_->Branch("t_trackDzPVAll", "std::vector<double>", &t_trackDzPVAll );
2032  tree_->Branch("t_trackChiSqAll", "std::vector<double>", &t_trackChiSqAll );
2033  //tree_->Branch("t_trackPdgIdAll", "std::vector<double>", &t_trackPdgIdAll);
2034 
2035  t_trackP = new std::vector<double>();
2036  t_trackPt = new std::vector<double>();
2037  t_trackEta = new std::vector<double>();
2038  t_trackPhi = new std::vector<double>();
2039  t_trackEcalEta = new std::vector<double>();
2040  t_trackEcalPhi = new std::vector<double>();
2041  t_trackHcalEta = new std::vector<double>();
2042  t_trackHcalPhi = new std::vector<double>();
2043  t_trackNOuterHits = new std::vector<int>();
2044  t_NLayersCrossed = new std::vector<int>();
2045  t_trackDxy = new std::vector<double>();
2046  t_trackDxyBS = new std::vector<double>();
2047  t_trackDz = new std::vector<double>();
2048  t_trackDzBS = new std::vector<double>();
2049  t_trackDxyPV = new std::vector<double>();
2050  t_trackDzPV = new std::vector<double>();
2051  t_trackPVIdx = new std::vector<int>();
2052  t_trackChiSq = new std::vector<double>();
2053  t_trackHitsTOB = new std::vector<int>();
2054  t_trackHitsTEC = new std::vector<int>();
2055  t_trackHitInMissTOB = new std::vector<int>();
2056  t_trackHitInMissTEC = new std::vector<int>();
2057  t_trackHitInMissTIB = new std::vector<int>();
2058  t_trackHitInMissTID = new std::vector<int>();
2059  t_trackHitOutMissTOB = new std::vector<int>();
2060  t_trackHitOutMissTEC = new std::vector<int>();
2061  t_trackHitOutMissTIB = new std::vector<int>();
2062  t_trackHitOutMissTID = new std::vector<int>();
2063  t_trackHitInMissTIBTID = new std::vector<int>();
2064  t_trackHitOutMissTOB = new std::vector<int>();
2065  t_trackHitOutMissTEC = new std::vector<int>();
2066  t_trackHitOutMissTIB = new std::vector<int>();
2067  t_trackHitOutMissTID = new std::vector<int>();
2068  t_trackHitOutMissTOBTEC= new std::vector<int>();
2069  t_trackHitInMeasTOB = new std::vector<int>();
2070  t_trackHitInMeasTEC = new std::vector<int>();
2071  t_trackHitInMeasTIB = new std::vector<int>();
2072  t_trackHitInMeasTID = new std::vector<int>();
2073  t_trackHitOutMeasTOB = new std::vector<int>();
2074  t_trackHitOutMeasTEC = new std::vector<int>();
2075  t_trackHitOutMeasTIB = new std::vector<int>();
2076  t_trackHitOutMeasTID = new std::vector<int>();
2077  t_trackOutPosOutHitDr = new std::vector<double>();
2078  t_trackL = new std::vector<double>();
2079 
2080  tree_->Branch("t_trackP", "std::vector<double>", &t_trackP );
2081  tree_->Branch("t_trackPt", "std::vector<double>", &t_trackPt );
2082  tree_->Branch("t_trackEta", "std::vector<double>", &t_trackEta );
2083  tree_->Branch("t_trackPhi", "std::vector<double>", &t_trackPhi );
2084  tree_->Branch("t_trackEcalEta", "std::vector<double>", &t_trackEcalEta );
2085  tree_->Branch("t_trackEcalPhi", "std::vector<double>", &t_trackEcalPhi );
2086  tree_->Branch("t_trackHcalEta", "std::vector<double>", &t_trackHcalEta );
2087  tree_->Branch("t_trackHcalPhi", "std::vector<double>", &t_trackHcalPhi );
2088 
2089  tree_->Branch("t_trackNOuterHits", "std::vector<int>", &t_trackNOuterHits );
2090  tree_->Branch("t_NLayersCrossed", "std::vector<int>", &t_NLayersCrossed );
2091  tree_->Branch("t_trackHitsTOB", "std::vector<int>", &t_trackHitsTOB );
2092  tree_->Branch("t_trackHitsTEC", "std::vector<int>", &t_trackHitsTEC );
2093  tree_->Branch("t_trackHitInMissTOB", "std::vector<int>", &t_trackHitInMissTOB );
2094  tree_->Branch("t_trackHitInMissTEC", "std::vector<int>", &t_trackHitInMissTEC );
2095  tree_->Branch("t_trackHitInMissTIB", "std::vector<int>", &t_trackHitInMissTIB );
2096  tree_->Branch("t_trackHitInMissTID", "std::vector<int>", &t_trackHitInMissTID );
2097  tree_->Branch("t_trackHitInMissTIBTID", "std::vector<int>", &t_trackHitInMissTIBTID );
2098  tree_->Branch("t_trackHitOutMissTOB", "std::vector<int>", &t_trackHitOutMissTOB);
2099  tree_->Branch("t_trackHitOutMissTEC", "std::vector<int>", &t_trackHitOutMissTEC);
2100  tree_->Branch("t_trackHitOutMissTIB", "std::vector<int>", &t_trackHitOutMissTIB);
2101  tree_->Branch("t_trackHitOutMissTID", "std::vector<int>", &t_trackHitOutMissTID);
2102  tree_->Branch("t_trackHitOutMissTOBTEC","std::vector<int>", &t_trackHitOutMissTOBTEC);
2103  tree_->Branch("t_trackHitInMeasTOB", "std::vector<int>", &t_trackHitInMeasTOB );
2104  tree_->Branch("t_trackHitInMeasTEC", "std::vector<int>", &t_trackHitInMeasTEC );
2105  tree_->Branch("t_trackHitInMeasTIB", "std::vector<int>", &t_trackHitInMeasTIB );
2106  tree_->Branch("t_trackHitInMeasTID", "std::vector<int>", &t_trackHitInMeasTID );
2107  tree_->Branch("t_trackHitOutMeasTOB", "std::vector<int>", &t_trackHitOutMeasTOB);
2108  tree_->Branch("t_trackHitOutMeasTEC", "std::vector<int>", &t_trackHitOutMeasTEC);
2109  tree_->Branch("t_trackHitOutMeasTIB", "std::vector<int>", &t_trackHitOutMeasTIB);
2110  tree_->Branch("t_trackHitOutMeasTID", "std::vector<int>", &t_trackHitOutMeasTID);
2111  tree_->Branch("t_trackOutPosOutHitDr", "std::vector<double>", &t_trackOutPosOutHitDr);
2112  tree_->Branch("t_trackL", "std::vector<double>", &t_trackL);
2113 
2114  tree_->Branch("t_trackDxy", "std::vector<double>", &t_trackDxy );
2115  tree_->Branch("t_trackDxyBS", "std::vector<double>", &t_trackDxyBS );
2116  tree_->Branch("t_trackDz", "std::vector<double>", &t_trackDz );
2117  tree_->Branch("t_trackDzBS", "std::vector<double>", &t_trackDzBS );
2118  tree_->Branch("t_trackDxyPV", "std::vector<double>", &t_trackDxyPV );
2119  tree_->Branch("t_trackDzPV", "std::vector<double>", &t_trackDzPV );
2120  tree_->Branch("t_trackChiSq", "std::vector<double>", &t_trackChiSq );
2121  tree_->Branch("t_trackPVIdx", "std::vector<int>", &t_trackPVIdx );
2122 
2123  t_maxNearP31x31 = new std::vector<double>();
2124  t_maxNearP21x21 = new std::vector<double>();
2125 
2126  tree_->Branch("t_maxNearP31x31", "std::vector<double>", &t_maxNearP31x31);
2127  tree_->Branch("t_maxNearP21x21", "std::vector<double>", &t_maxNearP21x21);
2128 
2129  t_ecalSpike11x11 = new std::vector<int>();
2130  t_e7x7 = new std::vector<double>();
2131  t_e9x9 = new std::vector<double>();
2132  t_e11x11 = new std::vector<double>();
2133  t_e15x15 = new std::vector<double>();
2134 
2135  tree_->Branch("t_ecalSpike11x11", "std::vector<int>", &t_ecalSpike11x11);
2136  tree_->Branch("t_e7x7", "std::vector<double>", &t_e7x7);
2137  tree_->Branch("t_e9x9", "std::vector<double>", &t_e9x9);
2138  tree_->Branch("t_e11x11", "std::vector<double>", &t_e11x11);
2139  tree_->Branch("t_e15x15", "std::vector<double>", &t_e15x15);
2140 
2141  t_e7x7_10Sig = new std::vector<double>();
2142  t_e9x9_10Sig = new std::vector<double>();
2143  t_e11x11_10Sig = new std::vector<double>();
2144  t_e15x15_10Sig = new std::vector<double>();
2145  t_e7x7_15Sig = new std::vector<double>();
2146  t_e9x9_15Sig = new std::vector<double>();
2147  t_e11x11_15Sig = new std::vector<double>();
2148  t_e15x15_15Sig = new std::vector<double>();
2149  t_e7x7_20Sig = new std::vector<double>();
2150  t_e9x9_20Sig = new std::vector<double>();
2151  t_e11x11_20Sig = new std::vector<double>();
2152  t_e15x15_20Sig = new std::vector<double>();
2153  t_e7x7_25Sig = new std::vector<double>();
2154  t_e9x9_25Sig = new std::vector<double>();
2155  t_e11x11_25Sig = new std::vector<double>();
2156  t_e15x15_25Sig = new std::vector<double>();
2157  t_e7x7_30Sig = new std::vector<double>();
2158  t_e9x9_30Sig = new std::vector<double>();
2159  t_e11x11_30Sig = new std::vector<double>();
2160  t_e15x15_30Sig = new std::vector<double>();
2161 
2162  tree_->Branch("t_e7x7_10Sig" ,"std::vector<double>", &t_e7x7_10Sig);
2163  tree_->Branch("t_e9x9_10Sig" ,"std::vector<double>", &t_e9x9_10Sig);
2164  tree_->Branch("t_e11x11_10Sig" ,"std::vector<double>", &t_e11x11_10Sig);
2165  tree_->Branch("t_e15x15_10Sig" ,"std::vector<double>", &t_e15x15_10Sig);
2166  tree_->Branch("t_e7x7_15Sig" ,"std::vector<double>", &t_e7x7_15Sig);
2167  tree_->Branch("t_e9x9_15Sig" ,"std::vector<double>", &t_e9x9_15Sig);
2168  tree_->Branch("t_e11x11_15Sig" ,"std::vector<double>", &t_e11x11_15Sig);
2169  tree_->Branch("t_e15x15_15Sig" ,"std::vector<double>", &t_e15x15_15Sig);
2170  tree_->Branch("t_e7x7_20Sig" ,"std::vector<double>", &t_e7x7_20Sig);
2171  tree_->Branch("t_e9x9_20Sig" ,"std::vector<double>", &t_e9x9_20Sig);
2172  tree_->Branch("t_e11x11_20Sig" ,"std::vector<double>", &t_e11x11_20Sig);
2173  tree_->Branch("t_e15x15_20Sig" ,"std::vector<double>", &t_e15x15_20Sig);
2174  tree_->Branch("t_e7x7_25Sig" ,"std::vector<double>", &t_e7x7_25Sig);
2175  tree_->Branch("t_e9x9_25Sig" ,"std::vector<double>", &t_e9x9_25Sig);
2176  tree_->Branch("t_e11x11_25Sig" ,"std::vector<double>", &t_e11x11_25Sig);
2177  tree_->Branch("t_e15x15_25Sig" ,"std::vector<double>", &t_e15x15_25Sig);
2178  tree_->Branch("t_e7x7_30Sig" ,"std::vector<double>", &t_e7x7_30Sig);
2179  tree_->Branch("t_e9x9_30Sig" ,"std::vector<double>", &t_e9x9_30Sig);
2180  tree_->Branch("t_e11x11_30Sig" ,"std::vector<double>", &t_e11x11_30Sig);
2181  tree_->Branch("t_e15x15_30Sig" ,"std::vector<double>", &t_e15x15_30Sig);
2182 
2183  if (doMC_) {
2184  t_esim7x7 = new std::vector<double>();
2185  t_esim9x9 = new std::vector<double>();
2186  t_esim11x11 = new std::vector<double>();
2187  t_esim15x15 = new std::vector<double>();
2188 
2189  t_esim7x7Matched = new std::vector<double>();
2190  t_esim9x9Matched = new std::vector<double>();
2191  t_esim11x11Matched = new std::vector<double>();
2192  t_esim15x15Matched = new std::vector<double>();
2193 
2194  t_esim7x7Rest = new std::vector<double>();
2195  t_esim9x9Rest = new std::vector<double>();
2196  t_esim11x11Rest = new std::vector<double>();
2197  t_esim15x15Rest = new std::vector<double>();
2198 
2199  t_esim7x7Photon = new std::vector<double>();
2200  t_esim9x9Photon = new std::vector<double>();
2201  t_esim11x11Photon = new std::vector<double>();
2202  t_esim15x15Photon = new std::vector<double>();
2203 
2204  t_esim7x7NeutHad = new std::vector<double>();
2205  t_esim9x9NeutHad = new std::vector<double>();
2206  t_esim11x11NeutHad = new std::vector<double>();
2207  t_esim15x15NeutHad = new std::vector<double>();
2208 
2209  t_esim7x7CharHad = new std::vector<double>();
2210  t_esim9x9CharHad = new std::vector<double>();
2211  t_esim11x11CharHad = new std::vector<double>();
2212  t_esim15x15CharHad = new std::vector<double>();
2213 
2214  t_trkEcalEne = new std::vector<double>();
2215  t_simTrackP = new std::vector<double>();
2216  t_esimPdgId = new std::vector<double>();
2217 
2218  tree_->Branch("t_esim7x7", "std::vector<double>", &t_esim7x7);
2219  tree_->Branch("t_esim9x9", "std::vector<double>", &t_esim9x9);
2220  tree_->Branch("t_esim11x11", "std::vector<double>", &t_esim11x11);
2221  tree_->Branch("t_esim15x15", "std::vector<double>", &t_esim15x15);
2222 
2223  tree_->Branch("t_esim7x7Matched", "std::vector<double>", &t_esim7x7Matched);
2224  tree_->Branch("t_esim9x9Matched", "std::vector<double>", &t_esim9x9Matched);
2225  tree_->Branch("t_esim11x11Matched", "std::vector<double>", &t_esim11x11Matched);
2226  tree_->Branch("t_esim15x15Matched", "std::vector<double>", &t_esim15x15Matched);
2227 
2228  tree_->Branch("t_esim7x7Rest", "std::vector<double>", &t_esim7x7Rest);
2229  tree_->Branch("t_esim9x9Rest", "std::vector<double>", &t_esim9x9Rest);
2230  tree_->Branch("t_esim11x11Rest", "std::vector<double>", &t_esim11x11Rest);
2231  tree_->Branch("t_esim15x15Rest", "std::vector<double>", &t_esim15x15Rest);
2232 
2233  tree_->Branch("t_esim7x7Photon", "std::vector<double>", &t_esim7x7Photon);
2234  tree_->Branch("t_esim9x9Photon", "std::vector<double>", &t_esim9x9Photon);
2235  tree_->Branch("t_esim11x11Photon", "std::vector<double>", &t_esim11x11Photon);
2236  tree_->Branch("t_esim15x15Photon", "std::vector<double>", &t_esim15x15Photon);
2237 
2238  tree_->Branch("t_esim7x7NeutHad", "std::vector<double>", &t_esim7x7NeutHad);
2239  tree_->Branch("t_esim9x9NeutHad", "std::vector<double>", &t_esim9x9NeutHad);
2240  tree_->Branch("t_esim11x11NeutHad", "std::vector<double>", &t_esim11x11NeutHad);
2241  tree_->Branch("t_esim15x15NeutHad", "std::vector<double>", &t_esim15x15NeutHad);
2242 
2243  tree_->Branch("t_esim7x7CharHad", "std::vector<double>", &t_esim7x7CharHad);
2244  tree_->Branch("t_esim9x9CharHad", "std::vector<double>", &t_esim9x9CharHad);
2245  tree_->Branch("t_esim11x11CharHad", "std::vector<double>", &t_esim11x11CharHad);
2246  tree_->Branch("t_esim15x15CharHad", "std::vector<double>", &t_esim15x15CharHad);
2247 
2248  tree_->Branch("t_trkEcalEne", "std::vector<double>", &t_trkEcalEne);
2249  tree_->Branch("t_simTrackP", "std::vector<double>", &t_simTrackP);
2250  tree_->Branch("t_esimPdgId", "std::vector<double>", &t_esimPdgId);
2251  }
2252 
2253  t_maxNearHcalP3x3 = new std::vector<double>();
2254  t_maxNearHcalP5x5 = new std::vector<double>();
2255  t_maxNearHcalP7x7 = new std::vector<double>();
2256  t_h3x3 = new std::vector<double>();
2257  t_h5x5 = new std::vector<double>();
2258  t_h7x7 = new std::vector<double>();
2259  t_h3x3Sig = new std::vector<double>();
2260  t_h5x5Sig = new std::vector<double>();
2261  t_h7x7Sig = new std::vector<double>();
2262  t_infoHcal = new std::vector<int>();
2263 
2264  if (doMC_) {
2265  t_trkHcalEne = new std::vector<double>();
2266  t_hsim3x3 = new std::vector<double>();
2267  t_hsim5x5 = new std::vector<double>();
2268  t_hsim7x7 = new std::vector<double>();
2269  t_hsim3x3Matched = new std::vector<double>();
2270  t_hsim5x5Matched = new std::vector<double>();
2271  t_hsim7x7Matched = new std::vector<double>();
2272  t_hsim3x3Rest = new std::vector<double>();
2273  t_hsim5x5Rest = new std::vector<double>();
2274  t_hsim7x7Rest = new std::vector<double>();
2275  t_hsim3x3Photon = new std::vector<double>();
2276  t_hsim5x5Photon = new std::vector<double>();
2277  t_hsim7x7Photon = new std::vector<double>();
2278  t_hsim3x3NeutHad = new std::vector<double>();
2279  t_hsim5x5NeutHad = new std::vector<double>();
2280  t_hsim7x7NeutHad = new std::vector<double>();
2281  t_hsim3x3CharHad = new std::vector<double>();
2282  t_hsim5x5CharHad = new std::vector<double>();
2283  t_hsim7x7CharHad = new std::vector<double>();
2284  }
2285 
2286  tree_->Branch("t_maxNearHcalP3x3", "std::vector<double>", &t_maxNearHcalP3x3);
2287  tree_->Branch("t_maxNearHcalP5x5", "std::vector<double>", &t_maxNearHcalP5x5);
2288  tree_->Branch("t_maxNearHcalP7x7", "std::vector<double>", &t_maxNearHcalP7x7);
2289  tree_->Branch("t_h3x3", "std::vector<double>", &t_h3x3);
2290  tree_->Branch("t_h5x5", "std::vector<double>", &t_h5x5);
2291  tree_->Branch("t_h7x7", "std::vector<double>", &t_h7x7);
2292  tree_->Branch("t_h3x3Sig", "std::vector<double>", &t_h3x3Sig);
2293  tree_->Branch("t_h5x5Sig", "std::vector<double>", &t_h5x5Sig);
2294  tree_->Branch("t_h7x7Sig", "std::vector<double>", &t_h7x7Sig);
2295  tree_->Branch("t_infoHcal", "std::vector<int>", &t_infoHcal);
2296 
2297  if (doMC_) {
2298  tree_->Branch("t_trkHcalEne", "std::vector<double>", &t_trkHcalEne);
2299  tree_->Branch("t_hsim3x3", "std::vector<double>", &t_hsim3x3);
2300  tree_->Branch("t_hsim5x5", "std::vector<double>", &t_hsim5x5);
2301  tree_->Branch("t_hsim7x7", "std::vector<double>", &t_hsim7x7);
2302  tree_->Branch("t_hsim3x3Matched", "std::vector<double>", &t_hsim3x3Matched);
2303  tree_->Branch("t_hsim5x5Matched", "std::vector<double>", &t_hsim5x5Matched);
2304  tree_->Branch("t_hsim7x7Matched", "std::vector<double>", &t_hsim7x7Matched);
2305  tree_->Branch("t_hsim3x3Rest", "std::vector<double>", &t_hsim3x3Rest);
2306  tree_->Branch("t_hsim5x5Rest", "std::vector<double>", &t_hsim5x5Rest);
2307  tree_->Branch("t_hsim7x7Rest", "std::vector<double>", &t_hsim7x7Rest);
2308  tree_->Branch("t_hsim3x3Photon", "std::vector<double>", &t_hsim3x3Photon);
2309  tree_->Branch("t_hsim5x5Photon", "std::vector<double>", &t_hsim5x5Photon);
2310  tree_->Branch("t_hsim7x7Photon", "std::vector<double>", &t_hsim7x7Photon);
2311  tree_->Branch("t_hsim3x3NeutHad", "std::vector<double>", &t_hsim3x3NeutHad);
2312  tree_->Branch("t_hsim5x5NeutHad", "std::vector<double>", &t_hsim5x5NeutHad);
2313  tree_->Branch("t_hsim7x7NeutHad", "std::vector<double>", &t_hsim7x7NeutHad);
2314  tree_->Branch("t_hsim3x3CharHad", "std::vector<double>", &t_hsim3x3CharHad);
2315  tree_->Branch("t_hsim5x5CharHad", "std::vector<double>", &t_hsim5x5CharHad);
2316  tree_->Branch("t_hsim7x7CharHad", "std::vector<double>", &t_hsim7x7CharHad);
2317  }
2318  tree_->Branch("t_nTracks", &t_nTracks, "t_nTracks/I");
2319 
2320 }
std::vector< double > * t_hsim7x7CharHad
std::vector< double > * t_hsim3x3Matched
std::vector< double > * t_esim7x7CharHad
std::vector< double > * t_e15x15
std::vector< double > * t_nTrksJetCalo
std::vector< double > * t_maxNearHcalP7x7
std::vector< double > * t_trackPt
std::vector< double > * t_trackPAll
std::vector< double > * t_e7x7
std::vector< double > * t_trackHcalPhi
std::vector< double > * t_trackDxyPVAll
std::vector< int > * t_trackHitOutMeasTEC
std::vector< double > * t_trackPdgIdAll
std::vector< double > * t_trackOutPosOutHitDr
std::vector< double > * t_maxNearHcalP5x5
std::vector< double > * t_L1NonIsoEMPt
std::vector< int > * t_trackHitOutMeasTIB
std::vector< double > * t_esim7x7
std::vector< int > * t_trackHitInMissTOB
std::vector< double > * t_trackDz
std::vector< double > * t_trackEcalEta
std::vector< double > * t_trackEtaAll
std::vector< double > * t_esim11x11Matched
std::vector< double > * t_L1IsoEMEta
std::vector< double > * t_PVTracksSumPt
std::vector< double > * t_e9x9_10Sig
TH1F * h_maxNearP25x25[NPBins][NEtaBins]
std::vector< double > * t_hsim3x3CharHad
std::vector< int > * t_PVndof
std::vector< double > * t_hsim7x7Rest
std::vector< double > * t_L1TauJetPhi
std::vector< double > * t_PVTracksSumPtWt
std::vector< int > * t_infoHcal
std::vector< double > * t_e11x11_15Sig
std::vector< double > * t_L1TauJetPt
std::vector< int > * t_PVNTracksWt
std::vector< double > * t_trackEcalPhi
std::vector< double > * t_esim11x11NeutHad
std::vector< double > * t_L1TauJetEta
std::vector< double > * t_e15x15_15Sig
std::vector< double > * t_L1MuonEta
std::vector< double > * t_L1MuonPt
std::vector< double > * t_h3x3
std::vector< double > * t_L1MuonPhi
std::vector< double > * t_trackDxyAll
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
std::vector< double > * t_maxNearHcalP3x3
std::vector< double > * t_hsim3x3Photon
std::vector< double > * t_PVTracksSumPtHP
std::vector< double > * t_esim11x11Rest
std::vector< int > * t_trackNOuterHits
std::vector< double > * t_h7x7Sig
std::vector< double > * t_e15x15_30Sig
std::vector< double > * t_trackPhiAll
std::vector< double > * t_e7x7_25Sig
double genPartPBins[NPBins+1]
std::vector< double > * t_trkHcalEne
std::vector< double > * t_e7x7_20Sig
std::vector< double > * t_e11x11_10Sig
std::vector< double > * t_trackPtAll
std::vector< double > * t_h3x3Sig
static size_t NEtaBins
std::vector< double > * t_esimPdgId
std::vector< double > * t_e11x11_20Sig
std::vector< double > * t_jetEta
std::vector< double > * t_maxNearP31x31
std::vector< int > * t_trackHitInMissTEC
std::vector< double > * t_trkEcalEne
std::vector< double > * t_trackEta
std::vector< double > * t_esim9x9Photon
std::vector< int > * t_trackHitInMeasTID
std::vector< double > * t_hsim5x5Rest
std::vector< double > * t_e11x11
std::vector< double > * t_esim15x15
std::vector< double > * t_L1CenJetPt
std::vector< double > * t_trackChiSqAll
std::vector< double > * t_e15x15_25Sig
std::vector< int > * t_trackHitOutMissTIB
std::vector< double > * t_esim15x15Rest
std::vector< double > * t_esim11x11
std::vector< double > * t_hsim7x7
std::vector< int > * t_PVNTracksHPWt
std::vector< int > * t_trackHitOutMissTID
std::vector< int > * t_trackHitOutMissTOBTEC
std::vector< int > * t_trackHitsTEC
std::vector< double > * t_e9x9_30Sig
std::vector< double > * t_L1CenJetPhi
std::vector< double > * t_L1FwdJetEta
std::vector< double > * t_h7x7
std::vector< int > * t_ecalSpike11x11
std::vector< double > * t_esim15x15NeutHad
std::vector< double > * t_e9x9_20Sig
std::vector< int > * t_trackHitOutMeasTOB
std::vector< int > * t_trackHitInMeasTIB
T * make(const Args &...args) const
make new ROOT object
std::vector< double > * t_trackDzPV
std::vector< int > * t_PVNTracksHP
std::vector< double > * t_L1FwdJetPhi
std::vector< double > * t_nTrksJetVtx
std::vector< double > * t_esim7x7NeutHad
std::vector< double > * t_hsim3x3NeutHad
std::vector< double > * t_L1NonIsoEMPhi
std::vector< double > * t_trackDzBS
std::vector< int > * t_trackHitOutMissTOB
std::vector< double > * t_L1CenJetEta
std::vector< double > * t_trackDzPVAll
std::vector< double > * t_esim7x7Matched
std::vector< double > * t_esim9x9
std::vector< double > * t_hsim5x5
std::vector< double > * t_h5x5
std::vector< double > * t_trackDxyPV
std::vector< double > * t_hsim5x5NeutHad
std::vector< double > * t_trackChiSq
std::vector< double > * t_hsim5x5Photon
std::vector< double > * t_PVy
std::vector< int > * t_L1PreScale
std::vector< double > * t_hsim3x3Rest
std::vector< int > * t_PVisValid
std::vector< double > * t_esim9x9Rest
std::vector< double > * t_L1METPhi
std::vector< int > * t_trackHitInMissTIB
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
Definition: TFileService.h:69
std::vector< double > * t_e9x9_15Sig
std::vector< double > * t_e7x7_15Sig
std::vector< double > * t_trackPhi
std::vector< double > * t_e7x7_10Sig
std::vector< double > * t_trackDzAll
TH1F * h_maxNearP31x31[NPBins][NEtaBins]
std::vector< double > * t_esim11x11CharHad
TH1F * h_maxNearP15x15[NPBins][NEtaBins]
std::vector< double > * t_e9x9_25Sig
std::vector< double > * t_esim7x7Photon
std::vector< double > * t_esim9x9NeutHad
std::vector< double > * t_L1FwdJetPt
std::vector< double > * t_simTrackP
std::vector< double > * t_hsim7x7Matched
std::vector< int > * t_trackPVIdx
std::vector< int > * t_trackHitsTOB
std::vector< double > * t_esim9x9Matched
std::vector< double > * t_hsim7x7NeutHad
std::vector< double > * t_L1IsoEMPhi
std::vector< int > * t_PVNTracks
std::vector< double > * t_maxNearP21x21
std::vector< double > * t_L1NonIsoEMEta
std::vector< double > * t_PVz
std::vector< double > * t_e15x15_20Sig
std::vector< double > * t_PVTracksSumPtHPWt
std::vector< double > * t_trackDxy
std::vector< std::string > * t_L1AlgoNames
std::vector< double > * t_hsim5x5CharHad
std::vector< double > * t_e15x15_10Sig
TH1F * h_maxNearP21x21[NPBins][NEtaBins]
std::vector< double > * t_jetPhi
std::vector< double > * t_trackL
std::vector< double > * t_esim7x7Rest
std::vector< double > * t_trackDxyBS
std::vector< double > * t_trackHcalEta
std::vector< double > * t_L1METPt
dbl *** dir
Definition: mlp_gen.cc:35
std::vector< int > * t_NLayersCrossed
std::vector< int > * t_trackHitInMeasTOB
std::vector< double > * t_PVx
std::vector< int > * t_trackHitInMeasTEC
std::vector< double > * t_esim15x15Photon
std::vector< double > * t_e9x9
std::vector< double > * t_hsim5x5Matched
double genPartEtaBins[NEtaBins+1]
std::vector< double > * t_esim15x15Matched
std::vector< int > * t_trackHitOutMeasTID
std::vector< double > * t_L1METEta
std::vector< double > * t_e7x7_30Sig
std::vector< int > * t_trackHitOutMissTEC
std::vector< double > * t_e11x11_25Sig
std::vector< double > * t_hsim3x3
std::vector< double > * t_trackP
std::vector< double > * t_hsim7x7Photon
std::vector< double > * t_jetPt
std::vector< double > * t_L1IsoEMPt
std::vector< double > * t_esim11x11Photon
std::vector< double > * t_h5x5Sig
std::vector< int > * t_trackHitInMissTID
std::vector< double > * t_e11x11_30Sig
std::vector< int > * t_trackHitInMissTIBTID
std::vector< double > * t_esim9x9CharHad
std::vector< double > * t_esim15x15CharHad
void IsolatedTracksNxN::clearTreeVectors ( )
private

Definition at line 1631 of file IsolatedTracksNxN.cc.

References doMC_, mps_fire::i, t_e11x11, t_e11x11_10Sig, t_e11x11_15Sig, t_e11x11_20Sig, t_e11x11_25Sig, t_e11x11_30Sig, t_e15x15, t_e15x15_10Sig, t_e15x15_15Sig, t_e15x15_20Sig, t_e15x15_25Sig, t_e15x15_30Sig, t_e7x7, t_e7x7_10Sig, t_e7x7_15Sig, t_e7x7_20Sig, t_e7x7_25Sig, t_e7x7_30Sig, t_e9x9, t_e9x9_10Sig, t_e9x9_15Sig, t_e9x9_20Sig, t_e9x9_25Sig, t_e9x9_30Sig, t_ecalSpike11x11, t_esim11x11, t_esim11x11CharHad, t_esim11x11Matched, t_esim11x11NeutHad, t_esim11x11Photon, t_esim11x11Rest, t_esim15x15, t_esim15x15CharHad, t_esim15x15Matched, t_esim15x15NeutHad, t_esim15x15Photon, t_esim15x15Rest, t_esim7x7, t_esim7x7CharHad, t_esim7x7Matched, t_esim7x7NeutHad, t_esim7x7Photon, t_esim7x7Rest, t_esim9x9, t_esim9x9CharHad, t_esim9x9Matched, t_esim9x9NeutHad, t_esim9x9Photon, t_esim9x9Rest, t_esimPdgId, t_h3x3, t_h3x3Sig, t_h5x5, t_h5x5Sig, t_h7x7, t_h7x7Sig, t_hsim3x3, t_hsim3x3CharHad, t_hsim3x3Matched, t_hsim3x3NeutHad, t_hsim3x3Photon, t_hsim3x3Rest, t_hsim5x5, t_hsim5x5CharHad, t_hsim5x5Matched, t_hsim5x5NeutHad, t_hsim5x5Photon, t_hsim5x5Rest, t_hsim7x7, t_hsim7x7CharHad, t_hsim7x7Matched, t_hsim7x7NeutHad, t_hsim7x7Photon, t_hsim7x7Rest, t_infoHcal, t_jetEta, t_jetPhi, t_jetPt, t_L1AlgoNames, t_L1CenJetEta, t_L1CenJetPhi, t_L1CenJetPt, t_L1Decision, t_L1FwdJetEta, t_L1FwdJetPhi, t_L1FwdJetPt, t_L1IsoEMEta, t_L1IsoEMPhi, t_L1IsoEMPt, t_L1METEta, t_L1METPhi, t_L1METPt, t_L1MuonEta, t_L1MuonPhi, t_L1MuonPt, t_L1NonIsoEMEta, t_L1NonIsoEMPhi, t_L1NonIsoEMPt, t_L1PreScale, t_L1TauJetEta, t_L1TauJetPhi, t_L1TauJetPt, t_maxNearHcalP3x3, t_maxNearHcalP5x5, t_maxNearHcalP7x7, t_maxNearP21x21, t_maxNearP31x31, t_NLayersCrossed, t_nTrksJetCalo, t_nTrksJetVtx, t_PVisValid, t_PVndof, t_PVNTracks, t_PVNTracksHP, t_PVNTracksHPWt, t_PVNTracksWt, t_PVTracksSumPt, t_PVTracksSumPtHP, t_PVTracksSumPtHPWt, t_PVTracksSumPtWt, t_PVx, t_PVy, t_PVz, t_simTrackP, t_trackChiSq, t_trackChiSqAll, t_trackDxy, t_trackDxyAll, t_trackDxyBS, t_trackDxyPV, t_trackDxyPVAll, t_trackDz, t_trackDzAll, t_trackDzBS, t_trackDzPV, t_trackDzPVAll, t_trackEcalEta, t_trackEcalPhi, t_trackEta, t_trackEtaAll, t_trackHcalEta, t_trackHcalPhi, t_trackHitInMeasTEC, t_trackHitInMeasTIB, t_trackHitInMeasTID, t_trackHitInMeasTOB, t_trackHitInMissTEC, t_trackHitInMissTIB, t_trackHitInMissTIBTID, t_trackHitInMissTID, t_trackHitInMissTOB, t_trackHitOutMeasTEC, t_trackHitOutMeasTIB, t_trackHitOutMeasTID, t_trackHitOutMeasTOB, t_trackHitOutMissTEC, t_trackHitOutMissTIB, t_trackHitOutMissTID, t_trackHitOutMissTOB, t_trackHitOutMissTOBTEC, t_trackHitsTEC, t_trackHitsTOB, t_trackL, t_trackNOuterHits, t_trackOutPosOutHitDr, t_trackP, t_trackPAll, t_trackPdgIdAll, t_trackPhi, t_trackPhiAll, t_trackPt, t_trackPtAll, t_trackPVIdx, t_trkEcalEne, and t_trkHcalEne.

Referenced by analyze().

1631  {
1632 
1633  t_PVx ->clear();
1634  t_PVy ->clear();
1635  t_PVz ->clear();
1636  t_PVisValid ->clear();
1637  t_PVndof ->clear();
1638  t_PVNTracks ->clear();
1639  t_PVNTracksWt ->clear();
1640  t_PVTracksSumPt ->clear();
1641  t_PVTracksSumPtWt ->clear();
1642  t_PVNTracksHP ->clear();
1643  t_PVNTracksHPWt ->clear();
1644  t_PVTracksSumPtHP ->clear();
1645  t_PVTracksSumPtHPWt ->clear();
1646 
1647  for(int i=0; i<128; i++) t_L1Decision[i]=0;
1648  t_L1AlgoNames ->clear();
1649  t_L1PreScale ->clear();
1650 
1651  t_L1CenJetPt ->clear();
1652  t_L1CenJetEta ->clear();
1653  t_L1CenJetPhi ->clear();
1654  t_L1FwdJetPt ->clear();
1655  t_L1FwdJetEta ->clear();
1656  t_L1FwdJetPhi ->clear();
1657  t_L1TauJetPt ->clear();
1658  t_L1TauJetEta ->clear();
1659  t_L1TauJetPhi ->clear();
1660  t_L1MuonPt ->clear();
1661  t_L1MuonEta ->clear();
1662  t_L1MuonPhi ->clear();
1663  t_L1IsoEMPt ->clear();
1664  t_L1IsoEMEta ->clear();
1665  t_L1IsoEMPhi ->clear();
1666  t_L1NonIsoEMPt ->clear();
1667  t_L1NonIsoEMEta ->clear();
1668  t_L1NonIsoEMPhi ->clear();
1669  t_L1METPt ->clear();
1670  t_L1METEta ->clear();
1671  t_L1METPhi ->clear();
1672 
1673  t_jetPt ->clear();
1674  t_jetEta ->clear();
1675  t_jetPhi ->clear();
1676  t_nTrksJetCalo ->clear();
1677  t_nTrksJetVtx ->clear();
1678 
1679  t_trackPAll ->clear();
1680  t_trackEtaAll ->clear();
1681  t_trackPhiAll ->clear();
1682  t_trackPdgIdAll ->clear();
1683  t_trackPtAll ->clear();
1684  t_trackDxyAll ->clear();
1685  t_trackDzAll ->clear();
1686  t_trackDxyPVAll ->clear();
1687  t_trackDzPVAll ->clear();
1688  t_trackChiSqAll ->clear();
1689 
1690  t_trackP ->clear();
1691  t_trackPt ->clear();
1692  t_trackEta ->clear();
1693  t_trackPhi ->clear();
1694  t_trackEcalEta ->clear();
1695  t_trackEcalPhi ->clear();
1696  t_trackHcalEta ->clear();
1697  t_trackHcalPhi ->clear();
1698  t_NLayersCrossed ->clear();
1699  t_trackNOuterHits ->clear();
1700  t_trackDxy ->clear();
1701  t_trackDxyBS ->clear();
1702  t_trackDz ->clear();
1703  t_trackDzBS ->clear();
1704  t_trackDxyPV ->clear();
1705  t_trackDzPV ->clear();
1706  t_trackChiSq ->clear();
1707  t_trackPVIdx ->clear();
1708  t_trackHitsTOB ->clear();
1709  t_trackHitsTEC ->clear();
1710  t_trackHitInMissTOB ->clear();
1711  t_trackHitInMissTEC ->clear();
1712  t_trackHitInMissTIB ->clear();
1713  t_trackHitInMissTID ->clear();
1714  t_trackHitInMissTIBTID ->clear();
1715  t_trackHitOutMissTOB ->clear();
1716  t_trackHitOutMissTEC ->clear();
1717  t_trackHitOutMissTIB ->clear();
1718  t_trackHitOutMissTID ->clear();
1719  t_trackHitOutMissTOBTEC ->clear();
1720  t_trackHitInMeasTOB ->clear();
1721  t_trackHitInMeasTEC ->clear();
1722  t_trackHitInMeasTIB ->clear();
1723  t_trackHitInMeasTID ->clear();
1724  t_trackHitOutMeasTOB ->clear();
1725  t_trackHitOutMeasTEC ->clear();
1726  t_trackHitOutMeasTIB ->clear();
1727  t_trackHitOutMeasTID ->clear();
1728  t_trackOutPosOutHitDr ->clear();
1729  t_trackL ->clear();
1730 
1731  t_maxNearP31x31 ->clear();
1732  t_maxNearP21x21 ->clear();
1733 
1734  t_ecalSpike11x11 ->clear();
1735  t_e7x7 ->clear();
1736  t_e9x9 ->clear();
1737  t_e11x11 ->clear();
1738  t_e15x15 ->clear();
1739 
1740  t_e7x7_10Sig ->clear();
1741  t_e9x9_10Sig ->clear();
1742  t_e11x11_10Sig ->clear();
1743  t_e15x15_10Sig ->clear();
1744  t_e7x7_15Sig ->clear();
1745  t_e9x9_15Sig ->clear();
1746  t_e11x11_15Sig ->clear();
1747  t_e15x15_15Sig ->clear();
1748  t_e7x7_20Sig ->clear();
1749  t_e9x9_20Sig ->clear();
1750  t_e11x11_20Sig ->clear();
1751  t_e15x15_20Sig ->clear();
1752  t_e7x7_25Sig ->clear();
1753  t_e9x9_25Sig ->clear();
1754  t_e11x11_25Sig ->clear();
1755  t_e15x15_25Sig ->clear();
1756  t_e7x7_30Sig ->clear();
1757  t_e9x9_30Sig ->clear();
1758  t_e11x11_30Sig ->clear();
1759  t_e15x15_30Sig ->clear();
1760 
1761  if (doMC_) {
1762  t_simTrackP ->clear();
1763  t_esimPdgId ->clear();
1764  t_trkEcalEne ->clear();
1765 
1766  t_esim7x7 ->clear();
1767  t_esim9x9 ->clear();
1768  t_esim11x11 ->clear();
1769  t_esim15x15 ->clear();
1770 
1771  t_esim7x7Matched ->clear();
1772  t_esim9x9Matched ->clear();
1773  t_esim11x11Matched ->clear();
1774  t_esim15x15Matched ->clear();
1775 
1776  t_esim7x7Rest ->clear();
1777  t_esim9x9Rest ->clear();
1778  t_esim11x11Rest ->clear();
1779  t_esim15x15Rest ->clear();
1780 
1781  t_esim7x7Photon ->clear();
1782  t_esim9x9Photon ->clear();
1783  t_esim11x11Photon ->clear();
1784  t_esim15x15Photon ->clear();
1785 
1786  t_esim7x7NeutHad ->clear();
1787  t_esim9x9NeutHad ->clear();
1788  t_esim11x11NeutHad ->clear();
1789  t_esim15x15NeutHad ->clear();
1790 
1791  t_esim7x7CharHad ->clear();
1792  t_esim9x9CharHad ->clear();
1793  t_esim11x11CharHad ->clear();
1794  t_esim15x15CharHad ->clear();
1795  }
1796 
1797  t_maxNearHcalP3x3 ->clear();
1798  t_maxNearHcalP5x5 ->clear();
1799  t_maxNearHcalP7x7 ->clear();
1800 
1801  t_h3x3 ->clear();
1802  t_h5x5 ->clear();
1803  t_h7x7 ->clear();
1804  t_h3x3Sig ->clear();
1805  t_h5x5Sig ->clear();
1806  t_h7x7Sig ->clear();
1807 
1808  t_infoHcal ->clear();
1809 
1810  if (doMC_) {
1811  t_trkHcalEne ->clear();
1812 
1813  t_hsim3x3 ->clear();
1814  t_hsim5x5 ->clear();
1815  t_hsim7x7 ->clear();
1816  t_hsim3x3Matched ->clear();
1817  t_hsim5x5Matched ->clear();
1818  t_hsim7x7Matched ->clear();
1819  t_hsim3x3Rest ->clear();
1820  t_hsim5x5Rest ->clear();
1821  t_hsim7x7Rest ->clear();
1822  t_hsim3x3Photon ->clear();
1823  t_hsim5x5Photon ->clear();
1824  t_hsim7x7Photon ->clear();
1825  t_hsim3x3NeutHad ->clear();
1826  t_hsim5x5NeutHad ->clear();
1827  t_hsim7x7NeutHad ->clear();
1828  t_hsim3x3CharHad ->clear();
1829  t_hsim5x5CharHad ->clear();
1830  t_hsim7x7CharHad ->clear();
1831  }
1832 }
std::vector< double > * t_hsim7x7CharHad
std::vector< double > * t_hsim3x3Matched
std::vector< double > * t_esim7x7CharHad
std::vector< double > * t_e15x15
std::vector< double > * t_nTrksJetCalo
std::vector< double > * t_maxNearHcalP7x7
std::vector< double > * t_trackPt
std::vector< double > * t_trackPAll
std::vector< double > * t_e7x7
std::vector< double > * t_trackHcalPhi
std::vector< double > * t_trackDxyPVAll
std::vector< int > * t_trackHitOutMeasTEC
std::vector< double > * t_trackPdgIdAll
std::vector< double > * t_trackOutPosOutHitDr
std::vector< double > * t_maxNearHcalP5x5
std::vector< double > * t_L1NonIsoEMPt
std::vector< int > * t_trackHitOutMeasTIB
std::vector< double > * t_esim7x7
std::vector< int > * t_trackHitInMissTOB
std::vector< double > * t_trackDz
std::vector< double > * t_trackEcalEta
std::vector< double > * t_trackEtaAll
std::vector< double > * t_esim11x11Matched
std::vector< double > * t_L1IsoEMEta
std::vector< double > * t_PVTracksSumPt
std::vector< double > * t_e9x9_10Sig
std::vector< double > * t_hsim3x3CharHad
std::vector< int > * t_PVndof
std::vector< double > * t_hsim7x7Rest
std::vector< double > * t_L1TauJetPhi
std::vector< double > * t_PVTracksSumPtWt
std::vector< int > * t_infoHcal
std::vector< double > * t_e11x11_15Sig
std::vector< double > * t_L1TauJetPt
std::vector< int > * t_PVNTracksWt
std::vector< double > * t_trackEcalPhi
std::vector< double > * t_esim11x11NeutHad
std::vector< double > * t_L1TauJetEta
std::vector< double > * t_e15x15_15Sig
std::vector< double > * t_L1MuonEta
std::vector< double > * t_L1MuonPt
std::vector< double > * t_h3x3
std::vector< double > * t_L1MuonPhi
std::vector< double > * t_trackDxyAll
std::vector< double > * t_maxNearHcalP3x3
std::vector< double > * t_hsim3x3Photon
std::vector< double > * t_PVTracksSumPtHP
std::vector< double > * t_esim11x11Rest
std::vector< int > * t_trackNOuterHits
std::vector< double > * t_h7x7Sig
std::vector< double > * t_e15x15_30Sig
std::vector< double > * t_trackPhiAll
std::vector< double > * t_e7x7_25Sig
std::vector< double > * t_trkHcalEne
std::vector< double > * t_e7x7_20Sig
std::vector< double > * t_e11x11_10Sig
std::vector< double > * t_trackPtAll
std::vector< double > * t_h3x3Sig
std::vector< double > * t_esimPdgId
std::vector< double > * t_e11x11_20Sig
std::vector< double > * t_jetEta
std::vector< double > * t_maxNearP31x31
std::vector< int > * t_trackHitInMissTEC
std::vector< double > * t_trkEcalEne
std::vector< double > * t_trackEta
std::vector< double > * t_esim9x9Photon
std::vector< int > * t_trackHitInMeasTID
std::vector< double > * t_hsim5x5Rest
std::vector< double > * t_e11x11
std::vector< double > * t_esim15x15
std::vector< double > * t_L1CenJetPt
std::vector< double > * t_trackChiSqAll
std::vector< double > * t_e15x15_25Sig
std::vector< int > * t_trackHitOutMissTIB
std::vector< double > * t_esim15x15Rest
std::vector< double > * t_esim11x11
std::vector< double > * t_hsim7x7
std::vector< int > * t_PVNTracksHPWt
std::vector< int > * t_trackHitOutMissTID
std::vector< int > * t_trackHitOutMissTOBTEC
std::vector< int > * t_trackHitsTEC
std::vector< double > * t_e9x9_30Sig
std::vector< double > * t_L1CenJetPhi
std::vector< double > * t_L1FwdJetEta
std::vector< double > * t_h7x7
std::vector< int > * t_ecalSpike11x11
std::vector< double > * t_esim15x15NeutHad
std::vector< double > * t_e9x9_20Sig
std::vector< int > * t_trackHitOutMeasTOB
std::vector< int > * t_trackHitInMeasTIB
std::vector< double > * t_trackDzPV
std::vector< int > * t_PVNTracksHP
std::vector< double > * t_L1FwdJetPhi
std::vector< double > * t_nTrksJetVtx
std::vector< double > * t_esim7x7NeutHad
std::vector< double > * t_hsim3x3NeutHad
std::vector< double > * t_L1NonIsoEMPhi
std::vector< double > * t_trackDzBS
std::vector< int > * t_trackHitOutMissTOB
std::vector< double > * t_L1CenJetEta
std::vector< double > * t_trackDzPVAll
std::vector< double > * t_esim7x7Matched
std::vector< double > * t_esim9x9
std::vector< double > * t_hsim5x5
std::vector< double > * t_h5x5
std::vector< double > * t_trackDxyPV
std::vector< double > * t_hsim5x5NeutHad
std::vector< double > * t_trackChiSq
std::vector< double > * t_hsim5x5Photon
std::vector< double > * t_PVy
std::vector< int > * t_L1PreScale
std::vector< double > * t_hsim3x3Rest
std::vector< int > * t_PVisValid
std::vector< double > * t_esim9x9Rest
std::vector< double > * t_L1METPhi
std::vector< int > * t_trackHitInMissTIB
std::vector< double > * t_e9x9_15Sig
std::vector< double > * t_e7x7_15Sig
std::vector< double > * t_trackPhi
std::vector< double > * t_e7x7_10Sig
std::vector< double > * t_trackDzAll
std::vector< double > * t_esim11x11CharHad
std::vector< double > * t_e9x9_25Sig
std::vector< double > * t_esim7x7Photon
std::vector< double > * t_esim9x9NeutHad
std::vector< double > * t_L1FwdJetPt
std::vector< double > * t_simTrackP
std::vector< double > * t_hsim7x7Matched
std::vector< int > * t_trackPVIdx
std::vector< int > * t_trackHitsTOB
std::vector< double > * t_esim9x9Matched
std::vector< double > * t_hsim7x7NeutHad
std::vector< double > * t_L1IsoEMPhi
std::vector< int > * t_PVNTracks
std::vector< double > * t_maxNearP21x21
std::vector< double > * t_L1NonIsoEMEta
std::vector< double > * t_PVz
std::vector< double > * t_e15x15_20Sig
std::vector< double > * t_PVTracksSumPtHPWt
std::vector< double > * t_trackDxy
std::vector< std::string > * t_L1AlgoNames
std::vector< double > * t_hsim5x5CharHad
std::vector< double > * t_e15x15_10Sig
std::vector< double > * t_jetPhi
std::vector< double > * t_trackL
std::vector< double > * t_esim7x7Rest
std::vector< double > * t_trackDxyBS
std::vector< double > * t_trackHcalEta
std::vector< double > * t_L1METPt
std::vector< int > * t_NLayersCrossed
std::vector< int > * t_trackHitInMeasTOB
std::vector< double > * t_PVx
std::vector< int > * t_trackHitInMeasTEC
std::vector< double > * t_esim15x15Photon
std::vector< double > * t_e9x9
std::vector< double > * t_hsim5x5Matched
std::vector< double > * t_esim15x15Matched
std::vector< int > * t_trackHitOutMeasTID
std::vector< double > * t_L1METEta
std::vector< double > * t_e7x7_30Sig
std::vector< int > * t_trackHitOutMissTEC
std::vector< double > * t_e11x11_25Sig
std::vector< double > * t_hsim3x3
std::vector< double > * t_trackP
std::vector< double > * t_hsim7x7Photon
std::vector< double > * t_jetPt
std::vector< double > * t_L1IsoEMPt
std::vector< double > * t_esim11x11Photon
std::vector< double > * t_h5x5Sig
std::vector< int > * t_trackHitInMissTID
std::vector< double > * t_e11x11_30Sig
std::vector< int > * t_trackHitInMissTIBTID
std::vector< double > * t_esim9x9CharHad
std::vector< double > * t_esim15x15CharHad
double IsolatedTracksNxN::deltaPhi ( double  v1,
double  v2 
)
private

Definition at line 2322 of file IsolatedTracksNxN.cc.

References funct::abs(), corr, diffTreeTool::diff, and M_PI.

Referenced by deltaR().

2322  {
2323  // Computes the correctly normalized phi difference
2324  // v1, v2 = phi of object 1 and 2
2325  double diff = std::abs(v2 - v1);
2326  double corr = 2*M_PI - diff;
2327  return ((diff < M_PI) ? diff : corr);
2328 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
JetCorrectorParameters corr
Definition: classes.h:5
#define M_PI
double IsolatedTracksNxN::deltaR ( double  eta1,
double  phi1,
double  eta2,
double  phi2 
)
private

Definition at line 2330 of file IsolatedTracksNxN.cc.

References deltaPhi(), and mathSSE::sqrt().

Referenced by analyze().

2330  {
2331  double deta = eta1 - eta2;
2332  double dphi = deltaPhi(phi1, phi2);
2333  return std::sqrt(deta*deta + dphi*dphi);
2334 }
double deltaPhi(double v1, double v2)
T sqrt(T t)
Definition: SSEVec.h:18
void IsolatedTracksNxN::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 1612 of file IsolatedTracksNxN.cc.

References plotBeamSpotDB::first, h_L1AlgoNames, l1AlgoMap_, L1TriggerAlgoInfo_, dataset::name, and nEventProc_.

Referenced by o2olib.O2ORunMgr::executeJob().

1612  {
1613 
1614  if (L1TriggerAlgoInfo_) {
1615  std::map< std::pair<unsigned int,std::string>, int>::iterator itr;
1616  for (itr=l1AlgoMap_.begin(); itr!=l1AlgoMap_.end(); itr++) {
1617  edm::LogVerbatim("IsoTrack") << " ****endjob**** " << (itr->first).first
1618  << " " << (itr->first).second << " "
1619  << itr->second;
1620  int ibin = (itr->first).first;
1621  TString name( (itr->first).second );
1622  h_L1AlgoNames->GetXaxis()->SetBinLabel(ibin+1,name);
1623  }
1624  edm::LogVerbatim("IsoTrack") << "Number of Events Processed " <<nEventProc_;
1625  }
1626 
1627 }
const bool L1TriggerAlgoInfo_
std::map< std::pair< unsigned int, std::string >, int > l1AlgoMap_
void IsolatedTracksNxN::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 621 of file IsolatedTracksNxN.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), and edm::ParameterSetDescription::addUntracked().

621  {
622 
624  desc.addUntracked<bool>("doMC", false);
625  desc.addUntracked<bool>("writeAllTracks", false);
626  desc.addUntracked<int>("verbosity", 1);
627  desc.addUntracked<double>("pvTracksPtMin", 0.200);
628  desc.addUntracked<int>("debugTracks", 0);
629  desc.addUntracked<bool>("printTrkHitPattern", true);
630  desc.addUntracked<double>("minTrackP", 1.0);
631  desc.addUntracked<double>("maxTrackEta", 2.6);
632  desc.addUntracked<bool>("debugL1Info", false);
633  desc.addUntracked<bool>("l1TriggerAlgoInfo", false);
634  desc.add<edm::InputTag>("l1extraTauJetSource", edm::InputTag("l1extraParticles","Tau"));
635  desc.add<edm::InputTag>("l1extraCenJetSource", edm::InputTag("l1extraParticles","Central"));
636  desc.add<edm::InputTag>("l1extraFwdJetSource", edm::InputTag("l1extraParticles","Forward"));
637  desc.add<edm::InputTag>("l1extraMuonSource", edm::InputTag("l1extraParticles"));
638  desc.add<edm::InputTag>("l1extraIsoEmSource", edm::InputTag("l1extraParticles","Isolated"));
639  desc.add<edm::InputTag>("l1extraNonIsoEmSource", edm::InputTag("l1extraParticles","NonIsolated"));
640  desc.add<edm::InputTag>("l1GTReadoutRcdSource", edm::InputTag("gtDigis"));
641  desc.add<edm::InputTag>("l1GTObjectMapRcdSource",edm::InputTag("hltL1GtObjectMap"));
642  desc.add<edm::InputTag>("jetSource", edm::InputTag("iterativeCone5CaloJets"));
643  desc.add<edm::InputTag>("jetExtender", edm::InputTag("iterativeCone5JetExtender"));
644  desc.add<edm::InputTag>("hbheRecHitSource", edm::InputTag("hbhereco"));
645  desc.addUntracked<double>("maxNearTrackPT", 1.0);
646  desc.addUntracked<double>("timeMinCutECAL", -500.0);
647  desc.addUntracked<double>("timeMaxCutECAL", 500.0);
648  desc.addUntracked<double>("timeMinCutHCAL", -500.0);
649  desc.addUntracked<double>("timeMaxCutHCAL", 500.0);
650  descriptions.add("isolatedTracksNxN",desc);
651 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void IsolatedTracksNxN::printTrack ( const reco::Track pTrack)
private

Definition at line 2336 of file IsolatedTracksNxN.cc.

References reco::TrackBase::charge(), gather_cfg::cout, reco::TrackBase::d0(), DEFINE_FWK_MODULE, reco::TrackBase::eta(), reco::TrackBase::hitPattern(), mps_fire::i, reco::HitPattern::MISSING_INNER_HITS, reco::HitPattern::MISSING_OUTER_HITS, reco::TrackBase::momentum(), reco::TrackBase::normalizedChi2(), reco::HitPattern::numberOfAllHits(), reco::TrackBase::numberOfLostHits(), reco::TrackBase::numberOfValidHits(), AlCaHLTBitMon_ParallelJobs::p, reco::TrackBase::p(), reco::TrackBase::phi(), reco::HitPattern::pixelBarrelLayersWithMeasurement(), reco::HitPattern::pixelEndcapLayersWithMeasurement(), reco::HitPattern::pixelLayersWithMeasurement(), reco::HitPattern::printHitPattern(), printTrkHitPattern_, reco::TrackBase::pt(), reco::TrackBase::qoverp(), reco::TrackBase::qoverpError(), reco::TrackBase::quality(), reco::TrackBase::qualityByName(), reco::TrackBase::qualityName(), reco::TrackBase::referencePoint(), AlCaHLTBitMon_QueryRunRegistry::string, reco::HitPattern::stripLayersWithMeasurement(), reco::HitPattern::stripTECLayersWithMeasurement(), reco::HitPattern::stripTIBLayersWithMeasurement(), reco::HitPattern::stripTIDLayersWithMeasurement(), reco::HitPattern::stripTOBLayersWithMeasurement(), reco::HitPattern::TRACK_HITS, and reco::HitPattern::trackerLayersWithMeasurement().

Referenced by ntuplePrintersDiff.TrackPrinter::diff(), and ntuplePrintersDiff.TrackPrinter::printTrackAndMatchedTrackingParticles().

2336  {
2337 
2338  std::string theTrackQuality = "highPurity";
2339  reco::TrackBase::TrackQuality trackQuality_ = reco::TrackBase::qualityByName(theTrackQuality);
2340 
2341  edm::LogVerbatim("IsoTrack") << " Reference Point " <<pTrack->referencePoint()
2342  << "\n TrackMmentum " << pTrack->momentum()
2343  << " (pt,eta,phi)(" << pTrack->pt() << ","
2344  << pTrack->eta() << "," << pTrack->phi() << ")"
2345  << " p " << pTrack->p() << "\n Normalized chi2 "
2346  << pTrack->normalizedChi2() << " charge "
2347  << pTrack->charge() << " qoverp() "
2348  << pTrack->qoverp() << "+-"
2349  << pTrack->qoverpError() << " d0 "
2350  << pTrack->d0() << "\n NValidHits "
2351  << pTrack->numberOfValidHits() << " NLostHits "
2352  << pTrack->numberOfLostHits() << " TrackQuality "
2353  << pTrack->qualityName(trackQuality_) << " "
2354  << pTrack->quality(trackQuality_);
2355 
2356  if( printTrkHitPattern_ ) {
2357  const reco::HitPattern& p = pTrack->hitPattern();
2358 
2359  edm::LogVerbatim("IsoTrack") << "default ";
2360  for (int i=0; i<p.numberOfAllHits(reco::HitPattern::TRACK_HITS); i++) {
2362  }
2363  edm::LogVerbatim("IsoTrack")<<"trackerMissingInnerHits() ";
2366  }
2367  edm::LogVerbatim("IsoTrack")<<"trackerMissingOuterHits() ";
2370  }
2371 
2372 
2373  edm::LogVerbatim("IsoTrack") << "\n \t trackerLayersWithMeasurement() "
2375  << "\n \t pixelLayersWithMeasurement() "
2377  << "\n \t stripLayersWithMeasurement() "
2379  << "\n \t pixelBarrelLayersWithMeasurement() "
2381  << "\n \t pixelEndcapLayersWithMeasurement() "
2383  << "\n \t stripTIBLayersWithMeasurement() "
2385  << "\n \t stripTIDLayersWithMeasurement() "
2387  << "\n \t stripTOBLayersWithMeasurement() "
2389  << "\n \t stripTECLayersWithMeasurement() "
2391  }
2392 }
double qoverp() const
q / p
Definition: TrackBase.h:573
double p() const
momentum vector magnitude
Definition: TrackBase.h:615
int stripTOBLayersWithMeasurement() const
Definition: HitPattern.cc:606
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:681
const bool printTrkHitPattern_
static std::string qualityName(TrackQuality)
Definition: TrackBase.h:532
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
Definition: TrackBase.h:597
int stripTIBLayersWithMeasurement() const
Definition: HitPattern.cc:584
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:561
TrackQuality
track quality
Definition: TrackBase.h:151
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:645
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
Definition: TrackBase.h:826
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:501
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:675
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:520
int pixelEndcapLayersWithMeasurement() const
Definition: HitPattern.cc:572
void printHitPattern(HitCategory category, int position, std::ostream &stream) const
Definition: HitPattern.cc:834
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:651
int stripTIDLayersWithMeasurement() const
Definition: HitPattern.cc:595
double pt() const
track transverse momentum
Definition: TrackBase.h:621
int numberOfAllHits(HitCategory category) const
Definition: HitPattern.h:808
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:820
double qoverpError() const
error on signed transverse curvature
Definition: TrackBase.h:757
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:125
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:446
int stripLayersWithMeasurement() const
Definition: HitPattern.h:1036
int pixelBarrelLayersWithMeasurement() const
Definition: HitPattern.cc:560
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:510
int stripTECLayersWithMeasurement() const
Definition: HitPattern.cc:617
int charge() const
track electric charge
Definition: TrackBase.h:567

Member Data Documentation

const bool IsolatedTracksNxN::debugL1Info_
private

Definition at line 178 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const int IsolatedTracksNxN::debugTrks_
private

Definition at line 175 of file IsolatedTracksNxN.cc.

Referenced by analyze().

const bool IsolatedTracksNxN::doMC_
private

Definition at line 172 of file IsolatedTracksNxN.cc.

Referenced by analyze(), bookHistograms(), clearTreeVectors(), and IsolatedTracksNxN().

double IsolatedTracksNxN::genPartEtaBins[NEtaBins+1]
private

Definition at line 209 of file IsolatedTracksNxN.cc.

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

double IsolatedTracksNxN::genPartPBins[NPBins+1]
private

Definition at line 209 of file IsolatedTracksNxN.cc.

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

TH1I* IsolatedTracksNxN::h_L1AlgoNames
private

Definition at line 215 of file IsolatedTracksNxN.cc.

Referenced by analyze(), bookHistograms(), and endJob().

TH1F* IsolatedTracksNxN::h_maxNearP15x15[NPBins][NEtaBins]
private

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_maxNearP21x21[NPBins][NEtaBins]
private

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_maxNearP25x25[NPBins][NEtaBins]
private

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_maxNearP31x31[NPBins][NEtaBins]
private

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_nTracks
private

Definition at line 217 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_PVTracksWt
private

Definition at line 216 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_0
private

Definition at line 219 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_1
private

Definition at line 221 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_2
private

Definition at line 223 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_0
private

Definition at line 219 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_1
private

Definition at line 221 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_2
private

Definition at line 223 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recP_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recP_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recP_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

bool IsolatedTracksNxN::initL1_
private

Definition at line 180 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and beginJob().

std::map< std::pair<unsigned int,std::string>, int> IsolatedTracksNxN::l1AlgoMap_
private

Definition at line 169 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and endJob().

const bool IsolatedTracksNxN::L1TriggerAlgoInfo_
private

Definition at line 178 of file IsolatedTracksNxN.cc.

Referenced by analyze(), endJob(), and IsolatedTracksNxN().

L1GtUtils IsolatedTracksNxN::m_l1GtUtils
private

Definition at line 164 of file IsolatedTracksNxN.cc.

Referenced by analyze().

std::vector<unsigned int> IsolatedTracksNxN::m_triggerMaskAlgoTrig
private

Definition at line 170 of file IsolatedTracksNxN.cc.

const double IsolatedTracksNxN::maxTrackEta_
private

Definition at line 177 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::minTrackP_
private

Definition at line 177 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const int IsolatedTracksNxN::myverbose_
private

Definition at line 173 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

int IsolatedTracksNxN::nbad_
private

Definition at line 181 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and beginJob().

size_t IsolatedTracksNxN::NEtaBins = 3
staticprivate

Definition at line 208 of file IsolatedTracksNxN.cc.

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

int IsolatedTracksNxN::nEventProc_
private

Definition at line 181 of file IsolatedTracksNxN.cc.

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

size_t IsolatedTracksNxN::nL1BitsMax =128
staticprivate

Definition at line 165 of file IsolatedTracksNxN.cc.

size_t IsolatedTracksNxN::NPBins = 15
staticprivate

Definition at line 207 of file IsolatedTracksNxN.cc.

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

const bool IsolatedTracksNxN::printTrkHitPattern_
private

Definition at line 176 of file IsolatedTracksNxN.cc.

Referenced by printTrack().

const double IsolatedTracksNxN::pvTracksPtMin_
private

Definition at line 174 of file IsolatedTracksNxN.cc.

Referenced by analyze().

int IsolatedTracksNxN::t_Bunch
private

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

std::vector<double> * IsolatedTracksNxN::t_e11x11
private
std::vector<double> * IsolatedTracksNxN::t_e11x11_10Sig
private
std::vector<double> * IsolatedTracksNxN::t_e11x11_15Sig
private
std::vector<double> * IsolatedTracksNxN::t_e11x11_20Sig
private
std::vector<double> * IsolatedTracksNxN::t_e11x11_25Sig
private
std::vector<double> * IsolatedTracksNxN::t_e11x11_30Sig
private
std::vector<double> * IsolatedTracksNxN::t_e15x15
private
std::vector<double> * IsolatedTracksNxN::t_e15x15_10Sig
private
std::vector<double> * IsolatedTracksNxN::t_e15x15_15Sig
private
std::vector<double> * IsolatedTracksNxN::t_e15x15_20Sig
private
std::vector<double> * IsolatedTracksNxN::t_e15x15_25Sig
private
std::vector<double> * IsolatedTracksNxN::t_e15x15_30Sig
private
std::vector<double>* IsolatedTracksNxN::t_e7x7
private
std::vector<double>* IsolatedTracksNxN::t_e7x7_10Sig
private
std::vector<double>* IsolatedTracksNxN::t_e7x7_15Sig
private
std::vector<double>* IsolatedTracksNxN::t_e7x7_20Sig
private
std::vector<double>* IsolatedTracksNxN::t_e7x7_25Sig
private
std::vector<double>* IsolatedTracksNxN::t_e7x7_30Sig
private
std::vector<double> * IsolatedTracksNxN::t_e9x9
private
std::vector<double> * IsolatedTracksNxN::t_e9x9_10Sig
private
std::vector<double> * IsolatedTracksNxN::t_e9x9_15Sig
private
std::vector<double> * IsolatedTracksNxN::t_e9x9_20Sig
private
std::vector<double> * IsolatedTracksNxN::t_e9x9_25Sig
private
std::vector<double> * IsolatedTracksNxN::t_e9x9_30Sig
private
std::vector<int>* IsolatedTracksNxN::t_ecalSpike11x11
private
std::vector<double> * IsolatedTracksNxN::t_esim11x11
private
std::vector<double> * IsolatedTracksNxN::t_esim11x11CharHad
private
std::vector<double> * IsolatedTracksNxN::t_esim11x11Matched
private
std::vector<double> * IsolatedTracksNxN::t_esim11x11NeutHad
private
std::vector<double> * IsolatedTracksNxN::t_esim11x11Photon
private
std::vector<double> * IsolatedTracksNxN::t_esim11x11Rest
private
std::vector<double> * IsolatedTracksNxN::t_esim15x15
private
std::vector<double> * IsolatedTracksNxN::t_esim15x15CharHad
private
std::vector<double> * IsolatedTracksNxN::t_esim15x15Matched
private
std::vector<double> * IsolatedTracksNxN::t_esim15x15NeutHad
private
std::vector<double> * IsolatedTracksNxN::t_esim15x15Photon
private
std::vector<double> * IsolatedTracksNxN::t_esim15x15Rest
private
std::vector<double>* IsolatedTracksNxN::t_esim7x7
private
std::vector<double>* IsolatedTracksNxN::t_esim7x7CharHad
private
std::vector<double>* IsolatedTracksNxN::t_esim7x7Matched
private
std::vector<double>* IsolatedTracksNxN::t_esim7x7NeutHad
private
std::vector<double>* IsolatedTracksNxN::t_esim7x7Photon
private
std::vector<double>* IsolatedTracksNxN::t_esim7x7Rest
private
std::vector<double> * IsolatedTracksNxN::t_esim9x9
private
std::vector<double> * IsolatedTracksNxN::t_esim9x9CharHad
private
std::vector<double> * IsolatedTracksNxN::t_esim9x9Matched
private
std::vector<double> * IsolatedTracksNxN::t_esim9x9NeutHad
private
std::vector<double> * IsolatedTracksNxN::t_esim9x9Photon
private
std::vector<double> * IsolatedTracksNxN::t_esim9x9Rest
private
std::vector<double>* IsolatedTracksNxN::t_esimPdgId
private
int IsolatedTracksNxN::t_EvtNo
private

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

std::vector<double>* IsolatedTracksNxN::t_h3x3
private
std::vector<double>* IsolatedTracksNxN::t_h3x3Sig
private
std::vector<double> * IsolatedTracksNxN::t_h5x5
private
std::vector<double> * IsolatedTracksNxN::t_h5x5Sig
private
std::vector<double> * IsolatedTracksNxN::t_h7x7
private
std::vector<double> * IsolatedTracksNxN::t_h7x7Sig
private
std::vector<double>* IsolatedTracksNxN::t_hsim3x3
private
std::vector<double>* IsolatedTracksNxN::t_hsim3x3CharHad
private
std::vector<double>* IsolatedTracksNxN::t_hsim3x3Matched
private
std::vector<double>* IsolatedTracksNxN::t_hsim3x3NeutHad
private
std::vector<double>* IsolatedTracksNxN::t_hsim3x3Photon
private
std::vector<double>* IsolatedTracksNxN::t_hsim3x3Rest
private
std::vector<double> * IsolatedTracksNxN::t_hsim5x5
private
std::vector<double> * IsolatedTracksNxN::t_hsim5x5CharHad
private
std::vector<double> * IsolatedTracksNxN::t_hsim5x5Matched
private
std::vector<double> * IsolatedTracksNxN::t_hsim5x5NeutHad
private
std::vector<double> * IsolatedTracksNxN::t_hsim5x5Photon
private
std::vector<double> * IsolatedTracksNxN::t_hsim5x5Rest
private
std::vector<double> * IsolatedTracksNxN::t_hsim7x7
private
std::vector<double> * IsolatedTracksNxN::t_hsim7x7CharHad
private
std::vector<double> * IsolatedTracksNxN::t_hsim7x7Matched
private
std::vector<double> * IsolatedTracksNxN::t_hsim7x7NeutHad
private
std::vector<double> * IsolatedTracksNxN::t_hsim7x7Photon
private
std::vector<double> * IsolatedTracksNxN::t_hsim7x7Rest
private
std::vector<int>* IsolatedTracksNxN::t_infoHcal
private
std::vector<double> * IsolatedTracksNxN::t_jetEta
private
std::vector<double> * IsolatedTracksNxN::t_jetPhi
private
std::vector<double>* IsolatedTracksNxN::t_jetPt
private
std::vector<std::string>* IsolatedTracksNxN::t_L1AlgoNames
private
std::vector<double> * IsolatedTracksNxN::t_L1CenJetEta
private
std::vector<double> * IsolatedTracksNxN::t_L1CenJetPhi
private
std::vector<double>* IsolatedTracksNxN::t_L1CenJetPt
private
int IsolatedTracksNxN::t_L1Decision[128]
private

Definition at line 231 of file IsolatedTracksNxN.cc.

Referenced by analyze(), bookHistograms(), and clearTreeVectors().

std::vector<double> * IsolatedTracksNxN::t_L1FwdJetEta
private
std::vector<double> * IsolatedTracksNxN::t_L1FwdJetPhi
private
std::vector<double>* IsolatedTracksNxN::t_L1FwdJetPt
private
std::vector<double> * IsolatedTracksNxN::t_L1IsoEMEta
private
std::vector<double> * IsolatedTracksNxN::t_L1IsoEMPhi
private
std::vector<double>* IsolatedTracksNxN::t_L1IsoEMPt
private
std::vector<double> * IsolatedTracksNxN::t_L1METEta
private

Definition at line 239 of file IsolatedTracksNxN.cc.

Referenced by bookHistograms(), clearTreeVectors(), and ~IsolatedTracksNxN().

std::vector<double> * IsolatedTracksNxN::t_L1METPhi
private

Definition at line 239 of file IsolatedTracksNxN.cc.

Referenced by bookHistograms(), clearTreeVectors(), and ~IsolatedTracksNxN().

std::vector<double>* IsolatedTracksNxN::t_L1METPt
private

Definition at line 239 of file IsolatedTracksNxN.cc.

Referenced by bookHistograms(), clearTreeVectors(), and ~IsolatedTracksNxN().

std::vector<double> * IsolatedTracksNxN::t_L1MuonEta
private
std::vector<double> * IsolatedTracksNxN::t_L1MuonPhi
private
std::vector<double>* IsolatedTracksNxN::t_L1MuonPt
private
std::vector<double> * IsolatedTracksNxN::t_L1NonIsoEMEta
private
std::vector<double> * IsolatedTracksNxN::t_L1NonIsoEMPhi
private
std::vector<double>* IsolatedTracksNxN::t_L1NonIsoEMPt
private
std::vector<int>* IsolatedTracksNxN::t_L1PreScale
private
std::vector<double> * IsolatedTracksNxN::t_L1TauJetEta
private
std::vector<double> * IsolatedTracksNxN::t_L1TauJetPhi
private
std::vector<double>* IsolatedTracksNxN::t_L1TauJetPt
private
int IsolatedTracksNxN::t_Lumi
private

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

std::vector<double>* IsolatedTracksNxN::t_maxNearHcalP3x3
private
std::vector<double> * IsolatedTracksNxN::t_maxNearHcalP5x5
private
std::vector<double> * IsolatedTracksNxN::t_maxNearHcalP7x7
private
std::vector<double>* IsolatedTracksNxN::t_maxNearP21x21
private
std::vector<double>* IsolatedTracksNxN::t_maxNearP31x31
private
std::vector<int>* IsolatedTracksNxN::t_NLayersCrossed
private
int IsolatedTracksNxN::t_nTracks
private

Definition at line 227 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

std::vector<double>* IsolatedTracksNxN::t_nTrksJetCalo
private
std::vector<double> * IsolatedTracksNxN::t_nTrksJetVtx
private
std::vector<int>* IsolatedTracksNxN::t_PVisValid
private
std::vector<int> * IsolatedTracksNxN::t_PVndof
private
std::vector<int> * IsolatedTracksNxN::t_PVNTracks
private
std::vector<int>* IsolatedTracksNxN::t_PVNTracksHP
private
std::vector<int> * IsolatedTracksNxN::t_PVNTracksHPWt
private
std::vector<int> * IsolatedTracksNxN::t_PVNTracksWt
private
std::vector<double> * IsolatedTracksNxN::t_PVTracksSumPt
private
std::vector<double> * IsolatedTracksNxN::t_PVTracksSumPtHP
private
std::vector<double> * IsolatedTracksNxN::t_PVTracksSumPtHPWt
private
std::vector<double>* IsolatedTracksNxN::t_PVTracksSumPtWt
private
std::vector<double>* IsolatedTracksNxN::t_PVx
private
std::vector<double> * IsolatedTracksNxN::t_PVy
private
std::vector<double> * IsolatedTracksNxN::t_PVz
private
int IsolatedTracksNxN::t_RunNo
private

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

std::vector<double> * IsolatedTracksNxN::t_simTrackP
private
std::vector<double>* IsolatedTracksNxN::t_trackChiSq
private
std::vector<double> * IsolatedTracksNxN::t_trackChiSqAll
private
std::vector<double>* IsolatedTracksNxN::t_trackDxy
private
std::vector<double>* IsolatedTracksNxN::t_trackDxyAll
private
std::vector<double> * IsolatedTracksNxN::t_trackDxyBS
private
std::vector<double>* IsolatedTracksNxN::t_trackDxyPV
private
std::vector<double> * IsolatedTracksNxN::t_trackDxyPVAll
private
std::vector<double> * IsolatedTracksNxN::t_trackDz
private
std::vector<double> * IsolatedTracksNxN::t_trackDzAll
private
std::vector<double> * IsolatedTracksNxN::t_trackDzBS
private
std::vector<double> * IsolatedTracksNxN::t_trackDzPV
private
std::vector<double> * IsolatedTracksNxN::t_trackDzPVAll
private
std::vector<double>* IsolatedTracksNxN::t_trackEcalEta
private
std::vector<double> * IsolatedTracksNxN::t_trackEcalPhi
private
std::vector<double> * IsolatedTracksNxN::t_trackEta
private
std::vector<double> * IsolatedTracksNxN::t_trackEtaAll
private
std::vector<double> * IsolatedTracksNxN::t_trackHcalEta
private
std::vector<double> * IsolatedTracksNxN::t_trackHcalPhi
private
std::vector<int> * IsolatedTracksNxN::t_trackHitInMeasTEC
private
std::vector<int> * IsolatedTracksNxN::t_trackHitInMeasTIB
private
std::vector<int> * IsolatedTracksNxN::t_trackHitInMeasTID
private
std::vector<int>* IsolatedTracksNxN::t_trackHitInMeasTOB
private
std::vector<int> * IsolatedTracksNxN::t_trackHitInMissTEC
private
std::vector<int> * IsolatedTracksNxN::t_trackHitInMissTIB
private
std::vector<int> * IsolatedTracksNxN::t_trackHitInMissTIBTID
private
std::vector<int> * IsolatedTracksNxN::t_trackHitInMissTID
private
std::vector<int>* IsolatedTracksNxN::t_trackHitInMissTOB
private
std::vector<int> * IsolatedTracksNxN::t_trackHitOutMeasTEC
private
std::vector<int> * IsolatedTracksNxN::t_trackHitOutMeasTIB
private
std::vector<int> * IsolatedTracksNxN::t_trackHitOutMeasTID
private
std::vector<int>* IsolatedTracksNxN::t_trackHitOutMeasTOB
private
std::vector<int> * IsolatedTracksNxN::t_trackHitOutMissTEC
private
std::vector<int> * IsolatedTracksNxN::t_trackHitOutMissTIB
private
std::vector<int> * IsolatedTracksNxN::t_trackHitOutMissTID
private
std::vector<int>* IsolatedTracksNxN::t_trackHitOutMissTOB
private
std::vector<int> * IsolatedTracksNxN::t_trackHitOutMissTOBTEC
private
std::vector<int> * IsolatedTracksNxN::t_trackHitsTEC
private
std::vector<int>* IsolatedTracksNxN::t_trackHitsTOB
private
std::vector<double> * IsolatedTracksNxN::t_trackL
private
std::vector<int> * IsolatedTracksNxN::t_trackNOuterHits
private
std::vector<double>* IsolatedTracksNxN::t_trackOutPosOutHitDr
private
std::vector<double>* IsolatedTracksNxN::t_trackP
private
std::vector<double>* IsolatedTracksNxN::t_trackPAll
private
std::vector<double> * IsolatedTracksNxN::t_trackPdgIdAll
private
std::vector<double> * IsolatedTracksNxN::t_trackPhi
private
std::vector<double> * IsolatedTracksNxN::t_trackPhiAll
private
std::vector<double> * IsolatedTracksNxN::t_trackPt
private
std::vector<double>* IsolatedTracksNxN::t_trackPtAll
private
std::vector<int>* IsolatedTracksNxN::t_trackPVIdx
private
std::vector<double> * IsolatedTracksNxN::t_trkEcalEne
private
std::vector<double>* IsolatedTracksNxN::t_trkHcalEne
private
const double IsolatedTracksNxN::tMaxE_
private

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::tMaxH_
private

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::tMinE_
private

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::tMinH_
private

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<reco::BeamSpot> IsolatedTracksNxN::tok_bs_
private

Definition at line 196 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<edm::PCaloHitContainer> IsolatedTracksNxN::tok_caloEB_
private

Definition at line 202 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<edm::PCaloHitContainer> IsolatedTracksNxN::tok_caloEE_
private

Definition at line 203 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<edm::PCaloHitContainer> IsolatedTracksNxN::tok_caloHH_
private

Definition at line 204 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<EcalRecHitCollection> IsolatedTracksNxN::tok_EB_
private

Definition at line 198 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<EcalRecHitCollection> IsolatedTracksNxN::tok_EE_
private

Definition at line 199 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 194 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 192 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<reco::CaloJetCollection> IsolatedTracksNxN::tok_jets_
private

Definition at line 191 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<l1extra::L1JetParticleCollection> IsolatedTracksNxN::tok_L1extCenJet_
private

Definition at line 184 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<l1extra::L1JetParticleCollection> IsolatedTracksNxN::tok_L1extFwdJet_
private

Definition at line 185 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<l1extra::L1EmParticleCollection> IsolatedTracksNxN::tok_L1extIsoEm_
private

Definition at line 188 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<l1extra::L1MuonParticleCollection> IsolatedTracksNxN::tok_L1extMu_
private

Definition at line 187 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<l1extra::L1EmParticleCollection> IsolatedTracksNxN::tok_L1extNoIsoEm_
private

Definition at line 189 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<l1extra::L1JetParticleCollection> IsolatedTracksNxN::tok_L1extTauJet_
private

Definition at line 183 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<reco::VertexCollection> IsolatedTracksNxN::tok_recVtx_
private

Definition at line 195 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<edm::SimTrackContainer> IsolatedTracksNxN::tok_simTk_
private

Definition at line 200 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

edm::EDGetTokenT<edm::SimVertexContainer> IsolatedTracksNxN::tok_simVtx_
private

Definition at line 201 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

TrackerHitAssociator::Config IsolatedTracksNxN::trackerHitAssociatorConfig_
private

Definition at line 166 of file IsolatedTracksNxN.cc.

Referenced by analyze().

TTree* IsolatedTracksNxN::tree_
private

Definition at line 225 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

const bool IsolatedTracksNxN::writeAllTracks_
private

Definition at line 172 of file IsolatedTracksNxN.cc.

Referenced by analyze().