CMS 3D CMS Logo

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

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

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

Public Member Functions

 IsolatedTracksNxN (const edm::ParameterSet &)
 
 ~IsolatedTracksNxN () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::SharedResources >
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

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

Private Member Functions

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

Private Attributes

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

Static Private Attributes

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

Additional Inherited Members

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

Detailed Description

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

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

Definition at line 139 of file IsolatedTracksNxN.cc.

Constructor & Destructor Documentation

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

Definition at line 305 of file IsolatedTracksNxN.cc.

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

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

Definition at line 441 of file IsolatedTracksNxN.cc.

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

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

Member Function Documentation

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

Definition at line 650 of file IsolatedTracksNxN.cc.

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

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

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 1590 of file IsolatedTracksNxN.cc.

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

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

Definition at line 1831 of file IsolatedTracksNxN.cc.

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

Referenced by beginJob().

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

Definition at line 1628 of file IsolatedTracksNxN.cc.

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

Referenced by analyze().

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

Definition at line 2319 of file IsolatedTracksNxN.cc.

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

Referenced by deltaR().

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

Definition at line 2327 of file IsolatedTracksNxN.cc.

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

Referenced by analyze().

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

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 1609 of file IsolatedTracksNxN.cc.

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

Referenced by o2olib.O2ORunMgr::executeJob().

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

Definition at line 618 of file IsolatedTracksNxN.cc.

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

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

Definition at line 2333 of file IsolatedTracksNxN.cc.

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

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

2333  {
2334 
2335  std::string theTrackQuality = "highPurity";
2336  reco::TrackBase::TrackQuality trackQuality_ = reco::TrackBase::qualityByName(theTrackQuality);
2337 
2338  edm::LogVerbatim("IsoTrack") << " Reference Point " <<pTrack->referencePoint()
2339  << "\n TrackMmentum " << pTrack->momentum()
2340  << " (pt,eta,phi)(" << pTrack->pt() << ","
2341  << pTrack->eta() << "," << pTrack->phi() << ")"
2342  << " p " << pTrack->p() << "\n Normalized chi2 "
2343  << pTrack->normalizedChi2() << " charge "
2344  << pTrack->charge() << " qoverp() "
2345  << pTrack->qoverp() << "+-"
2346  << pTrack->qoverpError() << " d0 "
2347  << pTrack->d0() << "\n NValidHits "
2348  << pTrack->numberOfValidHits() << " NLostHits "
2349  << pTrack->numberOfLostHits() << " TrackQuality "
2350  << pTrack->qualityName(trackQuality_) << " "
2351  << pTrack->quality(trackQuality_);
2352 
2353  if( printTrkHitPattern_ ) {
2354  const reco::HitPattern& p = pTrack->hitPattern();
2355 
2356  edm::LogVerbatim("IsoTrack") << "default ";
2357  for (int i=0; i<p.numberOfAllHits(reco::HitPattern::TRACK_HITS); i++) {
2359  }
2360  edm::LogVerbatim("IsoTrack")<<"trackerMissingInnerHits() ";
2363  }
2364  edm::LogVerbatim("IsoTrack")<<"trackerMissingOuterHits() ";
2367  }
2368 
2369 
2370  edm::LogVerbatim("IsoTrack") << "\n \t trackerLayersWithMeasurement() "
2372  << "\n \t pixelLayersWithMeasurement() "
2374  << "\n \t stripLayersWithMeasurement() "
2376  << "\n \t pixelBarrelLayersWithMeasurement() "
2378  << "\n \t pixelEndcapLayersWithMeasurement() "
2380  << "\n \t stripTIBLayersWithMeasurement() "
2382  << "\n \t stripTIDLayersWithMeasurement() "
2384  << "\n \t stripTOBLayersWithMeasurement() "
2386  << "\n \t stripTECLayersWithMeasurement() "
2388  }
2389 }
double qoverp() const
q / p
Definition: TrackBase.h:606
double p() const
momentum vector magnitude
Definition: TrackBase.h:648
int stripTOBLayersWithMeasurement() const
Definition: HitPattern.cc:643
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:714
const bool printTrkHitPattern_
static std::string qualityName(TrackQuality)
Definition: TrackBase.h:565
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
Definition: TrackBase.h:630
int stripTIBLayersWithMeasurement() const
Definition: HitPattern.cc:621
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:594
TrackQuality
track quality
Definition: TrackBase.h:151
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:678
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
Definition: TrackBase.h:895
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:538
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:708
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:557
int pixelEndcapLayersWithMeasurement() const
Definition: HitPattern.cc:609
void printHitPattern(HitCategory category, int position, std::ostream &stream) const
Definition: HitPattern.cc:871
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:684
int stripTIDLayersWithMeasurement() const
Definition: HitPattern.cc:632
double pt() const
track transverse momentum
Definition: TrackBase.h:654
int numberOfAllHits(HitCategory category) const
Definition: HitPattern.h:875
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:889
double qoverpError() const
error on signed transverse curvature
Definition: TrackBase.h:802
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:134
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:479
int stripLayersWithMeasurement() const
Definition: HitPattern.h:1138
int pixelBarrelLayersWithMeasurement() const
Definition: HitPattern.cc:597
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:543
int stripTECLayersWithMeasurement() const
Definition: HitPattern.cc:654
int charge() const
track electric charge
Definition: TrackBase.h:600

Member Data Documentation

const bool IsolatedTracksNxN::debugL1Info_
private

Definition at line 178 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const int IsolatedTracksNxN::debugTrks_
private

Definition at line 175 of file IsolatedTracksNxN.cc.

Referenced by analyze().

const bool IsolatedTracksNxN::doMC_
private

Definition at line 172 of file IsolatedTracksNxN.cc.

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

double IsolatedTracksNxN::genPartEtaBins[NEtaBins+1]
private

Definition at line 209 of file IsolatedTracksNxN.cc.

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

double IsolatedTracksNxN::genPartPBins[NPBins+1]
private

Definition at line 209 of file IsolatedTracksNxN.cc.

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

TH1I* IsolatedTracksNxN::h_L1AlgoNames
private

Definition at line 215 of file IsolatedTracksNxN.cc.

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

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

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_nTracks
private

Definition at line 217 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_PVTracksWt
private

Definition at line 216 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_0
private

Definition at line 219 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_1
private

Definition at line 221 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_2
private

Definition at line 223 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_0
private

Definition at line 219 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_1
private

Definition at line 221 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_2
private

Definition at line 223 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recP_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recP_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recP_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

bool IsolatedTracksNxN::initL1_
private

Definition at line 180 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and beginJob().

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

Definition at line 169 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and endJob().

const bool IsolatedTracksNxN::L1TriggerAlgoInfo_
private

Definition at line 178 of file IsolatedTracksNxN.cc.

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

L1GtUtils IsolatedTracksNxN::m_l1GtUtils
private

Definition at line 164 of file IsolatedTracksNxN.cc.

Referenced by analyze().

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

Definition at line 170 of file IsolatedTracksNxN.cc.

const double IsolatedTracksNxN::maxTrackEta_
private

Definition at line 177 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::minTrackP_
private

Definition at line 177 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const int IsolatedTracksNxN::myverbose_
private

Definition at line 173 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

int IsolatedTracksNxN::nbad_
private

Definition at line 181 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and beginJob().

size_t IsolatedTracksNxN::NEtaBins = 3
staticprivate

Definition at line 208 of file IsolatedTracksNxN.cc.

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

int IsolatedTracksNxN::nEventProc_
private

Definition at line 181 of file IsolatedTracksNxN.cc.

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

size_t IsolatedTracksNxN::nL1BitsMax =128
staticprivate

Definition at line 165 of file IsolatedTracksNxN.cc.

size_t IsolatedTracksNxN::NPBins = 15
staticprivate

Definition at line 207 of file IsolatedTracksNxN.cc.

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

const bool IsolatedTracksNxN::printTrkHitPattern_
private

Definition at line 176 of file IsolatedTracksNxN.cc.

Referenced by printTrack().

const double IsolatedTracksNxN::pvTracksPtMin_
private

Definition at line 174 of file IsolatedTracksNxN.cc.

Referenced by analyze().

int IsolatedTracksNxN::t_Bunch
private

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 231 of file IsolatedTracksNxN.cc.

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

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

Definition at line 239 of file IsolatedTracksNxN.cc.

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

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

Definition at line 239 of file IsolatedTracksNxN.cc.

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

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

Definition at line 239 of file IsolatedTracksNxN.cc.

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

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

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 227 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::tMaxH_
private

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::tMinE_
private

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::tMinH_
private

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 196 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 202 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 203 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 204 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 198 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 199 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 194 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 192 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 191 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 184 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 185 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 188 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 187 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 189 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 183 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 195 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 200 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 201 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

TrackerHitAssociator::Config IsolatedTracksNxN::trackerHitAssociatorConfig_
private

Definition at line 166 of file IsolatedTracksNxN.cc.

Referenced by analyze().

TTree* IsolatedTracksNxN::tree_
private

Definition at line 225 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

const bool IsolatedTracksNxN::writeAllTracks_
private

Definition at line 172 of file IsolatedTracksNxN.cc.

Referenced by analyze().