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_
 
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
 
- 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 114 of file IsolatedTracksNxN.h.

Constructor & Destructor Documentation

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

Definition at line 35 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.

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

107  {
108 }

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 110 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, 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_, reco::HitPattern::trackerLayersWithMeasurement(), tree, useL1EventSetup(), useL1GtTriggerMenuLite(), histoStyle::weight, writeAllTracks, x, detailsBasic3DVector::y, and detailsBasic3DVector::z.

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

Reimplemented from edm::EDAnalyzer.

Definition at line 947 of file IsolatedTracksNxN.cc.

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

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

Definition at line 1188 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().

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

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

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

Referenced by DeltaR().

1680  {
1681  // Computes the correctly normalized phi difference
1682  // v1, v2 = phi of object 1 and 2
1683 
1684  double pi = 3.141592654;
1685  double twopi = 6.283185307;
1686 
1687  double diff = std::abs(v2 - v1);
1688  double corr = twopi - diff;
1689  if (diff < pi){ return diff;} else { return corr;}
1690 }
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 1692 of file IsolatedTracksNxN.cc.

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

Referenced by analyze().

1692  {
1693  double deta = eta1 - eta2;
1694  double dphi = DeltaPhi(phi1, phi2);
1695  return std::sqrt(deta*deta + dphi*dphi);
1696 }
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 966 of file IsolatedTracksNxN.cc.

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

966  {
967 
968  if(L1TriggerAlgoInfo_) {
969  std::map< std::pair<unsigned int,std::string>, int>::iterator itr;
970  for(itr=l1AlgoMap.begin(); itr!=l1AlgoMap.end(); itr++) {
971  std::cout << " ****endjob**** " << (itr->first).first <<" "
972  <<(itr->first).second <<" "<<itr->second
973  << std::endl;
974  int ibin = (itr->first).first;
975  TString name( (itr->first).second );
976  h_L1AlgoNames->GetXaxis()->SetBinLabel(ibin+1,name);
977  }
978  std::cout << "Number of Events Processed " << nEventProc << std::endl;
979  }
980 
981 }
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 1698 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().

1698  {
1699 
1700  std::string theTrackQuality = "highPurity";
1701  reco::TrackBase::TrackQuality trackQuality_ = reco::TrackBase::qualityByName(theTrackQuality);
1702 
1703  std::cout << " Reference Point " << pTrack->referencePoint() <<"\n"
1704  << " TrackMmentum " << pTrack->momentum()
1705  << " (pt,eta,phi)(" << pTrack->pt()<<","<<pTrack->eta()<<","<<pTrack->phi()<<")"
1706  << " p " << pTrack->p() << "\n"
1707  << " Normalized chi2 " << pTrack->normalizedChi2() <<" charge " << pTrack->charge()
1708  << " qoverp() " << pTrack->qoverp() <<"+-" << pTrack->qoverpError()
1709  << " d0 " << pTrack->d0() << "\n"
1710  << " NValidHits " << pTrack->numberOfValidHits() << " NLostHits " << pTrack->numberOfLostHits()
1711  << " TrackQuality " << pTrack->qualityName(trackQuality_) << " " << pTrack->quality(trackQuality_)
1712  << std::endl;
1713 
1714  if( printTrkHitPattern_ ) {
1715  const reco::HitPattern& p = pTrack->hitPattern();
1716 
1717  std::cout<<"default " << std::endl;
1718  for (int i=0; i<p.numberOfHits(reco::HitPattern::TRACK_HITS); i++) {
1720  }
1721  std::cout<<"trackerMissingInnerHits() " << std::endl;
1724  }
1725  std::cout<<"trackerMissingOuterHits() " << std::endl;
1728  }
1729 
1730 
1731  std::cout << "\n \t trackerLayersWithMeasurement() " << p.trackerLayersWithMeasurement()
1732  << "\n \t pixelLayersWithMeasurement() " << p.pixelLayersWithMeasurement()
1733  << "\n \t stripLayersWithMeasurement() " << p.stripLayersWithMeasurement()
1734  << "\n \t pixelBarrelLayersWithMeasurement() " << p.pixelBarrelLayersWithMeasurement()
1735  << "\n \t pixelEndcapLayersWithMeasurement() " << p.pixelEndcapLayersWithMeasurement()
1736  << "\n \t stripTIBLayersWithMeasurement() " << p.stripTIBLayersWithMeasurement()
1737  << "\n \t stripTIDLayersWithMeasurement() " << p.stripTIDLayersWithMeasurement()
1738  << "\n \t stripTOBLayersWithMeasurement() " << p.stripTOBLayersWithMeasurement()
1739  << "\n \t stripTECLayersWithMeasurement() " << p.stripTECLayersWithMeasurement()
1740  << std::endl;
1741 
1742  }
1743 }
double qoverp() const
q / p
Definition: TrackBase.h:526
double p() const
momentum vector magnitude
Definition: TrackBase.h:568
int stripTOBLayersWithMeasurement() const
Definition: HitPattern.cc:563
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:634
int i
Definition: DBlmapReader.cc:9
static std::string qualityName(TrackQuality)
Definition: TrackBase.h:485
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
Definition: TrackBase.h:550
int stripTIBLayersWithMeasurement() const
Definition: HitPattern.cc:541
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:514
TrackQuality
track quality
Definition: TrackBase.h:139
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:598
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
Definition: TrackBase.h:779
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:458
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:628
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:477
int pixelEndcapLayersWithMeasurement() const
Definition: HitPattern.cc:529
void printHitPattern(HitCategory category, int position, std::ostream &stream) const
Definition: HitPattern.cc:791
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:604
int stripTIDLayersWithMeasurement() const
Definition: HitPattern.cc:552
double pt() const
track transverse momentum
Definition: TrackBase.h:574
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:773
double qoverpError() const
error on signed transverse curvature
Definition: TrackBase.h:710
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:114
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:411
int stripLayersWithMeasurement() const
Definition: HitPattern.h:919
int pixelBarrelLayersWithMeasurement() const
Definition: HitPattern.cc:517
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:463
int stripTECLayersWithMeasurement() const
Definition: HitPattern.cc:574
tuple cout
Definition: gather_cfg.py:121
int charge() const
track electric charge
Definition: TrackBase.h:520
int numberOfHits(HitCategory category) const
Definition: HitPattern.h:718

Member Data Documentation

const MagneticField* IsolatedTracksNxN::bField
private

Definition at line 180 of file IsolatedTracksNxN.h.

Referenced by analyze().

bool IsolatedTracksNxN::debugL1Info_
private

Definition at line 148 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

int IsolatedTracksNxN::debugTrks_
private

Definition at line 149 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

bool IsolatedTracksNxN::doMC
private

Definition at line 140 of file IsolatedTracksNxN.h.

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

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

Definition at line 287 of file IsolatedTracksNxN.h.

Referenced by BookHistograms().

double IsolatedTracksNxN::genPartEtaBins[4]
private

Definition at line 182 of file IsolatedTracksNxN.h.

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

double IsolatedTracksNxN::genPartPBins[16]
private

Definition at line 182 of file IsolatedTracksNxN.h.

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

TH1I* IsolatedTracksNxN::h_L1AlgoNames
private

Definition at line 192 of file IsolatedTracksNxN.h.

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

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

Definition at line 187 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 187 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 187 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 187 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F* IsolatedTracksNxN::h_nTracks
private

Definition at line 195 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F* IsolatedTracksNxN::h_PVTracksWt
private

Definition at line 193 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_0
private

Definition at line 197 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_1
private

Definition at line 200 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_2
private

Definition at line 203 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_0
private

Definition at line 198 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_1
private

Definition at line 201 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_2
private

Definition at line 204 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_0
private

Definition at line 198 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_1
private

Definition at line 201 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_2
private

Definition at line 204 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recP_0
private

Definition at line 197 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recP_1
private

Definition at line 200 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recP_2
private

Definition at line 203 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_0
private

Definition at line 197 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_1
private

Definition at line 200 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_2
private

Definition at line 203 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_0
private

Definition at line 197 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_1
private

Definition at line 200 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_2
private

Definition at line 203 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

bool IsolatedTracksNxN::initL1
private

Definition at line 140 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 144 of file IsolatedTracksNxN.h.

Referenced by analyze(), and endJob().

bool IsolatedTracksNxN::L1TriggerAlgoInfo_
private

Definition at line 148 of file IsolatedTracksNxN.h.

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

L1GtUtils IsolatedTracksNxN::m_l1GtUtils
private

Definition at line 138 of file IsolatedTracksNxN.h.

Referenced by analyze().

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

Definition at line 145 of file IsolatedTracksNxN.h.

double IsolatedTracksNxN::maxTrackEta_
private

Definition at line 176 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

double IsolatedTracksNxN::minTrackP_
private

Definition at line 176 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

int IsolatedTracksNxN::myverbose_
private

Definition at line 151 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

int IsolatedTracksNxN::nbad
private

Definition at line 288 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

const size_t IsolatedTracksNxN::NEtaBins = 3
staticprivate

Definition at line 185 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

int IsolatedTracksNxN::nEventProc
private

Definition at line 178 of file IsolatedTracksNxN.h.

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

const size_t IsolatedTracksNxN::nL1BitsMax =128
staticprivate

Definition at line 141 of file IsolatedTracksNxN.h.

const size_t IsolatedTracksNxN::NPBins = 15
staticprivate

Definition at line 184 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

bool IsolatedTracksNxN::printTrkHitPattern_
private

Definition at line 150 of file IsolatedTracksNxN.h.

Referenced by IsolatedTracksNxN(), and printTrack().

double IsolatedTracksNxN::pvTracksPtMin_
private

Definition at line 147 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

int IsolatedTracksNxN::t_Bunch
private

Definition at line 212 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 256 of file IsolatedTracksNxN.h.

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

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

Definition at line 257 of file IsolatedTracksNxN.h.

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

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

Definition at line 258 of file IsolatedTracksNxN.h.

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

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

Definition at line 259 of file IsolatedTracksNxN.h.

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

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

Definition at line 260 of file IsolatedTracksNxN.h.

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

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

Definition at line 261 of file IsolatedTracksNxN.h.

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

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

Definition at line 256 of file IsolatedTracksNxN.h.

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

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

Definition at line 257 of file IsolatedTracksNxN.h.

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

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

Definition at line 258 of file IsolatedTracksNxN.h.

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

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

Definition at line 259 of file IsolatedTracksNxN.h.

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

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

Definition at line 260 of file IsolatedTracksNxN.h.

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

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

Definition at line 261 of file IsolatedTracksNxN.h.

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

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

Definition at line 256 of file IsolatedTracksNxN.h.

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

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

Definition at line 257 of file IsolatedTracksNxN.h.

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

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

Definition at line 258 of file IsolatedTracksNxN.h.

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

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

Definition at line 259 of file IsolatedTracksNxN.h.

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

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

Definition at line 260 of file IsolatedTracksNxN.h.

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

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

Definition at line 261 of file IsolatedTracksNxN.h.

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

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

Definition at line 256 of file IsolatedTracksNxN.h.

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

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

Definition at line 257 of file IsolatedTracksNxN.h.

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

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

Definition at line 258 of file IsolatedTracksNxN.h.

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

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

Definition at line 259 of file IsolatedTracksNxN.h.

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

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

Definition at line 260 of file IsolatedTracksNxN.h.

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

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

Definition at line 261 of file IsolatedTracksNxN.h.

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

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

Definition at line 255 of file IsolatedTracksNxN.h.

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

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

Definition at line 267 of file IsolatedTracksNxN.h.

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

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

Definition at line 272 of file IsolatedTracksNxN.h.

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

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

Definition at line 268 of file IsolatedTracksNxN.h.

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

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

Definition at line 271 of file IsolatedTracksNxN.h.

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

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

Definition at line 270 of file IsolatedTracksNxN.h.

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

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

Definition at line 269 of file IsolatedTracksNxN.h.

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

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

Definition at line 267 of file IsolatedTracksNxN.h.

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

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

Definition at line 272 of file IsolatedTracksNxN.h.

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

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

Definition at line 268 of file IsolatedTracksNxN.h.

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

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

Definition at line 271 of file IsolatedTracksNxN.h.

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

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

Definition at line 270 of file IsolatedTracksNxN.h.

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

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

Definition at line 269 of file IsolatedTracksNxN.h.

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

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

Definition at line 267 of file IsolatedTracksNxN.h.

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

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

Definition at line 272 of file IsolatedTracksNxN.h.

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

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

Definition at line 268 of file IsolatedTracksNxN.h.

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

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

Definition at line 271 of file IsolatedTracksNxN.h.

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

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

Definition at line 270 of file IsolatedTracksNxN.h.

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

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

Definition at line 269 of file IsolatedTracksNxN.h.

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

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

Definition at line 267 of file IsolatedTracksNxN.h.

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

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

Definition at line 272 of file IsolatedTracksNxN.h.

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

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

Definition at line 268 of file IsolatedTracksNxN.h.

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

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

Definition at line 271 of file IsolatedTracksNxN.h.

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

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

Definition at line 270 of file IsolatedTracksNxN.h.

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

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

Definition at line 269 of file IsolatedTracksNxN.h.

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

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

Definition at line 263 of file IsolatedTracksNxN.h.

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

int IsolatedTracksNxN::t_EvtNo
private

Definition at line 212 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 275 of file IsolatedTracksNxN.h.

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

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

Definition at line 276 of file IsolatedTracksNxN.h.

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

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

Definition at line 275 of file IsolatedTracksNxN.h.

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

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

Definition at line 276 of file IsolatedTracksNxN.h.

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

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

Definition at line 275 of file IsolatedTracksNxN.h.

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

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

Definition at line 276 of file IsolatedTracksNxN.h.

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

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

Definition at line 280 of file IsolatedTracksNxN.h.

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

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

Definition at line 285 of file IsolatedTracksNxN.h.

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

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

Definition at line 281 of file IsolatedTracksNxN.h.

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

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

Definition at line 284 of file IsolatedTracksNxN.h.

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

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

Definition at line 283 of file IsolatedTracksNxN.h.

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

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

Definition at line 282 of file IsolatedTracksNxN.h.

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

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

Definition at line 280 of file IsolatedTracksNxN.h.

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

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

Definition at line 285 of file IsolatedTracksNxN.h.

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

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

Definition at line 281 of file IsolatedTracksNxN.h.

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

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

Definition at line 284 of file IsolatedTracksNxN.h.

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

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

Definition at line 283 of file IsolatedTracksNxN.h.

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

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

Definition at line 282 of file IsolatedTracksNxN.h.

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

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

Definition at line 280 of file IsolatedTracksNxN.h.

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

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

Definition at line 285 of file IsolatedTracksNxN.h.

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

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

Definition at line 281 of file IsolatedTracksNxN.h.

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

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

Definition at line 284 of file IsolatedTracksNxN.h.

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

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

Definition at line 283 of file IsolatedTracksNxN.h.

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

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

Definition at line 282 of file IsolatedTracksNxN.h.

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

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

Definition at line 277 of file IsolatedTracksNxN.h.

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

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

Definition at line 230 of file IsolatedTracksNxN.h.

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

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

Definition at line 230 of file IsolatedTracksNxN.h.

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

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

Definition at line 230 of file IsolatedTracksNxN.h.

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

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

Definition at line 213 of file IsolatedTracksNxN.h.

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

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

Definition at line 222 of file IsolatedTracksNxN.h.

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

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

Definition at line 222 of file IsolatedTracksNxN.h.

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

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

Definition at line 222 of file IsolatedTracksNxN.h.

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

int IsolatedTracksNxN::t_L1Decision[128]
private

Definition at line 215 of file IsolatedTracksNxN.h.

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

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

Definition at line 223 of file IsolatedTracksNxN.h.

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

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

Definition at line 223 of file IsolatedTracksNxN.h.

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

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

Definition at line 223 of file IsolatedTracksNxN.h.

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

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

Definition at line 226 of file IsolatedTracksNxN.h.

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

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

Definition at line 226 of file IsolatedTracksNxN.h.

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

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

Definition at line 226 of file IsolatedTracksNxN.h.

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

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

Definition at line 228 of file IsolatedTracksNxN.h.

Referenced by BookHistograms(), and clearTreeVectors().

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

Definition at line 228 of file IsolatedTracksNxN.h.

Referenced by BookHistograms(), and clearTreeVectors().

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

Definition at line 228 of file IsolatedTracksNxN.h.

Referenced by BookHistograms(), and clearTreeVectors().

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

Definition at line 225 of file IsolatedTracksNxN.h.

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

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

Definition at line 225 of file IsolatedTracksNxN.h.

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

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

Definition at line 225 of file IsolatedTracksNxN.h.

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

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

Definition at line 227 of file IsolatedTracksNxN.h.

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

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

Definition at line 227 of file IsolatedTracksNxN.h.

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

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

Definition at line 227 of file IsolatedTracksNxN.h.

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

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

Definition at line 214 of file IsolatedTracksNxN.h.

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

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

Definition at line 224 of file IsolatedTracksNxN.h.

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

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

Definition at line 224 of file IsolatedTracksNxN.h.

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

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

Definition at line 224 of file IsolatedTracksNxN.h.

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

int IsolatedTracksNxN::t_Lumi
private

Definition at line 212 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 274 of file IsolatedTracksNxN.h.

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

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

Definition at line 274 of file IsolatedTracksNxN.h.

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

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

Definition at line 274 of file IsolatedTracksNxN.h.

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

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

Definition at line 253 of file IsolatedTracksNxN.h.

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

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

Definition at line 252 of file IsolatedTracksNxN.h.

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

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

Definition at line 244 of file IsolatedTracksNxN.h.

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

int IsolatedTracksNxN::t_nTracks
private

Definition at line 210 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 231 of file IsolatedTracksNxN.h.

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

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

Definition at line 231 of file IsolatedTracksNxN.h.

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

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

Definition at line 219 of file IsolatedTracksNxN.h.

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

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

Definition at line 219 of file IsolatedTracksNxN.h.

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

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

Definition at line 219 of file IsolatedTracksNxN.h.

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

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

Definition at line 220 of file IsolatedTracksNxN.h.

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

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

Definition at line 220 of file IsolatedTracksNxN.h.

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

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

Definition at line 219 of file IsolatedTracksNxN.h.

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

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

Definition at line 217 of file IsolatedTracksNxN.h.

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

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

Definition at line 218 of file IsolatedTracksNxN.h.

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

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

Definition at line 218 of file IsolatedTracksNxN.h.

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

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

Definition at line 218 of file IsolatedTracksNxN.h.

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

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

Definition at line 217 of file IsolatedTracksNxN.h.

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

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

Definition at line 217 of file IsolatedTracksNxN.h.

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

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

Definition at line 217 of file IsolatedTracksNxN.h.

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

int IsolatedTracksNxN::t_RunNo
private

Definition at line 212 of file IsolatedTracksNxN.h.

Referenced by analyze(), and BookHistograms().

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

Definition at line 263 of file IsolatedTracksNxN.h.

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

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

Definition at line 241 of file IsolatedTracksNxN.h.

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

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

Definition at line 235 of file IsolatedTracksNxN.h.

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

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

Definition at line 239 of file IsolatedTracksNxN.h.

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

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

Definition at line 235 of file IsolatedTracksNxN.h.

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

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

Definition at line 239 of file IsolatedTracksNxN.h.

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

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

Definition at line 240 of file IsolatedTracksNxN.h.

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

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

Definition at line 235 of file IsolatedTracksNxN.h.

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

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

Definition at line 239 of file IsolatedTracksNxN.h.

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

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

Definition at line 235 of file IsolatedTracksNxN.h.

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

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

Definition at line 239 of file IsolatedTracksNxN.h.

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

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

Definition at line 240 of file IsolatedTracksNxN.h.

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

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

Definition at line 235 of file IsolatedTracksNxN.h.

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

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

Definition at line 238 of file IsolatedTracksNxN.h.

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

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

Definition at line 238 of file IsolatedTracksNxN.h.

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

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

Definition at line 237 of file IsolatedTracksNxN.h.

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

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

Definition at line 233 of file IsolatedTracksNxN.h.

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

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

Definition at line 238 of file IsolatedTracksNxN.h.

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

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

Definition at line 238 of file IsolatedTracksNxN.h.

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

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

Definition at line 248 of file IsolatedTracksNxN.h.

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

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

Definition at line 248 of file IsolatedTracksNxN.h.

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

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

Definition at line 248 of file IsolatedTracksNxN.h.

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

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

Definition at line 248 of file IsolatedTracksNxN.h.

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

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

Definition at line 246 of file IsolatedTracksNxN.h.

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

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

Definition at line 246 of file IsolatedTracksNxN.h.

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

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

Definition at line 246 of file IsolatedTracksNxN.h.

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

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

Definition at line 246 of file IsolatedTracksNxN.h.

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

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

Definition at line 246 of file IsolatedTracksNxN.h.

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

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

Definition at line 249 of file IsolatedTracksNxN.h.

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

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

Definition at line 249 of file IsolatedTracksNxN.h.

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

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

Definition at line 249 of file IsolatedTracksNxN.h.

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

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

Definition at line 249 of file IsolatedTracksNxN.h.

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

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

Definition at line 247 of file IsolatedTracksNxN.h.

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

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

Definition at line 247 of file IsolatedTracksNxN.h.

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

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

Definition at line 247 of file IsolatedTracksNxN.h.

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

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

Definition at line 247 of file IsolatedTracksNxN.h.

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

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

Definition at line 247 of file IsolatedTracksNxN.h.

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

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

Definition at line 245 of file IsolatedTracksNxN.h.

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

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

Definition at line 245 of file IsolatedTracksNxN.h.

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

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

Definition at line 250 of file IsolatedTracksNxN.h.

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

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

Definition at line 244 of file IsolatedTracksNxN.h.

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

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

Definition at line 250 of file IsolatedTracksNxN.h.

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

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

Definition at line 237 of file IsolatedTracksNxN.h.

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

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

Definition at line 233 of file IsolatedTracksNxN.h.

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

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

Definition at line 233 of file IsolatedTracksNxN.h.

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

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

Definition at line 237 of file IsolatedTracksNxN.h.

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

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

Definition at line 233 of file IsolatedTracksNxN.h.

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

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

Definition at line 237 of file IsolatedTracksNxN.h.

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

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

Definition at line 234 of file IsolatedTracksNxN.h.

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

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

Definition at line 242 of file IsolatedTracksNxN.h.

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

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

Definition at line 265 of file IsolatedTracksNxN.h.

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

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

Definition at line 279 of file IsolatedTracksNxN.h.

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

double IsolatedTracksNxN::tMaxE_
private

Definition at line 177 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

double IsolatedTracksNxN::tMaxH_
private

Definition at line 177 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

double IsolatedTracksNxN::tMinE_
private

Definition at line 177 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

double IsolatedTracksNxN::tMinH_
private

Definition at line 177 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 166 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 172 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 173 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 174 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 168 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 169 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 164 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 162 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 161 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 154 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 155 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 158 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 157 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 159 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 153 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 165 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 170 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 171 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 140 of file IsolatedTracksNxN.h.

Referenced by analyze(), and IsolatedTracksNxN().