CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
IsolatedTracksNxN Class Reference

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

Inheritance diagram for IsolatedTracksNxN:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 IsolatedTracksNxN (const edm::ParameterSet &)
 
 ~IsolatedTracksNxN ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &)
 
void beginJob ()
 
void BookHistograms ()
 
void clearTreeVectors ()
 
double DeltaPhi (double v1, double v2)
 
double DeltaR (double eta1, double phi1, double eta2, double phi2)
 
void endJob ()
 
void printTrack (const reco::Track *pTrack)
 

Private Attributes

const MagneticFieldbField
 
bool debugL1Info_
 
int debugTrks_
 
bool doMC
 
edm::Service< TFileServicefs
 
double genPartEtaBins [4]
 
double genPartPBins [16]
 
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
 
bool L1TriggerAlgoInfo_
 
L1GtUtils m_l1GtUtils
 
std::vector< unsigned int > m_triggerMaskAlgoTrig
 
double maxTrackEta_
 
double minTrackP_
 
int myverbose_
 
int nbad
 
int nEventProc
 
bool printTrkHitPattern_
 
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
 
double tMaxE_
 
double tMaxH_
 
double tMinE_
 
double tMinH_
 
edm::EDGetTokenT< reco::BeamSpottok_bs_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
tok_caloEB_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
tok_caloEE_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
tok_caloHH_
 
edm::EDGetTokenT
< EcalRecHitCollection
tok_EB_
 
edm::EDGetTokenT
< EcalRecHitCollection
tok_EE_
 
edm::EDGetTokenT
< reco::TrackCollection
tok_genTrack_
 
edm::EDGetTokenT
< HBHERecHitCollection
tok_hbhe_
 
edm::EDGetTokenT
< reco::CaloJetCollection
tok_jets_
 
edm::EDGetTokenT
< l1extra::L1JetParticleCollection
tok_L1extCenJet_
 
edm::EDGetTokenT
< l1extra::L1JetParticleCollection
tok_L1extFwdJet_
 
edm::EDGetTokenT
< l1extra::L1EmParticleCollection
tok_L1extIsoEm_
 
edm::EDGetTokenT
< l1extra::L1MuonParticleCollection
tok_L1extMu_
 
edm::EDGetTokenT
< l1extra::L1EmParticleCollection
tok_L1extNoIsoEm_
 
edm::EDGetTokenT
< l1extra::L1JetParticleCollection
tok_L1extTauJet_
 
edm::EDGetTokenT
< reco::VertexCollection
tok_recVtx_
 
edm::EDGetTokenT
< edm::SimTrackContainer
tok_simTk_
 
edm::EDGetTokenT
< edm::SimVertexContainer
tok_simVtx_
 
TrackerHitAssociator::Config trackerHitAssociatorConfig_
 
TTree * tree
 
bool writeAllTracks
 

Static Private Attributes

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

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- 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 118 of file IsolatedTracksNxN.h.

Constructor & Destructor Documentation

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

Definition at line 38 of file IsolatedTracksNxN.cc.

References gather_cfg::cout, debugL1Info_, debugTrks_, doMC, edm::false, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), initL1, HLT_25ns14e33_v1_cff::InputTag, L1TriggerAlgoInfo_, maxTrackEta_, minTrackP_, myverbose_, nbad, printTrkHitPattern_, pvTracksPtMin_, 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_, and writeAllTracks.

38  :
41 
42  //now do what ever initialization is needed
43  doMC = iConfig.getUntrackedParameter<bool> ("DoMC", false);
44  writeAllTracks = iConfig.getUntrackedParameter<bool> ("WriteAllTracks", false );
45  myverbose_ = iConfig.getUntrackedParameter<int> ("Verbosity", 5 );
46  pvTracksPtMin_ = iConfig.getUntrackedParameter<double>("PVTracksPtMin", 1.0 );
47  debugTrks_ = iConfig.getUntrackedParameter<int> ("DebugTracks" );
48  printTrkHitPattern_ = iConfig.getUntrackedParameter<bool> ("PrintTrkHitPattern" );
49  minTrackP_ = iConfig.getUntrackedParameter<double>("minTrackP", 1.0 );
50  maxTrackEta_ = iConfig.getUntrackedParameter<double>("maxTrackEta", 5.0 );
51  debugL1Info_ = iConfig.getUntrackedParameter<bool> ("DebugL1Info", false );
52  L1TriggerAlgoInfo_ = iConfig.getUntrackedParameter<bool> ("L1TriggerAlgoInfo");
53  tMinE_ = iConfig.getUntrackedParameter<double>("TimeMinCutECAL", -500.);
54  tMaxE_ = iConfig.getUntrackedParameter<double>("TimeMaxCutECAL", 500.);
55  tMinH_ = iConfig.getUntrackedParameter<double>("TimeMinCutHCAL", -500.);
56  tMaxH_ = iConfig.getUntrackedParameter<double>("TimeMaxCutHCAL", 500.);
57 
58  edm::InputTag L1extraTauJetSource_ = iConfig.getParameter<edm::InputTag> ("L1extraTauJetSource" );
59  edm::InputTag L1extraCenJetSource_ = iConfig.getParameter<edm::InputTag> ("L1extraCenJetSource" );
60  edm::InputTag L1extraFwdJetSource_ = iConfig.getParameter<edm::InputTag> ("L1extraFwdJetSource" );
61  edm::InputTag L1extraMuonSource_ = iConfig.getParameter<edm::InputTag> ("L1extraMuonSource" );
62  edm::InputTag L1extraIsoEmSource_ = iConfig.getParameter<edm::InputTag> ("L1extraIsoEmSource" );
63  edm::InputTag L1extraNonIsoEmSource_ = iConfig.getParameter<edm::InputTag> ("L1extraNonIsoEmSource" );
64  edm::InputTag L1GTReadoutRcdSource_ = iConfig.getParameter<edm::InputTag> ("L1GTReadoutRcdSource" );
65  edm::InputTag L1GTObjectMapRcdSource_= iConfig.getParameter<edm::InputTag> ("L1GTObjectMapRcdSource");
66  edm::InputTag JetSrc_ = iConfig.getParameter<edm::InputTag> ("JetSource");
67  edm::InputTag JetExtender_ = iConfig.getParameter<edm::InputTag> ("JetExtender");
68  edm::InputTag HBHERecHitSource_ = iConfig.getParameter<edm::InputTag> ("HBHERecHitSource");
69 
70  // define tokens for access
71  tok_L1extTauJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraTauJetSource_);
72  tok_L1extCenJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraCenJetSource_);
73  tok_L1extFwdJet_ = consumes<l1extra::L1JetParticleCollection>(L1extraFwdJetSource_);
74  tok_L1extMu_ = consumes<l1extra::L1MuonParticleCollection>(L1extraMuonSource_);
75  tok_L1extIsoEm_ = consumes<l1extra::L1EmParticleCollection>(L1extraIsoEmSource_);
76  tok_L1extNoIsoEm_ = consumes<l1extra::L1EmParticleCollection>(L1extraNonIsoEmSource_);
77  tok_jets_ = consumes<reco::CaloJetCollection>(JetSrc_);
78  tok_hbhe_ = consumes<HBHERecHitCollection>(HBHERecHitSource_);
79 
80  tok_genTrack_ = consumes<reco::TrackCollection>(edm::InputTag("generalTracks"));
81  tok_recVtx_ = consumes<reco::VertexCollection>(edm::InputTag("offlinePrimaryVertices"));
82  tok_bs_ = consumes<reco::BeamSpot>(edm::InputTag("offlineBeamSpot"));
83  tok_EB_ = consumes<EcalRecHitCollection>(edm::InputTag("ecalRecHit","EcalRecHitsEB"));
84  tok_EE_ = consumes<EcalRecHitCollection>(edm::InputTag("ecalRecHit","EcalRecHitsEE"));
85 
86  tok_simTk_ = consumes<edm::SimTrackContainer>(edm::InputTag("g4SimHits"));
87  tok_simVtx_ = consumes<edm::SimVertexContainer>(edm::InputTag("g4SimHits"));
88  tok_caloEB_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", "EcalHitsEB"));
89  tok_caloEE_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", "EcalHitsEE"));
90  tok_caloHH_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", "HcalHits"));
91  nbad = 0;
92 
93  if(myverbose_>=0) {
94  std::cout <<"Parameters read from config file \n"
95  <<" doMC " << doMC
96  <<"\t myverbose_ " << myverbose_
97  <<"\t minTrackP_ " << minTrackP_
98  << "\t maxTrackEta_ " << maxTrackEta_
99  << "\t tMinE_ " << tMinE_
100  << "\t tMaxE_ " << tMaxE_
101  << "\t tMinH_ " << tMinH_
102  << "\t tMaxH_ " << tMaxH_
103  << "\n debugL1Info_ " << debugL1Info_
104  << "\t L1TriggerAlgoInfo_ " << L1TriggerAlgoInfo_
105  << "\n" << std::endl;
106  }
107 
108  initL1 = false;
109 
110 }
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extCenJet_
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::SimVertexContainer > tok_simVtx_
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
edm::EDGetTokenT< edm::SimTrackContainer > tok_simTk_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloHH_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloEB_
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extFwdJet_
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1extIsoEm_
edm::EDGetTokenT< l1extra::L1MuonParticleCollection > tok_L1extMu_
edm::EDGetTokenT< l1extra::L1EmParticleCollection > tok_L1extNoIsoEm_
edm::EDGetTokenT< reco::VertexCollection > tok_recVtx_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloEE_
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
static const bool useL1GtTriggerMenuLite(true)
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
TrackerHitAssociator::Config trackerHitAssociatorConfig_
tuple cout
Definition: gather_cfg.py:121
volatile std::atomic< bool > shutdown_flag false
edm::EDGetTokenT< reco::CaloJetCollection > tok_jets_
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > tok_L1extTauJet_
IsolatedTracksNxN::~IsolatedTracksNxN ( )

Definition at line 112 of file IsolatedTracksNxN.cc.

112  {
113 }

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 115 of file IsolatedTracksNxN.cc.

References funct::abs(), L1GtUtils::availableL1Configuration(), bField, edm::EventBase::bunchCrossing(), spr::chargeIsolationEcal(), spr::chargeIsolationHcal(), clearTreeVectors(), gather_cfg::cout, 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, 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, reco::TrackBase::hitPattern(), 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, reco::Track::outerPosition(), reco::TrackBase::p(), p1, spr::caloSimInfo::pdgMatched, phi, L1GtUtils::prescaleFactor(), edm::Handle< T >::product(), edm::ESHandle< class >::product(), spr::propagateCALO(), spr::propagateTrackerEnd(), EnergyCorrector::pt, reco::TrackBase::pt(), 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(), puppiForMET_cff::weight, writeAllTracks, x, y, and z.

115  {
116 
117  bool haveIsoTrack=false;
118 
120  iSetup.get<IdealMagneticFieldRecord>().get(bFieldH);
121  bField = bFieldH.product();
122 
124 
125  t_RunNo = iEvent.id().run();
126  t_EvtNo = iEvent.id().event();
127  t_Lumi = iEvent.luminosityBlock();
128  t_Bunch = iEvent.bunchCrossing();
129 
130  nEventProc++;
131 
133  iEvent.getByToken(tok_genTrack_, trkCollection);
134  reco::TrackCollection::const_iterator trkItr;
135  if(debugTrks_>1){
136  std::cout << "Track Collection: " << std::endl;
137  std::cout << "Number of Tracks " << trkCollection->size() << std::endl;
138  }
139  std::string theTrackQuality = "highPurity";
140  reco::TrackBase::TrackQuality trackQuality_=reco::TrackBase::qualityByName(theTrackQuality);
141 
142  //===================== save L1 Trigger information =======================
143  if( L1TriggerAlgoInfo_ ) {
144 
146 
147  int iErrorCode = -1;
148  int l1ConfCode = -1;
149  const bool l1Conf = m_l1GtUtils.availableL1Configuration(iErrorCode, l1ConfCode);
150  if( !l1Conf) {
151  std::cout << "\nL1 configuration code:" << l1ConfCode
152  << "\nNo valid L1 trigger configuration available."
153  << "\nSee text above for error code interpretation"
154  << "\nNo return here, in order to test each method, protected against configuration error."
155  << std::endl;
156  }
157 
158  const L1GtTriggerMenu* m_l1GtMenu = m_l1GtUtils.ptrL1TriggerMenuEventSetup(iErrorCode);
159  const AlgorithmMap& algorithmMap = m_l1GtMenu->gtAlgorithmMap();
160  const std::string& menuName = m_l1GtMenu->gtTriggerMenuName();
161 
162  if (!initL1) {
163  initL1=true;
164  std::cout << "menuName " << menuName << std::endl;
165  for (CItAlgo itAlgo = algorithmMap.begin(); itAlgo != algorithmMap.end(); itAlgo++) {
166  std::string algName = itAlgo->first;
167  int algBitNumber = ( itAlgo->second ).algoBitNumber();
168  l1AlgoMap.insert( std::pair<std::pair<unsigned int,std::string>,int>( std::pair<unsigned int,std::string>(algBitNumber, algName) , 0) ) ;
169  }
170  std::map< std::pair<unsigned int,std::string>, int>::iterator itr;
171  for(itr=l1AlgoMap.begin(); itr!=l1AlgoMap.end(); itr++) {
172  std::cout << " ********** " << (itr->first).first <<" "<<(itr->first).second <<" "<<itr->second << std::endl;
173  }
174  }
175 
176  std::vector<int> algbits;
177  for (CItAlgo itAlgo = algorithmMap.begin(); itAlgo != algorithmMap.end(); itAlgo++) {
178  std::string algName = itAlgo->first;
179  int algBitNumber = ( itAlgo->second ).algoBitNumber();
180  bool decision = m_l1GtUtils.decision (iEvent, itAlgo->first, iErrorCode);
181  int preScale = m_l1GtUtils.prescaleFactor (iEvent, itAlgo->first, iErrorCode);
182 
183  // save the algo names which fired
184  if( decision ){
185  l1AlgoMap[std::pair<unsigned int,std::string>(algBitNumber, algName)] += 1;
186  h_L1AlgoNames->Fill( algBitNumber );
187  t_L1AlgoNames->push_back(itAlgo->first);
188  t_L1PreScale->push_back(preScale);
189  t_L1Decision[algBitNumber] = 1;
190  algbits.push_back(algBitNumber);
191  }
192  }
193 
194  if(debugL1Info_) {
195  for(unsigned int ii=0; ii<t_L1AlgoNames->size(); ii++){
196  std::cout<<ii<<" "<<(*t_L1AlgoNames)[ii]<<" "<<(*t_L1PreScale)[ii]<<" "<<algbits[ii]<<std::endl;
197  }
198  std::cout << "L1Decision: ";
199  for (int i=0; i<128; ++i) {
200  std::cout << " " << i << ":" << t_L1Decision[i];
201  if ((i+1)%32 == 0) std::cout << std::endl;
202  }
203  }
204 
205  // L1Taus
207  iEvent.getByToken(tok_L1extTauJet_,l1TauHandle);
208  l1extra::L1JetParticleCollection::const_iterator itr;
209  int iL1Obj=0;
210  for(itr = l1TauHandle->begin(),iL1Obj=0; itr != l1TauHandle->end(); ++itr,iL1Obj++) {
211  if(iL1Obj<1) {
212  t_L1TauJetPt ->push_back( itr->pt() );
213  t_L1TauJetEta ->push_back( itr->eta() );
214  t_L1TauJetPhi ->push_back( itr->phi() );
215  }
216  if(debugL1Info_) {
217  std::cout << "tauJ p/pt " << itr->momentum() << " " << itr->pt()
218  << " eta/phi " << itr->eta() << " " << itr->phi()
219  << std::endl;
220  }
221  }
222 
223  // L1 Central Jets
225  iEvent.getByToken(tok_L1extCenJet_,l1CenJetHandle);
226  for( itr = l1CenJetHandle->begin(),iL1Obj=0; itr != l1CenJetHandle->end(); ++itr,iL1Obj++ ) {
227  if(iL1Obj<1) {
228  t_L1CenJetPt ->push_back( itr->pt() );
229  t_L1CenJetEta ->push_back( itr->eta() );
230  t_L1CenJetPhi ->push_back( itr->phi() );
231  }
232  if(debugL1Info_) {
233  std::cout << "cenJ p/pt " << itr->momentum() << " " << itr->pt()
234  << " eta/phi " << itr->eta() << " " << itr->phi()
235  << std::endl;
236  }
237  }
238 
239  // L1 Forward Jets
241  iEvent.getByToken(tok_L1extFwdJet_,l1FwdJetHandle);
242  for( itr = l1FwdJetHandle->begin(),iL1Obj=0; itr != l1FwdJetHandle->end(); ++itr,iL1Obj++ ) {
243  if(iL1Obj<1) {
244  t_L1FwdJetPt ->push_back( itr->pt() );
245  t_L1FwdJetEta ->push_back( itr->eta() );
246  t_L1FwdJetPhi ->push_back( itr->phi() );
247  }
248  if(debugL1Info_) {
249  std::cout << "fwdJ p/pt " << itr->momentum() << " " << itr->pt()
250  << " eta/phi " << itr->eta() << " " << itr->phi()
251  << std::endl;
252  }
253  }
254 
255  // L1 Isolated EM onjects
256  l1extra::L1EmParticleCollection::const_iterator itrEm;
258  iEvent.getByToken(tok_L1extIsoEm_, l1IsoEmHandle);
259  for( itrEm = l1IsoEmHandle->begin(),iL1Obj=0; itrEm != l1IsoEmHandle->end(); ++itrEm,iL1Obj++ ) {
260  if(iL1Obj<1) {
261  t_L1IsoEMPt ->push_back( itrEm->pt() );
262  t_L1IsoEMEta ->push_back( itrEm->eta() );
263  t_L1IsoEMPhi ->push_back( itrEm->phi() );
264  }
265  if(debugL1Info_) {
266  std::cout << "isoEm p/pt " << itrEm->momentum() << " " << itrEm->pt()
267  << " eta/phi " << itrEm->eta() << " " << itrEm->phi()
268  << std::endl;
269  }
270  }
271 
272  // L1 Non-Isolated EM onjects
274  iEvent.getByToken(tok_L1extNoIsoEm_, l1NonIsoEmHandle);
275  for( itrEm = l1NonIsoEmHandle->begin(),iL1Obj=0; itrEm != l1NonIsoEmHandle->end(); ++itrEm,iL1Obj++ ) {
276  if(iL1Obj<1) {
277  t_L1NonIsoEMPt ->push_back( itrEm->pt() );
278  t_L1NonIsoEMEta ->push_back( itrEm->eta() );
279  t_L1NonIsoEMPhi ->push_back( itrEm->phi() );
280  }
281  if(debugL1Info_) {
282  std::cout << "nonIsoEm p/pt " << itrEm->momentum() << " " << itrEm->pt()
283  << " eta/phi " << itrEm->eta() << " " << itrEm->phi()
284  << std::endl;
285  }
286  }
287 
288  // L1 Muons
289  l1extra::L1MuonParticleCollection::const_iterator itrMu;
291  iEvent.getByToken(tok_L1extMu_, l1MuHandle);
292  for( itrMu = l1MuHandle->begin(),iL1Obj=0; itrMu != l1MuHandle->end(); ++itrMu,iL1Obj++ ) {
293  if(iL1Obj<1) {
294  t_L1MuonPt ->push_back( itrMu->pt() );
295  t_L1MuonEta ->push_back( itrMu->eta() );
296  t_L1MuonPhi ->push_back( itrMu->phi() );
297  }
298  if(debugL1Info_) {
299  std::cout << "l1muon p/pt " << itrMu->momentum() << " " << itrMu->pt()
300  << " eta/phi " << itrMu->eta() << " " << itrMu->phi()
301  << std::endl;
302  }
303  }
304  }
305 
306  //============== store the information about all the Non-Fake vertices ===============
307 
309  iEvent.getByToken(tok_recVtx_,recVtxs);
310 
311  std::vector<reco::Track> svTracks;
312  math::XYZPoint leadPV(0,0,0);
313  double sumPtMax = -1.0;
314  for(unsigned int ind=0;ind<recVtxs->size();ind++) {
315 
316  if ( !((*recVtxs)[ind].isFake()) ) {
317  double vtxTrkSumPt=0.0, vtxTrkSumPtWt=0.0;
318  int vtxTrkNWt =0;
319  double vtxTrkSumPtHP=0.0, vtxTrkSumPtHPWt=0.0;
320  int vtxTrkNHP =0, vtxTrkNHPWt =0;
321 
322  reco::Vertex::trackRef_iterator vtxTrack = (*recVtxs)[ind].tracks_begin();
323 
324  for (vtxTrack = (*recVtxs)[ind].tracks_begin(); vtxTrack!=(*recVtxs)[ind].tracks_end(); vtxTrack++) {
325 
326  if((*vtxTrack)->pt()<pvTracksPtMin_) continue;
327 
328  bool trkQuality = (*vtxTrack)->quality(trackQuality_);
329 
330  vtxTrkSumPt += (*vtxTrack)->pt();
331 
332  vtxTrkSumPt += (*vtxTrack)->pt();
333  if( trkQuality ) {
334  vtxTrkSumPtHP += (*vtxTrack)->pt();
335  vtxTrkNHP++;
336  }
337 
338  double weight = (*recVtxs)[ind].trackWeight(*vtxTrack);
339  h_PVTracksWt ->Fill(weight);
340  if( weight>0.5) {
341  vtxTrkSumPtWt += (*vtxTrack)->pt();
342  vtxTrkNWt++;
343  if( trkQuality ) {
344  vtxTrkSumPtHPWt += (*vtxTrack)->pt();
345  vtxTrkNHPWt++;
346  }
347  }
348  }
349 
350  if(vtxTrkSumPt>sumPtMax) {
351  sumPtMax = vtxTrkSumPt;
352  leadPV = math::XYZPoint( (*recVtxs)[ind].x(),(*recVtxs)[ind].y(), (*recVtxs)[ind].z() );
353  }
354 
355  t_PVx ->push_back( (*recVtxs)[ind].x() );
356  t_PVy ->push_back( (*recVtxs)[ind].y() );
357  t_PVz ->push_back( (*recVtxs)[ind].z() );
358  t_PVisValid ->push_back( (*recVtxs)[ind].isValid() );
359  t_PVNTracks ->push_back( (*recVtxs)[ind].tracksSize() );
360  t_PVndof ->push_back( (*recVtxs)[ind].ndof() );
361  t_PVNTracksWt ->push_back( vtxTrkNWt );
362  t_PVTracksSumPt ->push_back( vtxTrkSumPt );
363  t_PVTracksSumPtWt->push_back( vtxTrkSumPtWt );
364 
365  t_PVNTracksHP ->push_back( vtxTrkNHP );
366  t_PVNTracksHPWt ->push_back( vtxTrkNHPWt );
367  t_PVTracksSumPtHP ->push_back( vtxTrkSumPtHP );
368  t_PVTracksSumPtHPWt->push_back( vtxTrkSumPtHPWt );
369 
370  if(myverbose_==4) {
371  std::cout<<"PV "<<ind<<" isValid "<<(*recVtxs)[ind].isValid()<<" isFake "<<(*recVtxs)[ind].isFake()
372  <<" hasRefittedTracks() "<<ind<<" "<<(*recVtxs)[ind].hasRefittedTracks()
373  <<" refittedTrksSize "<<(*recVtxs)[ind].refittedTracks().size()
374  <<" tracksSize() "<<(*recVtxs)[ind].tracksSize()<<" sumPt "<<vtxTrkSumPt
375  <<std::endl;
376  }
377  } // if vtx is not Fake
378  } // loop over PVs
379  //===================================================================================
380 
381  // Get the beamspot
382  edm::Handle<reco::BeamSpot> beamSpotH;
383  iEvent.getByToken(tok_bs_, beamSpotH);
384  math::XYZPoint bspot;
385  bspot = ( beamSpotH.isValid() ) ? beamSpotH->position() : math::XYZPoint(0, 0, 0);
386 
387  //=====================================================================
388 
390  iEvent.getByToken(tok_jets_,jets);
391  // edm::Handle<reco::JetExtendedAssociation::Container> jetExtender;
392  // iEvent.getByLabel(JetExtender_,jetExtender);
393 
394  for(unsigned int ijet=0;ijet<(*jets).size();ijet++) {
395  t_jetPt ->push_back( (*jets)[ijet].pt() );
396  t_jetEta ->push_back( (*jets)[ijet].eta() );
397  t_jetPhi ->push_back( (*jets)[ijet].phi() );
398  t_nTrksJetVtx ->push_back( -1.0);
399  t_nTrksJetCalo->push_back( -1.0);
400  }
401 
402  //===================================================================================
403 
404  // get handles to calogeometry and calotopology
406  iSetup.get<CaloGeometryRecord>().get(pG);
407  const CaloGeometry* geo = pG.product();
408 
409  edm::ESHandle<CaloTopology> theCaloTopology;
410  iSetup.get<CaloTopologyRecord>().get(theCaloTopology);
411  const CaloTopology *caloTopology = theCaloTopology.product();
412 
414  iSetup.get<HcalRecNumberingRecord>().get(htopo);
415  const HcalTopology* theHBHETopology = htopo.product();
416 
417  edm::Handle<EcalRecHitCollection> barrelRecHitsHandle;
418  edm::Handle<EcalRecHitCollection> endcapRecHitsHandle;
419  iEvent.getByToken(tok_EB_,barrelRecHitsHandle);
420  iEvent.getByToken(tok_EE_,endcapRecHitsHandle);
421 
422  // Retrieve the good/bad ECAL channels from the DB
424  iSetup.get<EcalChannelStatusRcd>().get(ecalChStatus);
425  const EcalChannelStatus* theEcalChStatus = ecalChStatus.product();
426 
427  // Retrieve trigger tower map
429  iSetup.get<IdealGeometryRecord>().get(hTtmap);
430  const EcalTrigTowerConstituentsMap& ttMap = *hTtmap;
431 
433  iEvent.getByToken(tok_hbhe_, hbhe);
434  if (!hbhe.isValid()) {
435  nbad++;
436  if (nbad < 10) std::cout << "No HBHE rechit collection\n";
437  return;
438  }
439  const HBHERecHitCollection Hithbhe = *(hbhe.product());
440 
441  //get Handles to SimTracks and SimHits
443  if (doMC) iEvent.getByToken(tok_simTk_,SimTk);
444  edm::SimTrackContainer::const_iterator simTrkItr;
445 
447  if (doMC) iEvent.getByToken(tok_simVtx_,SimVtx);
448 
449  //get Handles to PCaloHitContainers of eb/ee/hbhe
451  if (doMC) iEvent.getByToken(tok_caloEB_, pcaloeb);
452 
454  if (doMC) iEvent.getByToken(tok_caloEE_, pcaloee);
455 
457  if (doMC) iEvent.getByToken(tok_caloHH_, pcalohh);
458 
459  //associates tracker rechits/simhits to a track
460  std::unique_ptr<TrackerHitAssociator> associate;
461  if (doMC) associate.reset(new TrackerHitAssociator(iEvent, trackerHitAssociatorConfig_));
462 
463  //===================================================================================
464 
465  h_nTracks->Fill(trkCollection->size());
466 
467  int nTracks = 0;
468 
469  t_nTracks = trkCollection->size();
470 
471  // get the list of DetIds closest to the impact point of track on surface calorimeters
472  std::vector<spr::propagatedTrackID> trkCaloDets;
473  spr::propagateCALO(trkCollection, geo, bField, theTrackQuality, trkCaloDets, false);
474  std::vector<spr::propagatedTrackID>::const_iterator trkDetItr;
475 
476  if(myverbose_>2) {
477  for(trkDetItr = trkCaloDets.begin(); trkDetItr != trkCaloDets.end(); trkDetItr++){
478  std::cout<<trkDetItr->trkItr->p()<<" "<<trkDetItr->trkItr->eta()<<" "<<trkDetItr->okECAL<<" ";
479  if(trkDetItr->detIdECAL.subdetId() == EcalBarrel) std::cout << (EBDetId)trkDetItr->detIdECAL <<" ";
480  else std::cout << (EEDetId)trkDetItr->detIdECAL <<" ";
481  std::cout<<trkDetItr->okHCAL<<" ";
482  if(trkDetItr->okHCAL) std::cout<<(HcalDetId)trkDetItr->detIdHCAL;
483  std::cout << std::endl;
484  }
485  }
486 
487  int nvtxTracks=0;
488  for(trkDetItr = trkCaloDets.begin(),nTracks=0; trkDetItr != trkCaloDets.end(); trkDetItr++,nTracks++){
489 
490  const reco::Track* pTrack = &(*(trkDetItr->trkItr));
491 
492  // find vertex index the track is associated with
493  int pVtxTkId = -1;
494  for(unsigned int ind=0; ind<recVtxs->size(); ind++) {
495  if (!((*recVtxs)[ind].isFake())) {
496  reco::Vertex::trackRef_iterator vtxTrack = (*recVtxs)[ind].tracks_begin();
497  for (vtxTrack = (*recVtxs)[ind].tracks_begin(); vtxTrack!=(*recVtxs)[ind].tracks_end(); vtxTrack++) {
498 
499  const edm::RefToBase<reco::Track> pvtxTrack = (*vtxTrack);
500  if ( pTrack == pvtxTrack.get() ) {
501  pVtxTkId = ind;
502  break;
503  if(myverbose_>2) {
504  if( pTrack->pt()>1.0) {
505  std::cout<<"Debug the track association with vertex "<<std::endl;
506  std::cout<< pTrack << " "<< pvtxTrack.get() << std::endl;
507  std::cout<<" trkVtxIndex "<<nvtxTracks<<" vtx "<<ind<<" pt "<<pTrack->pt()
508  <<" eta "<<pTrack->eta()<<" "<<pTrack->pt()-pvtxTrack->pt()
509  <<" "<< pTrack->eta()-pvtxTrack->eta()
510  << std::endl;
511  nvtxTracks++;
512  }
513  }
514  }
515  }
516  }
517  }
518 
519  const reco::HitPattern& hitp = pTrack->hitPattern();
520  int nLayersCrossed = hitp.trackerLayersWithMeasurement() ;
521  int nOuterHits = hitp.stripTOBLayersWithMeasurement()+hitp.stripTECLayersWithMeasurement() ;
522 
523  bool ifGood = pTrack->quality(trackQuality_);
524  double pt1 = pTrack->pt();
525  double p1 = pTrack->p();
526  double eta1 = pTrack->momentum().eta();
527  double phi1 = pTrack->momentum().phi();
528  double etaEcal1 = trkDetItr->etaECAL;
529  double phiEcal1 = trkDetItr->phiECAL;
530  double etaHcal1 = trkDetItr->etaHCAL;
531  double phiHcal1 = trkDetItr->phiHCAL;
532  double dxy1 = pTrack->dxy();
533  double dz1 = pTrack->dz();
534  double chisq1 = pTrack->normalizedChi2();
535  double dxybs1 = beamSpotH.isValid() ? pTrack->dxy(bspot) : pTrack->dxy();
536  double dzbs1 = beamSpotH.isValid() ? pTrack->dz(bspot) : pTrack->dz();
537  double dxypv1 = pTrack->dxy();
538  double dzpv1 = pTrack->dz();
539  if(pVtxTkId>=0) {
540  math::XYZPoint thisTkPV = math::XYZPoint( (*recVtxs)[pVtxTkId].x(),(*recVtxs)[pVtxTkId].y(), (*recVtxs)[pVtxTkId].z() );
541  dxypv1 = pTrack->dxy(thisTkPV);
542  dzpv1 = pTrack->dz (thisTkPV);
543  }
544 
545  h_recEtaPt_0->Fill(eta1, pt1);
546  h_recEtaP_0 ->Fill(eta1, p1);
547  h_recPt_0 ->Fill(pt1);
548  h_recP_0 ->Fill(p1);
549  h_recEta_0 ->Fill(eta1);
550  h_recPhi_0 ->Fill(phi1);
551 
552  if(ifGood && nLayersCrossed>7 ) {
553  h_recEtaPt_1->Fill(eta1, pt1);
554  h_recEtaP_1 ->Fill(eta1, p1);
555  h_recPt_1 ->Fill(pt1);
556  h_recP_1 ->Fill(p1);
557  h_recEta_1 ->Fill(eta1);
558  h_recPhi_1 ->Fill(phi1);
559  }
560 
561  if( ! ifGood ) continue;
562 
563  if( writeAllTracks && p1>2.0 && nLayersCrossed>7) {
564  t_trackPAll ->push_back( p1 );
565  t_trackEtaAll ->push_back( eta1 );
566  t_trackPhiAll ->push_back( phi1 );
567  t_trackPtAll ->push_back( pt1 );
568  t_trackDxyAll ->push_back( dxy1 );
569  t_trackDzAll ->push_back( dz1 );
570  t_trackDxyPVAll ->push_back( dxypv1 );
571  t_trackDzPVAll ->push_back( dzpv1 );
572  t_trackChiSqAll ->push_back( chisq1 );
573  }
574  if (doMC) {
575  edm::SimTrackContainer::const_iterator matchedSimTrkAll = spr::matchedSimTrack(iEvent, SimTk, SimVtx, pTrack, *associate, false);
576  if( writeAllTracks && matchedSimTrkAll != SimTk->end()) t_trackPdgIdAll->push_back( matchedSimTrkAll->type() );
577  }
578 
579  if( pt1>minTrackP_ && std::abs(eta1)<maxTrackEta_ && trkDetItr->okECAL) {
580 
581  double maxNearP31x31=999.0, maxNearP25x25=999.0, maxNearP21x21=999.0, maxNearP15x15=999.0;
582  maxNearP31x31 = spr::chargeIsolationEcal(nTracks, trkCaloDets, geo, caloTopology, 15,15);
583  maxNearP25x25 = spr::chargeIsolationEcal(nTracks, trkCaloDets, geo, caloTopology, 12,12);
584  maxNearP21x21 = spr::chargeIsolationEcal(nTracks, trkCaloDets, geo, caloTopology, 10,10);
585  maxNearP15x15 = spr::chargeIsolationEcal(nTracks, trkCaloDets, geo, caloTopology, 7, 7);
586 
587  int iTrkEtaBin=-1, iTrkMomBin=-1;
588  for(unsigned int ieta=0; ieta<NEtaBins; ieta++) {
589  if(std::abs(eta1)>genPartEtaBins[ieta] && std::abs(eta1)<genPartEtaBins[ieta+1] ) iTrkEtaBin = ieta;
590  }
591  for(unsigned int ipt=0; ipt<NPBins; ipt++) {
592  if( p1>genPartPBins[ipt] && p1<genPartPBins[ipt+1] ) iTrkMomBin = ipt;
593  }
594  if( iTrkMomBin>=0 && iTrkEtaBin>=0 ) {
595  h_maxNearP31x31[iTrkMomBin][iTrkEtaBin]->Fill( maxNearP31x31 );
596  h_maxNearP25x25[iTrkMomBin][iTrkEtaBin]->Fill( maxNearP25x25 );
597  h_maxNearP21x21[iTrkMomBin][iTrkEtaBin]->Fill( maxNearP21x21 );
598  h_maxNearP15x15[iTrkMomBin][iTrkEtaBin]->Fill( maxNearP15x15 );
599  }
600  if( maxNearP31x31<0.0 && nLayersCrossed>7 && nOuterHits>4) {
601  h_recEtaPt_2->Fill(eta1, pt1);
602  h_recEtaP_2 ->Fill(eta1, p1);
603  h_recPt_2 ->Fill(pt1);
604  h_recP_2 ->Fill(p1);
605  h_recEta_2 ->Fill(eta1);
606  h_recPhi_2 ->Fill(phi1);
607  }
608 
609  // if charge isolated in ECAL, store the further quantities
610  if( maxNearP31x31<1.0) {
611 
612  haveIsoTrack = true;
613 
614  // get the matching simTrack
615  double simTrackP = -1;
616  if (doMC) {
617  edm::SimTrackContainer::const_iterator matchedSimTrk = spr::matchedSimTrack(iEvent, SimTk, SimVtx, pTrack, *associate, false);
618  if( matchedSimTrk != SimTk->end() )simTrackP = matchedSimTrk->momentum().P();
619  }
620 
622  iSetup.get<EcalSeverityLevelAlgoRcd>().get(sevlv);
623 
624  // get ECal Tranverse Profile
625  std::pair<double, bool> e7x7P, e9x9P, e11x11P, e15x15P;
626  std::pair<double, bool> e7x7_10SigP, e9x9_10SigP, e11x11_10SigP, e15x15_10SigP;
627  std::pair<double, bool> e7x7_15SigP, e9x9_15SigP, e11x11_15SigP, e15x15_15SigP;
628  std::pair<double, bool> e7x7_20SigP, e9x9_20SigP, e11x11_20SigP, e15x15_20SigP;
629  std::pair<double, bool> e7x7_25SigP, e9x9_25SigP, e11x11_25SigP, e15x15_25SigP;
630  std::pair<double, bool> e7x7_30SigP, e9x9_30SigP, e11x11_30SigP, e15x15_30SigP;
631 
632  spr::caloSimInfo simInfo3x3, simInfo5x5, simInfo7x7, simInfo9x9;
633  spr::caloSimInfo simInfo11x11, simInfo13x13, simInfo15x15, simInfo21x21, simInfo25x25, simInfo31x31;
634  double trkEcalEne=0;
635 
636  const DetId isoCell = trkDetItr->detIdECAL;
637  e7x7P = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),3,3, -100.0, -100.0, tMinE_,tMaxE_);
638  e9x9P = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),4,4, -100.0, -100.0, tMinE_,tMaxE_);
639  e11x11P = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),5,5, -100.0, -100.0, tMinE_,tMaxE_);
640  e15x15P = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),7,7, -100.0, -100.0, tMinE_,tMaxE_);
641 
642  e7x7_10SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),3,3, 0.030, 0.150, tMinE_,tMaxE_);
643  e9x9_10SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),4,4, 0.030, 0.150, tMinE_,tMaxE_);
644  e11x11_10SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),5,5, 0.030, 0.150, tMinE_,tMaxE_);
645  e15x15_10SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),7,7, 0.030, 0.150, tMinE_,tMaxE_);
646 
647  e7x7_15SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology, sevlv.product(),ttMap, 3,3, 0.20,0.45, tMinE_,tMaxE_);
648  e9x9_15SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology, sevlv.product(),ttMap, 4,4, 0.20,0.45, tMinE_,tMaxE_);
649  e11x11_15SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(), ttMap, 5,5, 0.20,0.45, tMinE_,tMaxE_);
650  e15x15_15SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology, sevlv.product(),ttMap, 7,7, 0.20,0.45, tMinE_,tMaxE_, false);
651 
652  e7x7_20SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),3,3, 0.060, 0.300, tMinE_,tMaxE_);
653  e9x9_20SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),4,4, 0.060, 0.300, tMinE_,tMaxE_);
654  e11x11_20SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),5,5, 0.060, 0.300, tMinE_,tMaxE_);
655  e15x15_20SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),7,7, 0.060, 0.300, tMinE_,tMaxE_);
656 
657  e7x7_25SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),3,3, 0.075, 0.375, tMinE_,tMaxE_);
658  e9x9_25SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),4,4, 0.075, 0.375, tMinE_,tMaxE_);
659  e11x11_25SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),5,5, 0.075, 0.375, tMinE_,tMaxE_);
660  e15x15_25SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),7,7, 0.075, 0.375, tMinE_,tMaxE_);
661 
662  e7x7_30SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),3,3, 0.090, 0.450, tMinE_,tMaxE_);
663  e9x9_30SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),4,4, 0.090, 0.450, tMinE_,tMaxE_);
664  e11x11_30SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),5,5, 0.090, 0.450, tMinE_,tMaxE_);
665  e15x15_30SigP = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle, *theEcalChStatus, geo, caloTopology,sevlv.product(),7,7, 0.090, 0.450, tMinE_,tMaxE_);
666  if(myverbose_ == 2) {
667  std::cout << "clean ecal rechit " << std::endl;
668  std::cout<<"e7x7 "<<e7x7P.first<<" e9x9 "<<e9x9P.first<<" e11x11 " << e11x11P.first << " e15x15 "<<e15x15P.first<<std::endl;
669  std::cout<<"e7x7_10Sig "<<e7x7_10SigP.first<<" e11x11_10Sig "<<e11x11_10SigP.first<<" e15x15_10Sig "<<e15x15_10SigP.first<<std::endl;
670  }
671 
672  if (doMC) {
673  // check the energy from SimHits
674  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 1,1, simInfo3x3);
675  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 2,2, simInfo5x5);
676  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 3,3, simInfo7x7);
677  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 4,4, simInfo9x9);
678  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 5,5, simInfo11x11);
679  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 6,6, simInfo13x13);
680  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 7,7, simInfo15x15, 150.0,false);
681  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 10,10, simInfo21x21);
682  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 12,12, simInfo25x25);
683  spr::eECALSimInfo(iEvent,isoCell,geo,caloTopology,pcaloeb,pcaloee,SimTk,SimVtx,pTrack, *associate, 15,15, simInfo31x31);
684 
685  trkEcalEne = spr::eCaloSimInfo(iEvent, geo, pcaloeb,pcaloee, SimTk, SimVtx, pTrack, *associate);
686  if(myverbose_ == 1) {
687  std::cout << "Track momentum " << pt1 << std::endl;
688 
689  std::cout << "ecal siminfo " << std::endl;
690  std::cout << "simInfo3x3: " << "eTotal " << simInfo3x3.eTotal << " eMatched " << simInfo3x3.eMatched << " eRest " << simInfo3x3.eRest << " eGamma "<<simInfo3x3.eGamma << " eNeutralHad " << simInfo3x3.eNeutralHad << " eChargedHad " << simInfo3x3.eChargedHad << std::endl;
691  std::cout << "simInfo5x5: " << "eTotal " << simInfo5x5.eTotal << " eMatched " << simInfo5x5.eMatched << " eRest " << simInfo5x5.eRest << " eGamma "<<simInfo5x5.eGamma << " eNeutralHad " << simInfo5x5.eNeutralHad << " eChargedHad " << simInfo5x5.eChargedHad << std::endl;
692  std::cout << "simInfo7x7: " << "eTotal " << simInfo7x7.eTotal << " eMatched " << simInfo7x7.eMatched << " eRest " << simInfo7x7.eRest << " eGamma "<<simInfo7x7.eGamma << " eNeutralHad " << simInfo7x7.eNeutralHad << " eChargedHad " << simInfo7x7.eChargedHad << std::endl;
693  std::cout << "simInfo9x9: " << "eTotal " << simInfo9x9.eTotal << " eMatched " << simInfo9x9.eMatched << " eRest " << simInfo9x9.eRest << " eGamma "<<simInfo9x9.eGamma << " eNeutralHad " << simInfo9x9.eNeutralHad << " eChargedHad " << simInfo9x9.eChargedHad << std::endl;
694  std::cout << "simInfo11x11: " << "eTotal " << simInfo11x11.eTotal << " eMatched " << simInfo11x11.eMatched << " eRest " << simInfo11x11.eRest << " eGamma "<<simInfo11x11.eGamma << " eNeutralHad " << simInfo11x11.eNeutralHad << " eChargedHad " << simInfo11x11.eChargedHad << std::endl;
695  std::cout << "simInfo15x15: " << "eTotal " << simInfo15x15.eTotal << " eMatched " << simInfo15x15.eMatched << " eRest " << simInfo15x15.eRest << " eGamma "<<simInfo15x15.eGamma << " eNeutralHad " << simInfo15x15.eNeutralHad << " eChargedHad " << simInfo15x15.eChargedHad << std::endl;
696  std::cout << "simInfo31x31: " << "eTotal " << simInfo31x31.eTotal << " eMatched " << simInfo31x31.eMatched << " eRest " << simInfo31x31.eRest << " eGamma "<<simInfo31x31.eGamma << " eNeutralHad " << simInfo31x31.eNeutralHad << " eChargedHad " << simInfo31x31.eChargedHad << std::endl;
697  std::cout << "trkEcalEne" << trkEcalEne << std::endl;
698  }
699  }
700 
701  // ======= Get HCAL information
702  double hcalScale=1.0;
703  if( std::abs(pTrack->eta())<1.4 ) {
704  hcalScale=120.0;
705  } else {
706  hcalScale=135.0;
707  }
708 
709  double maxNearHcalP3x3=-1, maxNearHcalP5x5=-1, maxNearHcalP7x7=-1;
710  maxNearHcalP3x3 = spr::chargeIsolationHcal(nTracks, trkCaloDets, theHBHETopology, 1,1);
711  maxNearHcalP5x5 = spr::chargeIsolationHcal(nTracks, trkCaloDets, theHBHETopology, 2,2);
712  maxNearHcalP7x7 = spr::chargeIsolationHcal(nTracks, trkCaloDets, theHBHETopology, 3,3);
713 
714  double h3x3=0, h5x5=0, h7x7=0;
715  double h3x3Sig=0, h5x5Sig=0, h7x7Sig=0;
716  double trkHcalEne = 0;
717  spr::caloSimInfo hsimInfo3x3, hsimInfo5x5, hsimInfo7x7;
718 
719  if(trkDetItr->okHCAL) {
720  const DetId ClosestCell(trkDetItr->detIdHCAL);
721  // bool includeHO=false, bool algoNew=true, bool debug=false
722  h3x3 = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,1,1, false, true, -100.0, -100.0, -100.0, -100.0, tMinH_,tMaxH_);
723  h5x5 = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,2,2, false, true, -100.0, -100.0, -100.0, -100.0, tMinH_,tMaxH_);
724  h7x7 = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,3,3, false, true, -100.0, -100.0, -100.0, -100.0, tMinH_,tMaxH_);
725  h3x3Sig = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,1,1, false, true, 0.7, 0.8, -100.0, -100.0, tMinH_,tMaxH_);
726  h5x5Sig = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,2,2, false, true, 0.7, 0.8, -100.0, -100.0, tMinH_,tMaxH_);
727  h7x7Sig = spr::eHCALmatrix(theHBHETopology, ClosestCell, hbhe,3,3, false, true, 0.7, 0.8, -100.0, -100.0, tMinH_,tMaxH_);
728 
729  if(myverbose_==2) {
730  std::cout << "HCAL 3x3 " << h3x3 << " " << h3x3Sig << " 5x5 " << h5x5 << " " << h5x5Sig << " 7x7 " << h7x7 << " " << h7x7Sig << std::endl;
731  }
732 
733  if (doMC) {
734  spr::eHCALSimInfo(iEvent, theHBHETopology, ClosestCell, geo,pcalohh, SimTk, SimVtx, pTrack, *associate, 1,1, hsimInfo3x3);
735  spr::eHCALSimInfo(iEvent, theHBHETopology, ClosestCell, geo,pcalohh, SimTk, SimVtx, pTrack, *associate, 2,2, hsimInfo5x5);
736  spr::eHCALSimInfo(iEvent, theHBHETopology, ClosestCell, geo,pcalohh, SimTk, SimVtx, pTrack, *associate, 3,3, hsimInfo7x7, 150.0, false,false);
737  trkHcalEne = spr::eCaloSimInfo(iEvent, geo,pcalohh, SimTk, SimVtx, pTrack, *associate);
738  if(myverbose_ == 1) {
739  std::cout << "Hcal siminfo " << std::endl;
740  std::cout << "hsimInfo3x3: " << "eTotal " << hsimInfo3x3.eTotal << " eMatched " << hsimInfo3x3.eMatched << " eRest " << hsimInfo3x3.eRest << " eGamma "<<hsimInfo3x3.eGamma << " eNeutralHad " << hsimInfo3x3.eNeutralHad << " eChargedHad " << hsimInfo3x3.eChargedHad << std::endl;
741  std::cout << "hsimInfo5x5: " << "eTotal " << hsimInfo5x5.eTotal << " eMatched " << hsimInfo5x5.eMatched << " eRest " << hsimInfo5x5.eRest << " eGamma "<<hsimInfo5x5.eGamma << " eNeutralHad " << hsimInfo5x5.eNeutralHad << " eChargedHad " << hsimInfo5x5.eChargedHad << std::endl;
742  std::cout << "hsimInfo7x7: " << "eTotal " << hsimInfo7x7.eTotal << " eMatched " << hsimInfo7x7.eMatched << " eRest " << hsimInfo7x7.eRest << " eGamma "<<hsimInfo7x7.eGamma << " eNeutralHad " << hsimInfo7x7.eNeutralHad << " eChargedHad " << hsimInfo7x7.eChargedHad << std::endl;
743  std::cout << "trkHcalEne " << trkHcalEne << std::endl;
744  }
745  }
746 
747  // debug the ecal and hcal matrix
748  if(myverbose_==4) {
749  std::cout<<"Run "<<iEvent.id().run()<<" Event "<<iEvent.id().event()<<std::endl;
750  std::vector<std::pair<DetId,double> > v7x7 = spr::eHCALmatrixCell(theHBHETopology, ClosestCell, hbhe,3,3, false, false);
751  double sumv=0.0;
752 
753  for(unsigned int iv=0; iv<v7x7.size(); iv++) {
754  sumv += v7x7[iv].second;
755  }
756  std::cout<<"h7x7 "<<h7x7<<" v7x7 "<<sumv << " in " << v7x7.size() <<std::endl;
757  for(unsigned int iv=0; iv<v7x7.size(); iv++) {
758  HcalDetId id = v7x7[iv].first;
759  std::cout << " Cell " << iv << " 0x" << std::hex << v7x7[iv].first() << std::dec << " " << id << " Energy " << v7x7[iv].second << std::endl;
760  }
761  }
762 
763  }
764  if (doMC) {
765  trkHcalEne = spr::eCaloSimInfo(iEvent, geo,pcalohh, SimTk, SimVtx, pTrack, *associate);
766  }
767 
768  // ====================================================================================================
769  // get diff between track outermost hit position and the propagation point at outermost surface of tracker
770  std::pair<math::XYZPoint,double> point2_TK0 = spr::propagateTrackerEnd( pTrack, bField, false);
771  math::XYZPoint diff(pTrack->outerPosition().X()-point2_TK0.first.X(),
772  pTrack->outerPosition().Y()-point2_TK0.first.Y(),
773  pTrack->outerPosition().Z()-point2_TK0.first.Z() );
774  double trackOutPosOutHitDr = diff.R();
775  double trackL = point2_TK0.second;
776  if (myverbose_==5) {
777  std::cout<<" propagted "<<point2_TK0.first<<" "<< point2_TK0.first.eta()<<" "<<point2_TK0.first.phi()<<std::endl;
778  std::cout<<" outerPosition() "<< pTrack->outerPosition() << " "<< pTrack->outerPosition().eta()<< " " << pTrack->outerPosition().phi()<< std::endl;
779  std::cout<<"diff " << diff << " diffR " <<diff.R()<<" diffR/L "<<diff.R()/point2_TK0.second <<std::endl;
780  }
781 
782  for(unsigned int ind=0;ind<recVtxs->size();ind++) {
783  if (!((*recVtxs)[ind].isFake())) {
784  reco::Vertex::trackRef_iterator vtxTrack = (*recVtxs)[ind].tracks_begin();
785  if( DeltaR(eta1,phi1, (*vtxTrack)->eta(),(*vtxTrack)->phi()) < 0.01 ) t_trackPVIdx ->push_back( ind );
786  else t_trackPVIdx ->push_back( -1 );
787  }
788  }
789 
790  // Fill the tree Branches here
791  t_trackPVIdx ->push_back( pVtxTkId );
792  t_trackP ->push_back( p1 );
793  t_trackPt ->push_back( pt1 );
794  t_trackEta ->push_back( eta1 );
795  t_trackPhi ->push_back( phi1 );
796  t_trackEcalEta ->push_back( etaEcal1 );
797  t_trackEcalPhi ->push_back( phiEcal1 );
798  t_trackHcalEta ->push_back( etaHcal1 );
799  t_trackHcalPhi ->push_back( phiHcal1 );
800  t_trackDxy ->push_back( dxy1 );
801  t_trackDz ->push_back( dz1 );
802  t_trackDxyBS ->push_back( dxybs1 );
803  t_trackDzBS ->push_back( dzbs1 );
804  t_trackDxyPV ->push_back( dxypv1 );
805  t_trackDzPV ->push_back( dzpv1 );
806  t_trackChiSq ->push_back( chisq1 );
807  t_trackNOuterHits ->push_back( nOuterHits );
808  t_NLayersCrossed ->push_back( nLayersCrossed );
809 
810  t_trackHitsTOB ->push_back( hitp.stripTOBLayersWithMeasurement() );
811  t_trackHitsTEC ->push_back( hitp.stripTECLayersWithMeasurement() );
817 
823 
824  t_trackHitInMeasTOB ->push_back( hitp.stripTOBLayersWithMeasurement() );
825  t_trackHitInMeasTEC ->push_back( hitp.stripTECLayersWithMeasurement() );
826  t_trackHitInMeasTIB ->push_back( hitp.stripTIBLayersWithMeasurement() );
832  t_trackOutPosOutHitDr ->push_back( trackOutPosOutHitDr );
833  t_trackL ->push_back( trackL );
834 
835  t_maxNearP31x31 ->push_back( maxNearP31x31 );
836  t_maxNearP21x21 ->push_back( maxNearP21x21 );
837 
838  t_ecalSpike11x11 ->push_back( e11x11P.second );
839  t_e7x7 ->push_back( e7x7P.first );
840  t_e9x9 ->push_back( e9x9P.first );
841  t_e11x11 ->push_back( e11x11P.first );
842  t_e15x15 ->push_back( e15x15P.first );
843 
844  t_e7x7_10Sig ->push_back( e7x7_10SigP.first );
845  t_e9x9_10Sig ->push_back( e9x9_10SigP.first );
846  t_e11x11_10Sig ->push_back( e11x11_10SigP.first );
847  t_e15x15_10Sig ->push_back( e15x15_10SigP.first );
848  t_e7x7_15Sig ->push_back( e7x7_15SigP.first );
849  t_e9x9_15Sig ->push_back( e9x9_15SigP.first );
850  t_e11x11_15Sig ->push_back( e11x11_15SigP.first );
851  t_e15x15_15Sig ->push_back( e15x15_15SigP.first );
852  t_e7x7_20Sig ->push_back( e7x7_20SigP.first );
853  t_e9x9_20Sig ->push_back( e9x9_20SigP.first );
854  t_e11x11_20Sig ->push_back( e11x11_20SigP.first );
855  t_e15x15_20Sig ->push_back( e15x15_20SigP.first );
856  t_e7x7_25Sig ->push_back( e7x7_25SigP.first );
857  t_e9x9_25Sig ->push_back( e9x9_25SigP.first );
858  t_e11x11_25Sig ->push_back( e11x11_25SigP.first );
859  t_e15x15_25Sig ->push_back( e15x15_25SigP.first );
860  t_e7x7_30Sig ->push_back( e7x7_30SigP.first );
861  t_e9x9_30Sig ->push_back( e9x9_30SigP.first );
862  t_e11x11_30Sig ->push_back( e11x11_30SigP.first );
863  t_e15x15_30Sig ->push_back( e15x15_30SigP.first );
864 
865  if (doMC) {
866  t_esim7x7 ->push_back( simInfo7x7.eTotal );
867  t_esim9x9 ->push_back( simInfo9x9.eTotal );
868  t_esim11x11 ->push_back( simInfo11x11.eTotal );
869  t_esim15x15 ->push_back( simInfo15x15.eTotal );
870 
871  t_esim7x7Matched ->push_back( simInfo7x7.eMatched );
872  t_esim9x9Matched ->push_back( simInfo9x9.eMatched );
873  t_esim11x11Matched ->push_back( simInfo11x11.eMatched );
874  t_esim15x15Matched ->push_back( simInfo15x15.eMatched );
875 
876  t_esim7x7Rest ->push_back( simInfo7x7.eRest );
877  t_esim9x9Rest ->push_back( simInfo9x9.eRest );
878  t_esim11x11Rest ->push_back( simInfo11x11.eRest );
879  t_esim15x15Rest ->push_back( simInfo15x15.eRest );
880 
881  t_esim7x7Photon ->push_back( simInfo7x7.eGamma );
882  t_esim9x9Photon ->push_back( simInfo9x9.eGamma );
883  t_esim11x11Photon ->push_back( simInfo11x11.eGamma );
884  t_esim15x15Photon ->push_back( simInfo15x15.eGamma );
885 
886  t_esim7x7NeutHad ->push_back( simInfo7x7.eNeutralHad );
887  t_esim9x9NeutHad ->push_back( simInfo9x9.eNeutralHad );
888  t_esim11x11NeutHad ->push_back( simInfo11x11.eNeutralHad );
889  t_esim15x15NeutHad ->push_back( simInfo15x15.eNeutralHad );
890 
891  t_esim7x7CharHad ->push_back( simInfo7x7.eChargedHad );
892  t_esim9x9CharHad ->push_back( simInfo9x9.eChargedHad );
893  t_esim11x11CharHad ->push_back( simInfo11x11.eChargedHad );
894  t_esim15x15CharHad ->push_back( simInfo15x15.eChargedHad );
895 
896  t_trkEcalEne ->push_back( trkEcalEne );
897  t_simTrackP ->push_back( simTrackP );
898  t_esimPdgId ->push_back( simInfo11x11.pdgMatched );
899  }
900 
901  t_maxNearHcalP3x3 ->push_back( maxNearHcalP3x3 );
902  t_maxNearHcalP5x5 ->push_back( maxNearHcalP5x5 );
903  t_maxNearHcalP7x7 ->push_back( maxNearHcalP7x7 );
904 
905  t_h3x3 ->push_back( h3x3 );
906  t_h5x5 ->push_back( h5x5 );
907  t_h7x7 ->push_back( h7x7 );
908  t_h3x3Sig ->push_back( h3x3Sig );
909  t_h5x5Sig ->push_back( h5x5Sig );
910  t_h7x7Sig ->push_back( h7x7Sig );
911 
912  t_infoHcal ->push_back( trkDetItr->okHCAL );
913  if (doMC) {
914  t_trkHcalEne ->push_back( hcalScale*trkHcalEne );
915 
916  t_hsim3x3 ->push_back( hcalScale*hsimInfo3x3.eTotal );
917  t_hsim5x5 ->push_back( hcalScale*hsimInfo5x5.eTotal );
918  t_hsim7x7 ->push_back( hcalScale*hsimInfo7x7.eTotal );
919 
920  t_hsim3x3Matched ->push_back( hcalScale*hsimInfo3x3.eMatched );
921  t_hsim5x5Matched ->push_back( hcalScale*hsimInfo5x5.eMatched );
922  t_hsim7x7Matched ->push_back( hcalScale*hsimInfo7x7.eMatched );
923 
924  t_hsim3x3Rest ->push_back( hcalScale*hsimInfo3x3.eRest );
925  t_hsim5x5Rest ->push_back( hcalScale*hsimInfo5x5.eRest );
926  t_hsim7x7Rest ->push_back( hcalScale*hsimInfo7x7.eRest );
927 
928  t_hsim3x3Photon ->push_back( hcalScale*hsimInfo3x3.eGamma );
929  t_hsim5x5Photon ->push_back( hcalScale*hsimInfo5x5.eGamma );
930  t_hsim7x7Photon ->push_back( hcalScale*hsimInfo7x7.eGamma );
931 
932  t_hsim3x3NeutHad ->push_back( hcalScale*hsimInfo3x3.eNeutralHad );
933  t_hsim5x5NeutHad ->push_back( hcalScale*hsimInfo5x5.eNeutralHad );
934  t_hsim7x7NeutHad ->push_back( hcalScale*hsimInfo7x7.eNeutralHad );
935 
936  t_hsim3x3CharHad ->push_back( hcalScale*hsimInfo3x3.eChargedHad );
937  t_hsim5x5CharHad ->push_back( hcalScale*hsimInfo5x5.eChargedHad );
938  t_hsim7x7CharHad ->push_back( hcalScale*hsimInfo7x7.eChargedHad );
939  }
940 
941  } // if loosely isolated track
942  } // check p1/eta
943  } // loop over track collection
944 
945  if(haveIsoTrack) tree->Fill();
946 }
RunNumber_t run() const
Definition: EventID.h:39
std::vector< double > * t_hsim7x7CharHad
double p() const
momentum vector magnitude
Definition: TrackBase.h:602
std::vector< double > * t_hsim3x3Matched
int stripTOBLayersWithMeasurement() const
Definition: HitPattern.cc:602
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:225
std::vector< double > * t_nTrksJetCalo
EventNumber_t event() const
Definition: EventID.h:41
std::vector< double > * t_maxNearHcalP7x7
std::vector< double > * t_trackPt
int i
Definition: DBlmapReader.cc:9
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< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, std::string &theTrackQuality, bool debug=false)
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:580
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:548
std::vector< double > * t_trackEtaAll
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:464
std::vector< double > * t_e9x9_10Sig
TH1F * h_maxNearP25x25[NPBins][NEtaBins]
TrackQuality
track quality
Definition: TrackBase.h:149
std::vector< double > * t_hsim3x3CharHad
int stripTOBLayersWithoutMeasurement(HitCategory category) const
Definition: HitPattern.cc:670
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
static const size_t NEtaBins
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
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:662
int ii
Definition: cuy.py:588
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:516
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
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
std::vector< double > * t_trackPtAll
std::vector< double > * t_h3x3Sig
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, bool debug=false)
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::map< std::pair< unsigned int, std::string >, int > l1AlgoMap
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_trackEta
std::vector< double > * t_esim9x9Photon
std::vector< int > * t_trackHitInMeasTID
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:638
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:591
std::vector< int > * t_trackHitOutMissTID
std::vector< int > * t_trackHitOutMissTOBTEC
vector< PseudoJet > jets
double pt() const
track transverse momentum
Definition: TrackBase.h:608
std::vector< int > * t_trackHitsTEC
std::vector< double > * t_e9x9_30Sig
const MagneticField * bField
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:75
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
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:596
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:659
Definition: DetId.h:18
std::vector< int > * t_PVisValid
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:123
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:437
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
std::vector< double > * t_trkEcalEne
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
const T & get() const
Definition: EventSetup.h:56
T const * product() const
Definition: ESHandle.h:86
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:497
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
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:613
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector&lt;TrackRef&gt;
Definition: Vertex.h:37
TH1F * h_maxNearP21x21[NPBins][NEtaBins]
int stripTECLayersWithoutMeasurement(HitCategory category) const
Definition: HitPattern.cc:681
std::vector< double > * t_jetPhi
std::vector< double > * t_trackL
std::vector< double > * t_esim7x7Rest
std::vector< double > * t_trackDxyBS
tuple cout
Definition: gather_cfg.py:121
std::vector< double > * t_trackHcalEta
std::vector< int > * t_NLayersCrossed
edm::EDGetTokenT< reco::CaloJetCollection > tok_jets_
double DeltaR(double eta1, double phi1, double eta2, double phi2)
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 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:578
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
std::vector< int > * t_trackHitOutMissTEC
std::vector< double > * t_e11x11_25Sig
std::vector< double > * t_hsim3x3
std::vector< double > * t_trackP
static const size_t NPBins
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:648
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_
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  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 949 of file IsolatedTracksNxN.cc.

References BookHistograms(), genPartEtaBins, genPartPBins, i, and nEventProc.

949  {
950 
951  nEventProc=0;
952 
953  // double tempgen_TH[21] = { 1.0, 2.0, 3.0, 4.0, 5.0,
954  double tempgen_TH[16] = { 0.0, 1.0, 2.0, 3.0, 4.0,
955  5.0, 6.0, 7.0, 9.0, 11.0,
956  15.0, 20.0, 30.0, 50.0, 75.0, 100.0};
957 
958  for(int i=0; i<16; i++) genPartPBins[i] = tempgen_TH[i];
959 
960  double tempgen_Eta[4] = {0.0, 1.131, 1.653, 2.172};
961 
962  for(int i=0; i<4; i++) genPartEtaBins[i] = tempgen_Eta[i];
963 
964  BookHistograms();
965 }
int i
Definition: DBlmapReader.cc:9
void IsolatedTracksNxN::BookHistograms ( )
private

Definition at line 1190 of file IsolatedTracksNxN.cc.

References dir, doMC, fs, 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, 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().

1190  {
1191 
1192  char hname[100], htit[100];
1193 
1194  TFileDirectory dir = fs->mkdir("nearMaxTrackP");
1195 
1196  for(unsigned int ieta=0; ieta<NEtaBins; ieta++) {
1197  double lowEta=-5.0, highEta= 5.0;
1198  lowEta = genPartEtaBins[ieta];
1199  highEta = genPartEtaBins[ieta+1];
1200 
1201  for(unsigned int ipt=0; ipt<NPBins; ipt++) {
1202  double lowP=0.0, highP=300.0;
1203  lowP = genPartPBins[ipt];
1204  highP = genPartPBins[ipt+1];
1205  sprintf(hname, "h_maxNearP31x31_ptBin%i_etaBin%i",ipt, ieta);
1206  sprintf(htit, "maxNearP in 31x31 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1207  h_maxNearP31x31[ipt][ieta] = dir.make<TH1F>(hname, htit, 220, -2.0, 20.0);
1208  h_maxNearP31x31[ipt][ieta] ->Sumw2();
1209  sprintf(hname, "h_maxNearP25x25_ptBin%i_etaBin%i",ipt, ieta);
1210  sprintf(htit, "maxNearP in 25x25 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1211  h_maxNearP25x25[ipt][ieta] = dir.make<TH1F>(hname, htit, 220, -2.0, 20.0);
1212  h_maxNearP25x25[ipt][ieta] ->Sumw2();
1213  sprintf(hname, "h_maxNearP21x21_ptBin%i_etaBin%i",ipt, ieta);
1214  sprintf(htit, "maxNearP in 21x21 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1215  h_maxNearP21x21[ipt][ieta] = dir.make<TH1F>(hname, htit, 220, -2.0, 20.0);
1216  h_maxNearP21x21[ipt][ieta] ->Sumw2();
1217  sprintf(hname, "h_maxNearP15x15_ptBin%i_etaBin%i",ipt, ieta);
1218  sprintf(htit, "maxNearP in 15x15 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1219  h_maxNearP15x15[ipt][ieta] = dir.make<TH1F>(hname, htit, 220, -2.0, 20.0);
1220  h_maxNearP15x15[ipt][ieta] ->Sumw2();
1221  }
1222  }
1223 
1224  h_L1AlgoNames = fs->make<TH1I>("h_L1AlgoNames", "h_L1AlgoNames:Bin Labels", 128, -0.5, 127.5);
1225 
1226  // Reconstructed Tracks
1227 
1228  h_PVTracksWt = fs->make<TH1F>("h_PVTracksWt", "h_PVTracksWt", 600, -0.1, 1.1);
1229 
1230  h_nTracks = fs->make<TH1F>("h_nTracks", "h_nTracks", 1000, -0.5, 999.5);
1231 
1232  sprintf(hname, "h_recEtaPt_0");
1233  sprintf(htit, "h_recEtaPt (all tracks Eta vs pT)");
1234  h_recEtaPt_0 = fs->make<TH2F>(hname, htit, 30, -3.0,3.0, 15, genPartPBins);
1235 
1236  sprintf(hname, "h_recEtaP_0");
1237  sprintf(htit, "h_recEtaP (all tracks Eta vs pT)");
1238  h_recEtaP_0 = fs->make<TH2F>(hname, htit, 30, -3.0,3.0, 15, genPartPBins);
1239 
1240  h_recPt_0 = fs->make<TH1F>("h_recPt_0", "Pt (all tracks)", 15, genPartPBins);
1241  h_recP_0 = fs->make<TH1F>("h_recP_0", "P (all tracks)", 15, genPartPBins);
1242  h_recEta_0 = fs->make<TH1F>("h_recEta_0", "Eta (all tracks)", 60, -3.0, 3.0);
1243  h_recPhi_0 = fs->make<TH1F>("h_recPhi_0", "Phi (all tracks)", 100, -3.2, 3.2);
1244  //-------------------------
1245  sprintf(hname, "h_recEtaPt_1");
1246  sprintf(htit, "h_recEtaPt (all good tracks Eta vs pT)");
1247  h_recEtaPt_1 = fs->make<TH2F>(hname, htit, 30, -3.0,3.0, 15, genPartPBins);
1248 
1249  sprintf(hname, "h_recEtaP_1");
1250  sprintf(htit, "h_recEtaP (all good tracks Eta vs pT)");
1251  h_recEtaP_1 = fs->make<TH2F>(hname, htit, 30, -3.0, 3.0, 15, genPartPBins);
1252 
1253  h_recPt_1 = fs->make<TH1F>("h_recPt_1", "Pt (all good tracks)", 15, genPartPBins);
1254  h_recP_1 = fs->make<TH1F>("h_recP_1", "P (all good tracks)", 15, genPartPBins);
1255  h_recEta_1 = fs->make<TH1F>("h_recEta_1", "Eta (all good tracks)", 60, -3.0, 3.0);
1256  h_recPhi_1 = fs->make<TH1F>("h_recPhi_1", "Phi (all good tracks)", 100, -3.2, 3.2);
1257  //-------------------------
1258  sprintf(hname, "h_recEtaPt_2");
1259  sprintf(htit, "h_recEtaPt (charge isolation Eta vs pT)");
1260  h_recEtaPt_2 = fs->make<TH2F>(hname, htit, 30, -3.0, 3.0, 15, genPartPBins);
1261 
1262  sprintf(hname, "h_recEtaP_2");
1263  sprintf(htit, "h_recEtaP (charge isolation Eta vs pT)");
1264  h_recEtaP_2 = fs->make<TH2F>(hname, htit, 30, -3.0, 3.0, 15, genPartPBins);
1265 
1266  h_recPt_2 = fs->make<TH1F>("h_recPt_2", "Pt (charge isolation)", 15, genPartPBins);
1267  h_recP_2 = fs->make<TH1F>("h_recP_2", "P (charge isolation)", 15, genPartPBins);
1268  h_recEta_2 = fs->make<TH1F>("h_recEta_2", "Eta (charge isolation)", 60, -3.0, 3.0);
1269  h_recPhi_2 = fs->make<TH1F>("h_recPhi_2", "Phi (charge isolation)", 100, -3.2, 3.2);
1270 
1271 
1272  tree = fs->make<TTree>("tree", "tree");
1273  tree->SetAutoSave(10000);
1274 
1275 
1276  tree->Branch("t_EvtNo" ,&t_EvtNo ,"t_EvtNo/I");
1277  tree->Branch("t_RunNo" ,&t_RunNo ,"t_RunNo/I");
1278  tree->Branch("t_Lumi" ,&t_Lumi ,"t_Lumi/I");
1279  tree->Branch("t_Bunch" ,&t_Bunch ,"t_Bunch/I");
1280 
1281 
1282  t_PVx = new std::vector<double>();
1283  t_PVy = new std::vector<double>();
1284  t_PVz = new std::vector<double>();
1285  t_PVisValid = new std::vector<int>();
1286  t_PVndof = new std::vector<int>();
1287  t_PVNTracks = new std::vector<int>();
1288  t_PVNTracksWt = new std::vector<int>();
1289  t_PVTracksSumPt = new std::vector<double>();
1290  t_PVTracksSumPtWt = new std::vector<double>();
1291  t_PVNTracksHP = new std::vector<int>();
1292  t_PVNTracksHPWt = new std::vector<int>();
1293  t_PVTracksSumPtHP = new std::vector<double>();
1294  t_PVTracksSumPtHPWt = new std::vector<double>();
1295 
1296  tree->Branch("PVx" ,"vector<double>" ,&t_PVx);
1297  tree->Branch("PVy" ,"vector<double>" ,&t_PVy);
1298  tree->Branch("PVz" ,"vector<double>" ,&t_PVz);
1299  tree->Branch("PVisValid" ,"vector<int>" ,&t_PVisValid);
1300  tree->Branch("PVndof" ,"vector<int>" ,&t_PVndof);
1301  tree->Branch("PVNTracks" ,"vector<int>" ,&t_PVNTracks);
1302  tree->Branch("PVNTracksWt" ,"vector<int>" ,&t_PVNTracksWt);
1303  tree->Branch("t_PVTracksSumPt" ,"vector<double>" ,&t_PVTracksSumPt);
1304  tree->Branch("t_PVTracksSumPtWt" ,"vector<double>" ,&t_PVTracksSumPtWt);
1305  tree->Branch("PVNTracksHP" ,"vector<int>" ,&t_PVNTracksHP);
1306  tree->Branch("PVNTracksHPWt" ,"vector<int>" ,&t_PVNTracksHPWt);
1307  tree->Branch("t_PVTracksSumPtHP" ,"vector<double>" ,&t_PVTracksSumPtHP);
1308  tree->Branch("t_PVTracksSumPtHPWt" ,"vector<double>" ,&t_PVTracksSumPtHPWt);
1309 
1310  //----- L1Trigger information
1311  for(int i=0; i<128; i++) t_L1Decision[i]=0;
1312  t_L1AlgoNames = new std::vector<std::string>();
1313  t_L1PreScale = new std::vector<int>();
1314  t_L1CenJetPt = new std::vector<double>();
1315  t_L1CenJetEta = new std::vector<double>();
1316  t_L1CenJetPhi = new std::vector<double>();
1317  t_L1FwdJetPt = new std::vector<double>();
1318  t_L1FwdJetEta = new std::vector<double>();
1319  t_L1FwdJetPhi = new std::vector<double>();
1320  t_L1TauJetPt = new std::vector<double>();
1321  t_L1TauJetEta = new std::vector<double>();
1322  t_L1TauJetPhi = new std::vector<double>();
1323  t_L1MuonPt = new std::vector<double>();
1324  t_L1MuonEta = new std::vector<double>();
1325  t_L1MuonPhi = new std::vector<double>();
1326  t_L1IsoEMPt = new std::vector<double>();
1327  t_L1IsoEMEta = new std::vector<double>();
1328  t_L1IsoEMPhi = new std::vector<double>();
1329  t_L1NonIsoEMPt = new std::vector<double>();
1330  t_L1NonIsoEMEta = new std::vector<double>();
1331  t_L1NonIsoEMPhi = new std::vector<double>();
1332  t_L1METPt = new std::vector<double>();
1333  t_L1METEta = new std::vector<double>();
1334  t_L1METPhi = new std::vector<double>();
1335 
1336  tree->Branch("t_L1Decision", t_L1Decision, "t_L1Decision[128]/I");
1337  tree->Branch("t_L1AlgoNames", "vector<string>", &t_L1AlgoNames);
1338  tree->Branch("t_L1PreScale", "vector<int>", &t_L1PreScale);
1339  tree->Branch("t_L1CenJetPt", "vector<double>", &t_L1CenJetPt);
1340  tree->Branch("t_L1CenJetEta", "vector<double>", &t_L1CenJetEta);
1341  tree->Branch("t_L1CenJetPhi", "vector<double>", &t_L1CenJetPhi);
1342  tree->Branch("t_L1FwdJetPt", "vector<double>", &t_L1FwdJetPt);
1343  tree->Branch("t_L1FwdJetEta", "vector<double>", &t_L1FwdJetEta);
1344  tree->Branch("t_L1FwdJetPhi", "vector<double>", &t_L1FwdJetPhi);
1345  tree->Branch("t_L1TauJetPt", "vector<double>", &t_L1TauJetPt);
1346  tree->Branch("t_L1TauJetEta", "vector<double>", &t_L1TauJetEta);
1347  tree->Branch("t_L1TauJetPhi", "vector<double>", &t_L1TauJetPhi);
1348  tree->Branch("t_L1MuonPt", "vector<double>", &t_L1MuonPt);
1349  tree->Branch("t_L1MuonEta", "vector<double>", &t_L1MuonEta);
1350  tree->Branch("t_L1MuonPhi", "vector<double>", &t_L1MuonPhi);
1351  tree->Branch("t_L1IsoEMPt", "vector<double>", &t_L1IsoEMPt);
1352  tree->Branch("t_L1IsoEMEta", "vector<double>", &t_L1IsoEMEta);
1353  tree->Branch("t_L1IsoEMPhi", "vector<double>", &t_L1IsoEMPhi);
1354  tree->Branch("t_L1NonIsoEMPt", "vector<double>", &t_L1NonIsoEMPt);
1355  tree->Branch("t_L1NonIsoEMEta", "vector<double>", &t_L1NonIsoEMEta);
1356  tree->Branch("t_L1NonIsoEMPhi", "vector<double>", &t_L1NonIsoEMPhi);
1357  tree->Branch("t_L1METPt", "vector<double>", &t_L1METPt);
1358  tree->Branch("t_L1METEta", "vector<double>", &t_L1METEta);
1359  tree->Branch("t_L1METPhi", "vector<double>", &t_L1METPhi);
1360 
1361  t_jetPt = new std::vector<double>();
1362  t_jetEta = new std::vector<double>();
1363  t_jetPhi = new std::vector<double>();
1364  t_nTrksJetCalo = new std::vector<double>();
1365  t_nTrksJetVtx = new std::vector<double>();
1366  tree->Branch("t_jetPt", "vector<double>",&t_jetPt);
1367  tree->Branch("t_jetEta", "vector<double>",&t_jetEta);
1368  tree->Branch("t_jetPhi", "vector<double>",&t_jetPhi);
1369  tree->Branch("t_nTrksJetCalo", "vector<double>",&t_nTrksJetCalo);
1370  tree->Branch("t_nTrksJetVtx", "vector<double>",&t_nTrksJetVtx);
1371 
1372  t_trackPAll = new std::vector<double>();
1373  t_trackEtaAll = new std::vector<double>();
1374  t_trackPhiAll = new std::vector<double>();
1375  t_trackPdgIdAll = new std::vector<double>();
1376  t_trackPtAll = new std::vector<double>();
1377  t_trackDxyAll = new std::vector<double>();
1378  t_trackDzAll = new std::vector<double>();
1379  t_trackDxyPVAll = new std::vector<double>();
1380  t_trackDzPVAll = new std::vector<double>();
1381  t_trackChiSqAll = new std::vector<double>();
1382  tree->Branch("t_trackPAll", "vector<double>", &t_trackPAll );
1383  tree->Branch("t_trackPhiAll", "vector<double>", &t_trackPhiAll );
1384  tree->Branch("t_trackEtaAll", "vector<double>", &t_trackEtaAll );
1385  tree->Branch("t_trackPtAll", "vector<double>", &t_trackPtAll );
1386  tree->Branch("t_trackDxyAll", "vector<double>", &t_trackDxyAll );
1387  tree->Branch("t_trackDzAll", "vector<double>", &t_trackDzAll );
1388  tree->Branch("t_trackDxyPVAll", "vector<double>", &t_trackDxyPVAll );
1389  tree->Branch("t_trackDzPVAll", "vector<double>", &t_trackDzPVAll );
1390  tree->Branch("t_trackChiSqAll", "vector<double>", &t_trackChiSqAll );
1391  //tree->Branch("t_trackPdgIdAll", "vector<double>", &t_trackPdgIdAll);
1392 
1393  t_trackP = new std::vector<double>();
1394  t_trackPt = new std::vector<double>();
1395  t_trackEta = new std::vector<double>();
1396  t_trackPhi = new std::vector<double>();
1397  t_trackEcalEta = new std::vector<double>();
1398  t_trackEcalPhi = new std::vector<double>();
1399  t_trackHcalEta = new std::vector<double>();
1400  t_trackHcalPhi = new std::vector<double>();
1401  t_trackNOuterHits = new std::vector<int>();
1402  t_NLayersCrossed = new std::vector<int>();
1403  t_trackDxy = new std::vector<double>();
1404  t_trackDxyBS = new std::vector<double>();
1405  t_trackDz = new std::vector<double>();
1406  t_trackDzBS = new std::vector<double>();
1407  t_trackDxyPV = new std::vector<double>();
1408  t_trackDzPV = new std::vector<double>();
1409  t_trackPVIdx = new std::vector<int>();
1410  t_trackChiSq = new std::vector<double>();
1411  t_trackHitsTOB = new std::vector<int>();
1412  t_trackHitsTEC = new std::vector<int>();
1413  t_trackHitInMissTOB = new std::vector<int>();
1414  t_trackHitInMissTEC = new std::vector<int>();
1415  t_trackHitInMissTIB = new std::vector<int>();
1416  t_trackHitInMissTID = new std::vector<int>();
1417  t_trackHitOutMissTOB = new std::vector<int>();
1418  t_trackHitOutMissTEC = new std::vector<int>();
1419  t_trackHitOutMissTIB = new std::vector<int>();
1420  t_trackHitOutMissTID = new std::vector<int>();
1421  t_trackHitInMissTIBTID = new std::vector<int>();
1422  t_trackHitOutMissTOB = new std::vector<int>();
1423  t_trackHitOutMissTEC = new std::vector<int>();
1424  t_trackHitOutMissTIB = new std::vector<int>();
1425  t_trackHitOutMissTID = new std::vector<int>();
1426  t_trackHitOutMissTOBTEC= new std::vector<int>();
1427  t_trackHitInMeasTOB = new std::vector<int>();
1428  t_trackHitInMeasTEC = new std::vector<int>();
1429  t_trackHitInMeasTIB = new std::vector<int>();
1430  t_trackHitInMeasTID = new std::vector<int>();
1431  t_trackHitOutMeasTOB = new std::vector<int>();
1432  t_trackHitOutMeasTEC = new std::vector<int>();
1433  t_trackHitOutMeasTIB = new std::vector<int>();
1434  t_trackHitOutMeasTID = new std::vector<int>();
1435  t_trackOutPosOutHitDr = new std::vector<double>();
1436  t_trackL = new std::vector<double>();
1437 
1438  tree->Branch("t_trackP", "vector<double>", &t_trackP );
1439  tree->Branch("t_trackPt", "vector<double>", &t_trackPt );
1440  tree->Branch("t_trackEta", "vector<double>", &t_trackEta );
1441  tree->Branch("t_trackPhi", "vector<double>", &t_trackPhi );
1442  tree->Branch("t_trackEcalEta", "vector<double>", &t_trackEcalEta );
1443  tree->Branch("t_trackEcalPhi", "vector<double>", &t_trackEcalPhi );
1444  tree->Branch("t_trackHcalEta", "vector<double>", &t_trackHcalEta );
1445  tree->Branch("t_trackHcalPhi", "vector<double>", &t_trackHcalPhi );
1446 
1447  tree->Branch("t_trackNOuterHits", "vector<int>", &t_trackNOuterHits );
1448  tree->Branch("t_NLayersCrossed", "vector<int>", &t_NLayersCrossed );
1449  tree->Branch("t_trackHitsTOB", "vector<int>", &t_trackHitsTOB );
1450  tree->Branch("t_trackHitsTEC", "vector<int>", &t_trackHitsTEC );
1451  tree->Branch("t_trackHitInMissTOB", "vector<int>", &t_trackHitInMissTOB );
1452  tree->Branch("t_trackHitInMissTEC", "vector<int>", &t_trackHitInMissTEC );
1453  tree->Branch("t_trackHitInMissTIB", "vector<int>", &t_trackHitInMissTIB );
1454  tree->Branch("t_trackHitInMissTID", "vector<int>", &t_trackHitInMissTID );
1455  tree->Branch("t_trackHitInMissTIBTID", "vector<int>", &t_trackHitInMissTIBTID );
1456  tree->Branch("t_trackHitOutMissTOB", "vector<int>", &t_trackHitOutMissTOB);
1457  tree->Branch("t_trackHitOutMissTEC", "vector<int>", &t_trackHitOutMissTEC);
1458  tree->Branch("t_trackHitOutMissTIB", "vector<int>", &t_trackHitOutMissTIB);
1459  tree->Branch("t_trackHitOutMissTID", "vector<int>", &t_trackHitOutMissTID);
1460  tree->Branch("t_trackHitOutMissTOBTEC","vector<int>", &t_trackHitOutMissTOBTEC);
1461  tree->Branch("t_trackHitInMeasTOB", "vector<int>", &t_trackHitInMeasTOB );
1462  tree->Branch("t_trackHitInMeasTEC", "vector<int>", &t_trackHitInMeasTEC );
1463  tree->Branch("t_trackHitInMeasTIB", "vector<int>", &t_trackHitInMeasTIB );
1464  tree->Branch("t_trackHitInMeasTID", "vector<int>", &t_trackHitInMeasTID );
1465  tree->Branch("t_trackHitOutMeasTOB", "vector<int>", &t_trackHitOutMeasTOB);
1466  tree->Branch("t_trackHitOutMeasTEC", "vector<int>", &t_trackHitOutMeasTEC);
1467  tree->Branch("t_trackHitOutMeasTIB", "vector<int>", &t_trackHitOutMeasTIB);
1468  tree->Branch("t_trackHitOutMeasTID", "vector<int>", &t_trackHitOutMeasTID);
1469  tree->Branch("t_trackOutPosOutHitDr", "vector<double>", &t_trackOutPosOutHitDr);
1470  tree->Branch("t_trackL", "vector<double>", &t_trackL);
1471 
1472  tree->Branch("t_trackDxy", "vector<double>", &t_trackDxy );
1473  tree->Branch("t_trackDxyBS", "vector<double>", &t_trackDxyBS );
1474  tree->Branch("t_trackDz", "vector<double>", &t_trackDz );
1475  tree->Branch("t_trackDzBS", "vector<double>", &t_trackDzBS );
1476  tree->Branch("t_trackDxyPV", "vector<double>", &t_trackDxyPV );
1477  tree->Branch("t_trackDzPV", "vector<double>", &t_trackDzPV );
1478  tree->Branch("t_trackChiSq", "vector<double>", &t_trackChiSq );
1479  tree->Branch("t_trackPVIdx", "vector<int>", &t_trackPVIdx );
1480 
1481  t_maxNearP31x31 = new std::vector<double>();
1482  t_maxNearP21x21 = new std::vector<double>();
1483 
1484  tree->Branch("t_maxNearP31x31", "vector<double>", &t_maxNearP31x31);
1485  tree->Branch("t_maxNearP21x21", "vector<double>", &t_maxNearP21x21);
1486 
1487  t_ecalSpike11x11 = new std::vector<int>();
1488  t_e7x7 = new std::vector<double>();
1489  t_e9x9 = new std::vector<double>();
1490  t_e11x11 = new std::vector<double>();
1491  t_e15x15 = new std::vector<double>();
1492 
1493  tree->Branch("t_ecalSpike11x11", "vector<int>", &t_ecalSpike11x11);
1494  tree->Branch("t_e7x7", "vector<double>", &t_e7x7);
1495  tree->Branch("t_e9x9", "vector<double>", &t_e9x9);
1496  tree->Branch("t_e11x11", "vector<double>", &t_e11x11);
1497  tree->Branch("t_e15x15", "vector<double>", &t_e15x15);
1498 
1499  t_e7x7_10Sig = new std::vector<double>();
1500  t_e9x9_10Sig = new std::vector<double>();
1501  t_e11x11_10Sig = new std::vector<double>();
1502  t_e15x15_10Sig = new std::vector<double>();
1503  t_e7x7_15Sig = new std::vector<double>();
1504  t_e9x9_15Sig = new std::vector<double>();
1505  t_e11x11_15Sig = new std::vector<double>();
1506  t_e15x15_15Sig = new std::vector<double>();
1507  t_e7x7_20Sig = new std::vector<double>();
1508  t_e9x9_20Sig = new std::vector<double>();
1509  t_e11x11_20Sig = new std::vector<double>();
1510  t_e15x15_20Sig = new std::vector<double>();
1511  t_e7x7_25Sig = new std::vector<double>();
1512  t_e9x9_25Sig = new std::vector<double>();
1513  t_e11x11_25Sig = new std::vector<double>();
1514  t_e15x15_25Sig = new std::vector<double>();
1515  t_e7x7_30Sig = new std::vector<double>();
1516  t_e9x9_30Sig = new std::vector<double>();
1517  t_e11x11_30Sig = new std::vector<double>();
1518  t_e15x15_30Sig = new std::vector<double>();
1519 
1520  tree->Branch("t_e7x7_10Sig" ,"vector<double>", &t_e7x7_10Sig);
1521  tree->Branch("t_e9x9_10Sig" ,"vector<double>", &t_e9x9_10Sig);
1522  tree->Branch("t_e11x11_10Sig" ,"vector<double>", &t_e11x11_10Sig);
1523  tree->Branch("t_e15x15_10Sig" ,"vector<double>", &t_e15x15_10Sig);
1524  tree->Branch("t_e7x7_15Sig" ,"vector<double>", &t_e7x7_15Sig);
1525  tree->Branch("t_e9x9_15Sig" ,"vector<double>", &t_e9x9_15Sig);
1526  tree->Branch("t_e11x11_15Sig" ,"vector<double>", &t_e11x11_15Sig);
1527  tree->Branch("t_e15x15_15Sig" ,"vector<double>", &t_e15x15_15Sig);
1528  tree->Branch("t_e7x7_20Sig" ,"vector<double>", &t_e7x7_20Sig);
1529  tree->Branch("t_e9x9_20Sig" ,"vector<double>", &t_e9x9_20Sig);
1530  tree->Branch("t_e11x11_20Sig" ,"vector<double>", &t_e11x11_20Sig);
1531  tree->Branch("t_e15x15_20Sig" ,"vector<double>", &t_e15x15_20Sig);
1532  tree->Branch("t_e7x7_25Sig" ,"vector<double>", &t_e7x7_25Sig);
1533  tree->Branch("t_e9x9_25Sig" ,"vector<double>", &t_e9x9_25Sig);
1534  tree->Branch("t_e11x11_25Sig" ,"vector<double>", &t_e11x11_25Sig);
1535  tree->Branch("t_e15x15_25Sig" ,"vector<double>", &t_e15x15_25Sig);
1536  tree->Branch("t_e7x7_30Sig" ,"vector<double>", &t_e7x7_30Sig);
1537  tree->Branch("t_e9x9_30Sig" ,"vector<double>", &t_e9x9_30Sig);
1538  tree->Branch("t_e11x11_30Sig" ,"vector<double>", &t_e11x11_30Sig);
1539  tree->Branch("t_e15x15_30Sig" ,"vector<double>", &t_e15x15_30Sig);
1540 
1541  if (doMC) {
1542  t_esim7x7 = new std::vector<double>();
1543  t_esim9x9 = new std::vector<double>();
1544  t_esim11x11 = new std::vector<double>();
1545  t_esim15x15 = new std::vector<double>();
1546 
1547  t_esim7x7Matched = new std::vector<double>();
1548  t_esim9x9Matched = new std::vector<double>();
1549  t_esim11x11Matched = new std::vector<double>();
1550  t_esim15x15Matched = new std::vector<double>();
1551 
1552  t_esim7x7Rest = new std::vector<double>();
1553  t_esim9x9Rest = new std::vector<double>();
1554  t_esim11x11Rest = new std::vector<double>();
1555  t_esim15x15Rest = new std::vector<double>();
1556 
1557  t_esim7x7Photon = new std::vector<double>();
1558  t_esim9x9Photon = new std::vector<double>();
1559  t_esim11x11Photon = new std::vector<double>();
1560  t_esim15x15Photon = new std::vector<double>();
1561 
1562  t_esim7x7NeutHad = new std::vector<double>();
1563  t_esim9x9NeutHad = new std::vector<double>();
1564  t_esim11x11NeutHad = new std::vector<double>();
1565  t_esim15x15NeutHad = new std::vector<double>();
1566 
1567  t_esim7x7CharHad = new std::vector<double>();
1568  t_esim9x9CharHad = new std::vector<double>();
1569  t_esim11x11CharHad = new std::vector<double>();
1570  t_esim15x15CharHad = new std::vector<double>();
1571 
1572  t_trkEcalEne = new std::vector<double>();
1573  t_simTrackP = new std::vector<double>();
1574  t_esimPdgId = new std::vector<double>();
1575 
1576  tree->Branch("t_esim7x7", "vector<double>", &t_esim7x7);
1577  tree->Branch("t_esim9x9", "vector<double>", &t_esim9x9);
1578  tree->Branch("t_esim11x11", "vector<double>", &t_esim11x11);
1579  tree->Branch("t_esim15x15", "vector<double>", &t_esim15x15);
1580 
1581  tree->Branch("t_esim7x7Matched", "vector<double>", &t_esim7x7Matched);
1582  tree->Branch("t_esim9x9Matched", "vector<double>", &t_esim9x9Matched);
1583  tree->Branch("t_esim11x11Matched", "vector<double>", &t_esim11x11Matched);
1584  tree->Branch("t_esim15x15Matched", "vector<double>", &t_esim15x15Matched);
1585 
1586  tree->Branch("t_esim7x7Rest", "vector<double>", &t_esim7x7Rest);
1587  tree->Branch("t_esim9x9Rest", "vector<double>", &t_esim9x9Rest);
1588  tree->Branch("t_esim11x11Rest", "vector<double>", &t_esim11x11Rest);
1589  tree->Branch("t_esim15x15Rest", "vector<double>", &t_esim15x15Rest);
1590 
1591  tree->Branch("t_esim7x7Photon", "vector<double>", &t_esim7x7Photon);
1592  tree->Branch("t_esim9x9Photon", "vector<double>", &t_esim9x9Photon);
1593  tree->Branch("t_esim11x11Photon", "vector<double>", &t_esim11x11Photon);
1594  tree->Branch("t_esim15x15Photon", "vector<double>", &t_esim15x15Photon);
1595 
1596 ;
1597  tree->Branch("t_esim7x7NeutHad", "vector<double>", &t_esim7x7NeutHad);
1598  tree->Branch("t_esim9x9NeutHad", "vector<double>", &t_esim9x9NeutHad);
1599  tree->Branch("t_esim11x11NeutHad", "vector<double>", &t_esim11x11NeutHad);
1600  tree->Branch("t_esim15x15NeutHad", "vector<double>", &t_esim15x15NeutHad);
1601 
1602  tree->Branch("t_esim7x7CharHad", "vector<double>", &t_esim7x7CharHad);
1603  tree->Branch("t_esim9x9CharHad", "vector<double>", &t_esim9x9CharHad);
1604  tree->Branch("t_esim11x11CharHad", "vector<double>", &t_esim11x11CharHad);
1605  tree->Branch("t_esim15x15CharHad", "vector<double>", &t_esim15x15CharHad);
1606 
1607  tree->Branch("t_trkEcalEne", "vector<double>", &t_trkEcalEne);
1608  tree->Branch("t_simTrackP", "vector<double>", &t_simTrackP);
1609  tree->Branch("t_esimPdgId", "vector<double>", &t_esimPdgId);
1610  }
1611 
1612  t_maxNearHcalP3x3 = new std::vector<double>();
1613  t_maxNearHcalP5x5 = new std::vector<double>();
1614  t_maxNearHcalP7x7 = new std::vector<double>();
1615  t_h3x3 = new std::vector<double>();
1616  t_h5x5 = new std::vector<double>();
1617  t_h7x7 = new std::vector<double>();
1618  t_h3x3Sig = new std::vector<double>();
1619  t_h5x5Sig = new std::vector<double>();
1620  t_h7x7Sig = new std::vector<double>();
1621  t_infoHcal = new std::vector<int>();
1622 
1623  if (doMC) {
1624  t_trkHcalEne = new std::vector<double>();
1625  t_hsim3x3 = new std::vector<double>();
1626  t_hsim5x5 = new std::vector<double>();
1627  t_hsim7x7 = new std::vector<double>();
1628  t_hsim3x3Matched = new std::vector<double>();
1629  t_hsim5x5Matched = new std::vector<double>();
1630  t_hsim7x7Matched = new std::vector<double>();
1631  t_hsim3x3Rest = new std::vector<double>();
1632  t_hsim5x5Rest = new std::vector<double>();
1633  t_hsim7x7Rest = new std::vector<double>();
1634  t_hsim3x3Photon = new std::vector<double>();
1635  t_hsim5x5Photon = new std::vector<double>();
1636  t_hsim7x7Photon = new std::vector<double>();
1637  t_hsim3x3NeutHad = new std::vector<double>();
1638  t_hsim5x5NeutHad = new std::vector<double>();
1639  t_hsim7x7NeutHad = new std::vector<double>();
1640  t_hsim3x3CharHad = new std::vector<double>();
1641  t_hsim5x5CharHad = new std::vector<double>();
1642  t_hsim7x7CharHad = new std::vector<double>();
1643  }
1644 
1645  tree->Branch("t_maxNearHcalP3x3", "vector<double>", &t_maxNearHcalP3x3);
1646  tree->Branch("t_maxNearHcalP5x5", "vector<double>", &t_maxNearHcalP5x5);
1647  tree->Branch("t_maxNearHcalP7x7", "vector<double>", &t_maxNearHcalP7x7);
1648  tree->Branch("t_h3x3", "vector<double>", &t_h3x3);
1649  tree->Branch("t_h5x5", "vector<double>", &t_h5x5);
1650  tree->Branch("t_h7x7", "vector<double>", &t_h7x7);
1651  tree->Branch("t_h3x3Sig", "vector<double>", &t_h3x3Sig);
1652  tree->Branch("t_h5x5Sig", "vector<double>", &t_h5x5Sig);
1653  tree->Branch("t_h7x7Sig", "vector<double>", &t_h7x7Sig);
1654  tree->Branch("t_infoHcal", "vector<int>", &t_infoHcal);
1655 
1656  if (doMC) {
1657  tree->Branch("t_trkHcalEne", "vector<double>", &t_trkHcalEne);
1658  tree->Branch("t_hsim3x3", "vector<double>", &t_hsim3x3);
1659  tree->Branch("t_hsim5x5", "vector<double>", &t_hsim5x5);
1660  tree->Branch("t_hsim7x7", "vector<double>", &t_hsim7x7);
1661  tree->Branch("t_hsim3x3Matched", "vector<double>", &t_hsim3x3Matched);
1662  tree->Branch("t_hsim5x5Matched", "vector<double>", &t_hsim5x5Matched);
1663  tree->Branch("t_hsim7x7Matched", "vector<double>", &t_hsim7x7Matched);
1664  tree->Branch("t_hsim3x3Rest", "vector<double>", &t_hsim3x3Rest);
1665  tree->Branch("t_hsim5x5Rest", "vector<double>", &t_hsim5x5Rest);
1666  tree->Branch("t_hsim7x7Rest", "vector<double>", &t_hsim7x7Rest);
1667  tree->Branch("t_hsim3x3Photon", "vector<double>", &t_hsim3x3Photon);
1668  tree->Branch("t_hsim5x5Photon", "vector<double>", &t_hsim5x5Photon);
1669  tree->Branch("t_hsim7x7Photon", "vector<double>", &t_hsim7x7Photon);
1670  tree->Branch("t_hsim3x3NeutHad", "vector<double>", &t_hsim3x3NeutHad);
1671  tree->Branch("t_hsim5x5NeutHad", "vector<double>", &t_hsim5x5NeutHad);
1672  tree->Branch("t_hsim7x7NeutHad", "vector<double>", &t_hsim7x7NeutHad);
1673  tree->Branch("t_hsim3x3CharHad", "vector<double>", &t_hsim3x3CharHad);
1674  tree->Branch("t_hsim5x5CharHad", "vector<double>", &t_hsim5x5CharHad);
1675  tree->Branch("t_hsim7x7CharHad", "vector<double>", &t_hsim7x7CharHad);
1676  }
1677  tree->Branch("t_nTracks", &t_nTracks, "t_nTracks/I");
1678 
1679 }
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
int i
Definition: DBlmapReader.cc:9
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
static const size_t NEtaBins
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
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
edm::Service< TFileService > fs
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_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_trkEcalEne
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
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
static const size_t NPBins
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 987 of file IsolatedTracksNxN.cc.

References doMC, 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().

987  {
988 
989  t_PVx ->clear();
990  t_PVy ->clear();
991  t_PVz ->clear();
992  t_PVisValid ->clear();
993  t_PVndof ->clear();
994  t_PVNTracks ->clear();
995  t_PVNTracksWt ->clear();
996  t_PVTracksSumPt ->clear();
997  t_PVTracksSumPtWt ->clear();
998  t_PVNTracksHP ->clear();
999  t_PVNTracksHPWt ->clear();
1000  t_PVTracksSumPtHP ->clear();
1001  t_PVTracksSumPtHPWt ->clear();
1002 
1003  for(int i=0; i<128; i++) t_L1Decision[i]=0;
1004  t_L1AlgoNames ->clear();
1005  t_L1PreScale ->clear();
1006 
1007  t_L1CenJetPt ->clear();
1008  t_L1CenJetEta ->clear();
1009  t_L1CenJetPhi ->clear();
1010  t_L1FwdJetPt ->clear();
1011  t_L1FwdJetEta ->clear();
1012  t_L1FwdJetPhi ->clear();
1013  t_L1TauJetPt ->clear();
1014  t_L1TauJetEta ->clear();
1015  t_L1TauJetPhi ->clear();
1016  t_L1MuonPt ->clear();
1017  t_L1MuonEta ->clear();
1018  t_L1MuonPhi ->clear();
1019  t_L1IsoEMPt ->clear();
1020  t_L1IsoEMEta ->clear();
1021  t_L1IsoEMPhi ->clear();
1022  t_L1NonIsoEMPt ->clear();
1023  t_L1NonIsoEMEta ->clear();
1024  t_L1NonIsoEMPhi ->clear();
1025  t_L1METPt ->clear();
1026  t_L1METEta ->clear();
1027  t_L1METPhi ->clear();
1028 
1029  t_jetPt ->clear();
1030  t_jetEta ->clear();
1031  t_jetPhi ->clear();
1032  t_nTrksJetCalo ->clear();
1033  t_nTrksJetVtx ->clear();
1034 
1035  t_trackPAll ->clear();
1036  t_trackEtaAll ->clear();
1037  t_trackPhiAll ->clear();
1038  t_trackPdgIdAll ->clear();
1039  t_trackPtAll ->clear();
1040  t_trackDxyAll ->clear();
1041  t_trackDzAll ->clear();
1042  t_trackDxyPVAll ->clear();
1043  t_trackDzPVAll ->clear();
1044  t_trackChiSqAll ->clear();
1045 
1046  t_trackP ->clear();
1047  t_trackPt ->clear();
1048  t_trackEta ->clear();
1049  t_trackPhi ->clear();
1050  t_trackEcalEta ->clear();
1051  t_trackEcalPhi ->clear();
1052  t_trackHcalEta ->clear();
1053  t_trackHcalPhi ->clear();
1054  t_NLayersCrossed ->clear();
1055  t_trackNOuterHits ->clear();
1056  t_trackDxy ->clear();
1057  t_trackDxyBS ->clear();
1058  t_trackDz ->clear();
1059  t_trackDzBS ->clear();
1060  t_trackDxyPV ->clear();
1061  t_trackDzPV ->clear();
1062  t_trackChiSq ->clear();
1063  t_trackPVIdx ->clear();
1064  t_trackHitsTOB ->clear();
1065  t_trackHitsTEC ->clear();
1066  t_trackHitInMissTOB ->clear();
1067  t_trackHitInMissTEC ->clear();
1068  t_trackHitInMissTIB ->clear();
1069  t_trackHitInMissTID ->clear();
1070  t_trackHitInMissTIBTID ->clear();
1071  t_trackHitOutMissTOB ->clear();
1072  t_trackHitOutMissTEC ->clear();
1073  t_trackHitOutMissTIB ->clear();
1074  t_trackHitOutMissTID ->clear();
1075  t_trackHitOutMissTOBTEC ->clear();
1076  t_trackHitInMeasTOB ->clear();
1077  t_trackHitInMeasTEC ->clear();
1078  t_trackHitInMeasTIB ->clear();
1079  t_trackHitInMeasTID ->clear();
1080  t_trackHitOutMeasTOB ->clear();
1081  t_trackHitOutMeasTEC ->clear();
1082  t_trackHitOutMeasTIB ->clear();
1083  t_trackHitOutMeasTID ->clear();
1084  t_trackOutPosOutHitDr ->clear();
1085  t_trackL ->clear();
1086 
1087  t_maxNearP31x31 ->clear();
1088  t_maxNearP21x21 ->clear();
1089 
1090  t_ecalSpike11x11 ->clear();
1091  t_e7x7 ->clear();
1092  t_e9x9 ->clear();
1093  t_e11x11 ->clear();
1094  t_e15x15 ->clear();
1095 
1096  t_e7x7_10Sig ->clear();
1097  t_e9x9_10Sig ->clear();
1098  t_e11x11_10Sig ->clear();
1099  t_e15x15_10Sig ->clear();
1100  t_e7x7_15Sig ->clear();
1101  t_e9x9_15Sig ->clear();
1102  t_e11x11_15Sig ->clear();
1103  t_e15x15_15Sig ->clear();
1104  t_e7x7_20Sig ->clear();
1105  t_e9x9_20Sig ->clear();
1106  t_e11x11_20Sig ->clear();
1107  t_e15x15_20Sig ->clear();
1108  t_e7x7_25Sig ->clear();
1109  t_e9x9_25Sig ->clear();
1110  t_e11x11_25Sig ->clear();
1111  t_e15x15_25Sig ->clear();
1112  t_e7x7_30Sig ->clear();
1113  t_e9x9_30Sig ->clear();
1114  t_e11x11_30Sig ->clear();
1115  t_e15x15_30Sig ->clear();
1116 
1117  if (doMC) {
1118  t_simTrackP ->clear();
1119  t_esimPdgId ->clear();
1120  t_trkEcalEne ->clear();
1121 
1122  t_esim7x7 ->clear();
1123  t_esim9x9 ->clear();
1124  t_esim11x11 ->clear();
1125  t_esim15x15 ->clear();
1126 
1127  t_esim7x7Matched ->clear();
1128  t_esim9x9Matched ->clear();
1129  t_esim11x11Matched ->clear();
1130  t_esim15x15Matched ->clear();
1131 
1132  t_esim7x7Rest ->clear();
1133  t_esim9x9Rest ->clear();
1134  t_esim11x11Rest ->clear();
1135  t_esim15x15Rest ->clear();
1136 
1137  t_esim7x7Photon ->clear();
1138  t_esim9x9Photon ->clear();
1139  t_esim11x11Photon ->clear();
1140  t_esim15x15Photon ->clear();
1141 
1142  t_esim7x7NeutHad ->clear();
1143  t_esim9x9NeutHad ->clear();
1144  t_esim11x11NeutHad ->clear();
1145  t_esim15x15NeutHad ->clear();
1146 
1147  t_esim7x7CharHad ->clear();
1148  t_esim9x9CharHad ->clear();
1149  t_esim11x11CharHad ->clear();
1150  t_esim15x15CharHad ->clear();
1151  }
1152 
1153  t_maxNearHcalP3x3 ->clear();
1154  t_maxNearHcalP5x5 ->clear();
1155  t_maxNearHcalP7x7 ->clear();
1156 
1157  t_h3x3 ->clear();
1158  t_h5x5 ->clear();
1159  t_h7x7 ->clear();
1160  t_h3x3Sig ->clear();
1161  t_h5x5Sig ->clear();
1162  t_h7x7Sig ->clear();
1163 
1164  t_infoHcal ->clear();
1165 
1166  if (doMC) {
1167  t_trkHcalEne ->clear();
1168 
1169  t_hsim3x3 ->clear();
1170  t_hsim5x5 ->clear();
1171  t_hsim7x7 ->clear();
1172  t_hsim3x3Matched ->clear();
1173  t_hsim5x5Matched ->clear();
1174  t_hsim7x7Matched ->clear();
1175  t_hsim3x3Rest ->clear();
1176  t_hsim5x5Rest ->clear();
1177  t_hsim7x7Rest ->clear();
1178  t_hsim3x3Photon ->clear();
1179  t_hsim5x5Photon ->clear();
1180  t_hsim7x7Photon ->clear();
1181  t_hsim3x3NeutHad ->clear();
1182  t_hsim5x5NeutHad ->clear();
1183  t_hsim7x7NeutHad ->clear();
1184  t_hsim3x3CharHad ->clear();
1185  t_hsim5x5CharHad ->clear();
1186  t_hsim7x7CharHad ->clear();
1187  }
1188 }
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
int i
Definition: DBlmapReader.cc:9
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_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_trkEcalEne
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 1682 of file IsolatedTracksNxN.cc.

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

Referenced by DeltaR().

1682  {
1683  // Computes the correctly normalized phi difference
1684  // v1, v2 = phi of object 1 and 2
1685 
1686  double pi = 3.141592654;
1687  double twopi = 6.283185307;
1688 
1689  double diff = std::abs(v2 - v1);
1690  double corr = twopi - diff;
1691  if (diff < pi){ return diff;} else { return corr;}
1692 }
const Double_t pi
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
JetCorrectorParameters corr
Definition: classes.h:5
double IsolatedTracksNxN::DeltaR ( double  eta1,
double  phi1,
double  eta2,
double  phi2 
)
private

Definition at line 1694 of file IsolatedTracksNxN.cc.

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

Referenced by analyze().

1694  {
1695  double deta = eta1 - eta2;
1696  double dphi = DeltaPhi(phi1, phi2);
1697  return std::sqrt(deta*deta + dphi*dphi);
1698 }
double DeltaPhi(double v1, double v2)
T sqrt(T t)
Definition: SSEVec.h:48
void IsolatedTracksNxN::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 968 of file IsolatedTracksNxN.cc.

References gather_cfg::cout, plotBeamSpotDB::first, h_L1AlgoNames, l1AlgoMap, L1TriggerAlgoInfo_, mergeVDriftHistosByStation::name, and nEventProc.

968  {
969 
970  if(L1TriggerAlgoInfo_) {
971  std::map< std::pair<unsigned int,std::string>, int>::iterator itr;
972  for(itr=l1AlgoMap.begin(); itr!=l1AlgoMap.end(); itr++) {
973  std::cout << " ****endjob**** " << (itr->first).first <<" "
974  <<(itr->first).second <<" "<<itr->second
975  << std::endl;
976  int ibin = (itr->first).first;
977  TString name( (itr->first).second );
978  h_L1AlgoNames->GetXaxis()->SetBinLabel(ibin+1,name);
979  }
980  std::cout << "Number of Events Processed " << nEventProc << std::endl;
981  }
982 
983 }
std::map< std::pair< unsigned int, std::string >, int > l1AlgoMap
tuple cout
Definition: gather_cfg.py:121
void IsolatedTracksNxN::printTrack ( const reco::Track pTrack)
private

Definition at line 1700 of file IsolatedTracksNxN.cc.

References reco::TrackBase::charge(), gather_cfg::cout, reco::TrackBase::d0(), reco::TrackBase::eta(), reco::TrackBase::hitPattern(), i, reco::HitPattern::MISSING_INNER_HITS, reco::HitPattern::MISSING_OUTER_HITS, reco::TrackBase::momentum(), reco::TrackBase::normalizedChi2(), reco::HitPattern::numberOfHits(), 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().

1700  {
1701 
1702  std::string theTrackQuality = "highPurity";
1703  reco::TrackBase::TrackQuality trackQuality_ = reco::TrackBase::qualityByName(theTrackQuality);
1704 
1705  std::cout << " Reference Point " << pTrack->referencePoint() <<"\n"
1706  << " TrackMmentum " << pTrack->momentum()
1707  << " (pt,eta,phi)(" << pTrack->pt()<<","<<pTrack->eta()<<","<<pTrack->phi()<<")"
1708  << " p " << pTrack->p() << "\n"
1709  << " Normalized chi2 " << pTrack->normalizedChi2() <<" charge " << pTrack->charge()
1710  << " qoverp() " << pTrack->qoverp() <<"+-" << pTrack->qoverpError()
1711  << " d0 " << pTrack->d0() << "\n"
1712  << " NValidHits " << pTrack->numberOfValidHits() << " NLostHits " << pTrack->numberOfLostHits()
1713  << " TrackQuality " << pTrack->qualityName(trackQuality_) << " " << pTrack->quality(trackQuality_)
1714  << std::endl;
1715 
1716  if( printTrkHitPattern_ ) {
1717  const reco::HitPattern& p = pTrack->hitPattern();
1718 
1719  std::cout<<"default " << std::endl;
1720  for (int i=0; i<p.numberOfHits(reco::HitPattern::TRACK_HITS); i++) {
1722  }
1723  std::cout<<"trackerMissingInnerHits() " << std::endl;
1726  }
1727  std::cout<<"trackerMissingOuterHits() " << std::endl;
1730  }
1731 
1732 
1733  std::cout << "\n \t trackerLayersWithMeasurement() " << p.trackerLayersWithMeasurement()
1734  << "\n \t pixelLayersWithMeasurement() " << p.pixelLayersWithMeasurement()
1735  << "\n \t stripLayersWithMeasurement() " << p.stripLayersWithMeasurement()
1736  << "\n \t pixelBarrelLayersWithMeasurement() " << p.pixelBarrelLayersWithMeasurement()
1737  << "\n \t pixelEndcapLayersWithMeasurement() " << p.pixelEndcapLayersWithMeasurement()
1738  << "\n \t stripTIBLayersWithMeasurement() " << p.stripTIBLayersWithMeasurement()
1739  << "\n \t stripTIDLayersWithMeasurement() " << p.stripTIDLayersWithMeasurement()
1740  << "\n \t stripTOBLayersWithMeasurement() " << p.stripTOBLayersWithMeasurement()
1741  << "\n \t stripTECLayersWithMeasurement() " << p.stripTECLayersWithMeasurement()
1742  << std::endl;
1743 
1744  }
1745 }
double qoverp() const
q / p
Definition: TrackBase.h:560
double p() const
momentum vector magnitude
Definition: TrackBase.h:602
int stripTOBLayersWithMeasurement() const
Definition: HitPattern.cc:602
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:668
int i
Definition: DBlmapReader.cc:9
static std::string qualityName(TrackQuality)
Definition: TrackBase.h:519
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
Definition: TrackBase.h:584
int stripTIBLayersWithMeasurement() const
Definition: HitPattern.cc:580
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:548
TrackQuality
track quality
Definition: TrackBase.h:149
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:632
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
Definition: TrackBase.h:813
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:497
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:662
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:516
int pixelEndcapLayersWithMeasurement() const
Definition: HitPattern.cc:568
void printHitPattern(HitCategory category, int position, std::ostream &stream) const
Definition: HitPattern.cc:830
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:638
int stripTIDLayersWithMeasurement() const
Definition: HitPattern.cc:591
double pt() const
track transverse momentum
Definition: TrackBase.h:608
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:807
double qoverpError() const
error on signed transverse curvature
Definition: TrackBase.h:744
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:123
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:437
int stripLayersWithMeasurement() const
Definition: HitPattern.h:1001
int pixelBarrelLayersWithMeasurement() const
Definition: HitPattern.cc:556
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:497
int stripTECLayersWithMeasurement() const
Definition: HitPattern.cc:613
tuple cout
Definition: gather_cfg.py:121
int charge() const
track electric charge
Definition: TrackBase.h:554
int numberOfHits(HitCategory category) const
Definition: HitPattern.h:785

Member Data Documentation

const MagneticField* IsolatedTracksNxN::bField
private

Definition at line 186 of file IsolatedTracksNxN.h.

Referenced by analyze().

bool IsolatedTracksNxN::debugL1Info_
private

Definition at line 152 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

int IsolatedTracksNxN::debugTrks_
private

Definition at line 153 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

bool IsolatedTracksNxN::doMC
private

Definition at line 144 of file IsolatedTracksNxN.h.

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

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

Definition at line 293 of file IsolatedTracksNxN.h.

Referenced by BookHistograms().

double IsolatedTracksNxN::genPartEtaBins[4]
private

Definition at line 188 of file IsolatedTracksNxN.h.

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

double IsolatedTracksNxN::genPartPBins[16]
private

Definition at line 188 of file IsolatedTracksNxN.h.

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

TH1I* IsolatedTracksNxN::h_L1AlgoNames
private

Definition at line 198 of file IsolatedTracksNxN.h.

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

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

Definition at line 193 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 193 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 193 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 193 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F* IsolatedTracksNxN::h_nTracks
private

Definition at line 201 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F* IsolatedTracksNxN::h_PVTracksWt
private

Definition at line 199 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_0
private

Definition at line 203 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_1
private

Definition at line 206 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_2
private

Definition at line 209 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_0
private

Definition at line 204 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_1
private

Definition at line 207 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_2
private

Definition at line 210 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_0
private

Definition at line 204 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_1
private

Definition at line 207 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_2
private

Definition at line 210 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recP_0
private

Definition at line 203 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recP_1
private

Definition at line 206 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recP_2
private

Definition at line 209 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_0
private

Definition at line 203 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_1
private

Definition at line 206 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_2
private

Definition at line 209 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_0
private

Definition at line 203 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_1
private

Definition at line 206 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_2
private

Definition at line 209 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

bool IsolatedTracksNxN::initL1
private

Definition at line 144 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 148 of file IsolatedTracksNxN.h.

Referenced by analyze(), and endJob().

bool IsolatedTracksNxN::L1TriggerAlgoInfo_
private

Definition at line 152 of file IsolatedTracksNxN.h.

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

L1GtUtils IsolatedTracksNxN::m_l1GtUtils
private

Definition at line 142 of file IsolatedTracksNxN.h.

Referenced by analyze().

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

Definition at line 149 of file IsolatedTracksNxN.h.

double IsolatedTracksNxN::maxTrackEta_
private

Definition at line 182 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

double IsolatedTracksNxN::minTrackP_
private

Definition at line 182 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

int IsolatedTracksNxN::myverbose_
private

Definition at line 155 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

int IsolatedTracksNxN::nbad
private

Definition at line 294 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

const size_t IsolatedTracksNxN::NEtaBins = 3
staticprivate

Definition at line 191 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

int IsolatedTracksNxN::nEventProc
private

Definition at line 184 of file IsolatedTracksNxN.h.

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

const size_t IsolatedTracksNxN::nL1BitsMax =128
staticprivate

Definition at line 145 of file IsolatedTracksNxN.h.

const size_t IsolatedTracksNxN::NPBins = 15
staticprivate

Definition at line 190 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

bool IsolatedTracksNxN::printTrkHitPattern_
private

Definition at line 154 of file IsolatedTracksNxN.h.

Referenced by IsolatedTracksNxN(), and printTrack().

double IsolatedTracksNxN::pvTracksPtMin_
private

Definition at line 151 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

int IsolatedTracksNxN::t_Bunch
private

Definition at line 218 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 262 of file IsolatedTracksNxN.h.

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

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

Definition at line 263 of file IsolatedTracksNxN.h.

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

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

Definition at line 264 of file IsolatedTracksNxN.h.

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

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

Definition at line 265 of file IsolatedTracksNxN.h.

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

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

Definition at line 266 of file IsolatedTracksNxN.h.

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

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

Definition at line 267 of file IsolatedTracksNxN.h.

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

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

Definition at line 262 of file IsolatedTracksNxN.h.

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

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

Definition at line 263 of file IsolatedTracksNxN.h.

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

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

Definition at line 264 of file IsolatedTracksNxN.h.

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

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

Definition at line 265 of file IsolatedTracksNxN.h.

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

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

Definition at line 266 of file IsolatedTracksNxN.h.

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

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

Definition at line 267 of file IsolatedTracksNxN.h.

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

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

Definition at line 262 of file IsolatedTracksNxN.h.

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

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

Definition at line 263 of file IsolatedTracksNxN.h.

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

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

Definition at line 264 of file IsolatedTracksNxN.h.

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

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

Definition at line 265 of file IsolatedTracksNxN.h.

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

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

Definition at line 266 of file IsolatedTracksNxN.h.

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

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

Definition at line 267 of file IsolatedTracksNxN.h.

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

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

Definition at line 262 of file IsolatedTracksNxN.h.

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

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

Definition at line 263 of file IsolatedTracksNxN.h.

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

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

Definition at line 264 of file IsolatedTracksNxN.h.

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

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

Definition at line 265 of file IsolatedTracksNxN.h.

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

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

Definition at line 266 of file IsolatedTracksNxN.h.

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

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

Definition at line 267 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_ecalSpike11x11
private

Definition at line 261 of file IsolatedTracksNxN.h.

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

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

Definition at line 273 of file IsolatedTracksNxN.h.

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

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

Definition at line 278 of file IsolatedTracksNxN.h.

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

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

Definition at line 274 of file IsolatedTracksNxN.h.

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

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

Definition at line 277 of file IsolatedTracksNxN.h.

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

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

Definition at line 276 of file IsolatedTracksNxN.h.

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

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

Definition at line 275 of file IsolatedTracksNxN.h.

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

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

Definition at line 273 of file IsolatedTracksNxN.h.

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

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

Definition at line 278 of file IsolatedTracksNxN.h.

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

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

Definition at line 274 of file IsolatedTracksNxN.h.

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

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

Definition at line 277 of file IsolatedTracksNxN.h.

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

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

Definition at line 276 of file IsolatedTracksNxN.h.

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

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

Definition at line 275 of file IsolatedTracksNxN.h.

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

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

Definition at line 273 of file IsolatedTracksNxN.h.

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

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

Definition at line 278 of file IsolatedTracksNxN.h.

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

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

Definition at line 274 of file IsolatedTracksNxN.h.

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

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

Definition at line 277 of file IsolatedTracksNxN.h.

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

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

Definition at line 276 of file IsolatedTracksNxN.h.

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

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

Definition at line 275 of file IsolatedTracksNxN.h.

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

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

Definition at line 273 of file IsolatedTracksNxN.h.

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

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

Definition at line 278 of file IsolatedTracksNxN.h.

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

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

Definition at line 274 of file IsolatedTracksNxN.h.

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

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

Definition at line 277 of file IsolatedTracksNxN.h.

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

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

Definition at line 276 of file IsolatedTracksNxN.h.

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

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

Definition at line 275 of file IsolatedTracksNxN.h.

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

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

Definition at line 269 of file IsolatedTracksNxN.h.

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

int IsolatedTracksNxN::t_EvtNo
private

Definition at line 218 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 281 of file IsolatedTracksNxN.h.

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

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

Definition at line 282 of file IsolatedTracksNxN.h.

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

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

Definition at line 281 of file IsolatedTracksNxN.h.

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

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

Definition at line 282 of file IsolatedTracksNxN.h.

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

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

Definition at line 281 of file IsolatedTracksNxN.h.

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

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

Definition at line 282 of file IsolatedTracksNxN.h.

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

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

Definition at line 286 of file IsolatedTracksNxN.h.

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

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

Definition at line 291 of file IsolatedTracksNxN.h.

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

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

Definition at line 287 of file IsolatedTracksNxN.h.

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

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

Definition at line 290 of file IsolatedTracksNxN.h.

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

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

Definition at line 289 of file IsolatedTracksNxN.h.

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

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

Definition at line 288 of file IsolatedTracksNxN.h.

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

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

Definition at line 286 of file IsolatedTracksNxN.h.

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

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

Definition at line 291 of file IsolatedTracksNxN.h.

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

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

Definition at line 287 of file IsolatedTracksNxN.h.

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

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

Definition at line 290 of file IsolatedTracksNxN.h.

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

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

Definition at line 289 of file IsolatedTracksNxN.h.

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

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

Definition at line 288 of file IsolatedTracksNxN.h.

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

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

Definition at line 286 of file IsolatedTracksNxN.h.

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

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

Definition at line 291 of file IsolatedTracksNxN.h.

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

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

Definition at line 287 of file IsolatedTracksNxN.h.

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

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

Definition at line 290 of file IsolatedTracksNxN.h.

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

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

Definition at line 289 of file IsolatedTracksNxN.h.

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

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

Definition at line 288 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_infoHcal
private

Definition at line 283 of file IsolatedTracksNxN.h.

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

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

Definition at line 236 of file IsolatedTracksNxN.h.

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

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

Definition at line 236 of file IsolatedTracksNxN.h.

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

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

Definition at line 236 of file IsolatedTracksNxN.h.

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

std::vector<std::string>* IsolatedTracksNxN::t_L1AlgoNames
private

Definition at line 219 of file IsolatedTracksNxN.h.

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

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

Definition at line 228 of file IsolatedTracksNxN.h.

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

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

Definition at line 228 of file IsolatedTracksNxN.h.

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

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

Definition at line 228 of file IsolatedTracksNxN.h.

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

int IsolatedTracksNxN::t_L1Decision[128]
private

Definition at line 221 of file IsolatedTracksNxN.h.

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

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

Definition at line 229 of file IsolatedTracksNxN.h.

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

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

Definition at line 229 of file IsolatedTracksNxN.h.

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

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

Definition at line 229 of file IsolatedTracksNxN.h.

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

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

Definition at line 232 of file IsolatedTracksNxN.h.

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

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

Definition at line 232 of file IsolatedTracksNxN.h.

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

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

Definition at line 232 of file IsolatedTracksNxN.h.

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

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

Definition at line 234 of file IsolatedTracksNxN.h.

Referenced by BookHistograms(), and clearTreeVectors().

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

Definition at line 234 of file IsolatedTracksNxN.h.

Referenced by BookHistograms(), and clearTreeVectors().

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

Definition at line 234 of file IsolatedTracksNxN.h.

Referenced by BookHistograms(), and clearTreeVectors().

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

Definition at line 231 of file IsolatedTracksNxN.h.

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

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

Definition at line 231 of file IsolatedTracksNxN.h.

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

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

Definition at line 231 of file IsolatedTracksNxN.h.

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

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

Definition at line 233 of file IsolatedTracksNxN.h.

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

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

Definition at line 233 of file IsolatedTracksNxN.h.

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

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

Definition at line 233 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_L1PreScale
private

Definition at line 220 of file IsolatedTracksNxN.h.

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

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

Definition at line 230 of file IsolatedTracksNxN.h.

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

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

Definition at line 230 of file IsolatedTracksNxN.h.

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

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

Definition at line 230 of file IsolatedTracksNxN.h.

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

int IsolatedTracksNxN::t_Lumi
private

Definition at line 218 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 280 of file IsolatedTracksNxN.h.

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

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

Definition at line 280 of file IsolatedTracksNxN.h.

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

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

Definition at line 280 of file IsolatedTracksNxN.h.

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

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

Definition at line 259 of file IsolatedTracksNxN.h.

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

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

Definition at line 258 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_NLayersCrossed
private

Definition at line 250 of file IsolatedTracksNxN.h.

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

int IsolatedTracksNxN::t_nTracks
private

Definition at line 216 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 237 of file IsolatedTracksNxN.h.

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

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

Definition at line 237 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_PVisValid
private

Definition at line 225 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_PVndof
private

Definition at line 225 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_PVNTracks
private

Definition at line 225 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_PVNTracksHP
private

Definition at line 226 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_PVNTracksHPWt
private

Definition at line 226 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_PVNTracksWt
private

Definition at line 225 of file IsolatedTracksNxN.h.

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

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

Definition at line 223 of file IsolatedTracksNxN.h.

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

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

Definition at line 224 of file IsolatedTracksNxN.h.

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

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

Definition at line 224 of file IsolatedTracksNxN.h.

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

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

Definition at line 224 of file IsolatedTracksNxN.h.

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

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

Definition at line 223 of file IsolatedTracksNxN.h.

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

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

Definition at line 223 of file IsolatedTracksNxN.h.

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

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

Definition at line 223 of file IsolatedTracksNxN.h.

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

int IsolatedTracksNxN::t_RunNo
private

Definition at line 218 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 269 of file IsolatedTracksNxN.h.

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

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

Definition at line 247 of file IsolatedTracksNxN.h.

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

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

Definition at line 241 of file IsolatedTracksNxN.h.

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

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

Definition at line 245 of file IsolatedTracksNxN.h.

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

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

Definition at line 241 of file IsolatedTracksNxN.h.

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

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

Definition at line 245 of file IsolatedTracksNxN.h.

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

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

Definition at line 246 of file IsolatedTracksNxN.h.

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

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

Definition at line 241 of file IsolatedTracksNxN.h.

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

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

Definition at line 245 of file IsolatedTracksNxN.h.

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

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

Definition at line 241 of file IsolatedTracksNxN.h.

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

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

Definition at line 245 of file IsolatedTracksNxN.h.

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

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

Definition at line 246 of file IsolatedTracksNxN.h.

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

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

Definition at line 241 of file IsolatedTracksNxN.h.

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

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

Definition at line 244 of file IsolatedTracksNxN.h.

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

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

Definition at line 244 of file IsolatedTracksNxN.h.

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

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

Definition at line 243 of file IsolatedTracksNxN.h.

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

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

Definition at line 239 of file IsolatedTracksNxN.h.

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

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

Definition at line 244 of file IsolatedTracksNxN.h.

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

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

Definition at line 244 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitInMeasTEC
private

Definition at line 254 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitInMeasTIB
private

Definition at line 254 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitInMeasTID
private

Definition at line 254 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_trackHitInMeasTOB
private

Definition at line 254 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitInMissTEC
private

Definition at line 252 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitInMissTIB
private

Definition at line 252 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitInMissTIBTID
private

Definition at line 252 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitInMissTID
private

Definition at line 252 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_trackHitInMissTOB
private

Definition at line 252 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitOutMeasTEC
private

Definition at line 255 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitOutMeasTIB
private

Definition at line 255 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitOutMeasTID
private

Definition at line 255 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_trackHitOutMeasTOB
private

Definition at line 255 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitOutMissTEC
private

Definition at line 253 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitOutMissTIB
private

Definition at line 253 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitOutMissTID
private

Definition at line 253 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_trackHitOutMissTOB
private

Definition at line 253 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitOutMissTOBTEC
private

Definition at line 253 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackHitsTEC
private

Definition at line 251 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_trackHitsTOB
private

Definition at line 251 of file IsolatedTracksNxN.h.

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

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

Definition at line 256 of file IsolatedTracksNxN.h.

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

std::vector<int> * IsolatedTracksNxN::t_trackNOuterHits
private

Definition at line 250 of file IsolatedTracksNxN.h.

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

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

Definition at line 256 of file IsolatedTracksNxN.h.

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

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

Definition at line 243 of file IsolatedTracksNxN.h.

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

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

Definition at line 239 of file IsolatedTracksNxN.h.

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

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

Definition at line 239 of file IsolatedTracksNxN.h.

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

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

Definition at line 243 of file IsolatedTracksNxN.h.

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

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

Definition at line 239 of file IsolatedTracksNxN.h.

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

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

Definition at line 243 of file IsolatedTracksNxN.h.

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

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

Definition at line 240 of file IsolatedTracksNxN.h.

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

std::vector<int>* IsolatedTracksNxN::t_trackPVIdx
private

Definition at line 248 of file IsolatedTracksNxN.h.

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

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

Definition at line 271 of file IsolatedTracksNxN.h.

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

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

Definition at line 285 of file IsolatedTracksNxN.h.

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

double IsolatedTracksNxN::tMaxE_
private

Definition at line 183 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

double IsolatedTracksNxN::tMaxH_
private

Definition at line 183 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

double IsolatedTracksNxN::tMinE_
private

Definition at line 183 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

double IsolatedTracksNxN::tMinH_
private

Definition at line 183 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 172 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 178 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 179 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 180 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 174 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 175 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 170 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 168 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 167 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 160 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 161 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 164 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 163 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 165 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 159 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 171 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 176 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 177 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

TrackerHitAssociator::Config IsolatedTracksNxN::trackerHitAssociatorConfig_
private

Definition at line 157 of file IsolatedTracksNxN.h.

Referenced by analyze().

TTree* IsolatedTracksNxN::tree
private
bool IsolatedTracksNxN::writeAllTracks
private

Definition at line 144 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().