CMS 3D CMS Logo

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

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

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

Public Member Functions

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

Static Public Member Functions

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

Private Member Functions

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

Private Attributes

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

Static Private Attributes

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

Additional Inherited Members

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

Detailed Description

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

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

Definition at line 139 of file IsolatedTracksNxN.cc.

Constructor & Destructor Documentation

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

Definition at line 305 of file IsolatedTracksNxN.cc.

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

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

Definition at line 441 of file IsolatedTracksNxN.cc.

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

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

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

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 1596 of file IsolatedTracksNxN.cc.

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

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

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

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

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

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

Referenced by deltaR().

2325  {
2326  // Computes the correctly normalized phi difference
2327  // v1, v2 = phi of object 1 and 2
2328  double diff = std::abs(v2 - v1);
2329  double corr = 2*M_PI - diff;
2330  return ((diff < M_PI) ? diff : corr);
2331 }
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 2333 of file IsolatedTracksNxN.cc.

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

Referenced by analyze().

2333  {
2334  double deta = eta1 - eta2;
2335  double dphi = deltaPhi(phi1, phi2);
2336  return std::sqrt(deta*deta + dphi*dphi);
2337 }
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 1615 of file IsolatedTracksNxN.cc.

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

Referenced by o2olib.O2ORunMgr::executeJob().

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

Definition at line 622 of file IsolatedTracksNxN.cc.

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

622  {
623 
625  desc.addUntracked<bool>("doMC", false);
626  desc.addUntracked<bool>("writeAllTracks", false);
627  desc.addUntracked<int>("verbosity", 1);
628  desc.addUntracked<double>("pvTracksPtMin", 0.200);
629  desc.addUntracked<int>("debugTracks", 0);
630  desc.addUntracked<bool>("printTrkHitPattern", true);
631  desc.addUntracked<double>("minTrackP", 1.0);
632  desc.addUntracked<double>("maxTrackEta", 2.6);
633  desc.addUntracked<bool>("debugL1Info", false);
634  desc.addUntracked<bool>("l1TriggerAlgoInfo", false);
635  desc.add<edm::InputTag>("l1extraTauJetSource", edm::InputTag("l1extraParticles","Tau"));
636  desc.add<edm::InputTag>("l1extraCenJetSource", edm::InputTag("l1extraParticles","Central"));
637  desc.add<edm::InputTag>("l1extraFwdJetSource", edm::InputTag("l1extraParticles","Forward"));
638  desc.add<edm::InputTag>("l1extraMuonSource", edm::InputTag("l1extraParticles"));
639  desc.add<edm::InputTag>("l1extraIsoEmSource", edm::InputTag("l1extraParticles","Isolated"));
640  desc.add<edm::InputTag>("l1extraNonIsoEmSource", edm::InputTag("l1extraParticles","NonIsolated"));
641  desc.add<edm::InputTag>("l1GTReadoutRcdSource", edm::InputTag("gtDigis"));
642  desc.add<edm::InputTag>("l1GTObjectMapRcdSource",edm::InputTag("hltL1GtObjectMap"));
643  desc.add<edm::InputTag>("jetSource", edm::InputTag("iterativeCone5CaloJets"));
644  desc.add<edm::InputTag>("jetExtender", edm::InputTag("iterativeCone5JetExtender"));
645  desc.add<edm::InputTag>("hbheRecHitSource", edm::InputTag("hbhereco"));
646  desc.addUntracked<double>("maxNearTrackPT", 1.0);
647  desc.addUntracked<double>("timeMinCutECAL", -500.0);
648  desc.addUntracked<double>("timeMaxCutECAL", 500.0);
649  desc.addUntracked<double>("timeMinCutHCAL", -500.0);
650  desc.addUntracked<double>("timeMaxCutHCAL", 500.0);
651  descriptions.add("isolatedTracksNxN",desc);
652 }
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 2339 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().

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

Member Data Documentation

const bool IsolatedTracksNxN::debugL1Info_
private

Definition at line 178 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const int IsolatedTracksNxN::debugTrks_
private

Definition at line 175 of file IsolatedTracksNxN.cc.

Referenced by analyze().

const bool IsolatedTracksNxN::doMC_
private

Definition at line 172 of file IsolatedTracksNxN.cc.

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

double IsolatedTracksNxN::genPartEtaBins[NEtaBins+1]
private

Definition at line 209 of file IsolatedTracksNxN.cc.

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

double IsolatedTracksNxN::genPartPBins[NPBins+1]
private

Definition at line 209 of file IsolatedTracksNxN.cc.

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

TH1I* IsolatedTracksNxN::h_L1AlgoNames
private

Definition at line 215 of file IsolatedTracksNxN.cc.

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

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

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 211 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_nTracks
private

Definition at line 217 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_PVTracksWt
private

Definition at line 216 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recEta_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_0
private

Definition at line 219 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_1
private

Definition at line 221 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F * IsolatedTracksNxN::h_recEtaP_2
private

Definition at line 223 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_0
private

Definition at line 219 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_1
private

Definition at line 221 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH2F* IsolatedTracksNxN::h_recEtaPt_2
private

Definition at line 223 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recP_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recP_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recP_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F * IsolatedTracksNxN::h_recPhi_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_0
private

Definition at line 218 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_1
private

Definition at line 220 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

TH1F* IsolatedTracksNxN::h_recPt_2
private

Definition at line 222 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

bool IsolatedTracksNxN::initL1_
private

Definition at line 180 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and beginJob().

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

Definition at line 169 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and endJob().

const bool IsolatedTracksNxN::L1TriggerAlgoInfo_
private

Definition at line 178 of file IsolatedTracksNxN.cc.

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

L1GtUtils IsolatedTracksNxN::m_l1GtUtils
private

Definition at line 164 of file IsolatedTracksNxN.cc.

Referenced by analyze().

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

Definition at line 170 of file IsolatedTracksNxN.cc.

const double IsolatedTracksNxN::maxTrackEta_
private

Definition at line 177 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::minTrackP_
private

Definition at line 177 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const int IsolatedTracksNxN::myverbose_
private

Definition at line 173 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

int IsolatedTracksNxN::nbad_
private

Definition at line 181 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and beginJob().

size_t IsolatedTracksNxN::NEtaBins = 3
staticprivate

Definition at line 208 of file IsolatedTracksNxN.cc.

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

int IsolatedTracksNxN::nEventProc_
private

Definition at line 181 of file IsolatedTracksNxN.cc.

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

size_t IsolatedTracksNxN::nL1BitsMax =128
staticprivate

Definition at line 165 of file IsolatedTracksNxN.cc.

size_t IsolatedTracksNxN::NPBins = 15
staticprivate

Definition at line 207 of file IsolatedTracksNxN.cc.

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

const bool IsolatedTracksNxN::printTrkHitPattern_
private

Definition at line 176 of file IsolatedTracksNxN.cc.

Referenced by printTrack().

const double IsolatedTracksNxN::pvTracksPtMin_
private

Definition at line 174 of file IsolatedTracksNxN.cc.

Referenced by analyze().

int IsolatedTracksNxN::t_Bunch
private

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 231 of file IsolatedTracksNxN.cc.

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

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

Definition at line 239 of file IsolatedTracksNxN.cc.

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

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

Definition at line 239 of file IsolatedTracksNxN.cc.

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

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

Definition at line 239 of file IsolatedTracksNxN.cc.

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

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

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 227 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 228 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::tMaxH_
private

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::tMinE_
private

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

const double IsolatedTracksNxN::tMinH_
private

Definition at line 179 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 196 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 202 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 203 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 204 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 198 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 199 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 194 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 192 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 191 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 184 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 185 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 188 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 187 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 189 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 183 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 195 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 200 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

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

Definition at line 201 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and IsolatedTracksNxN().

TrackerHitAssociator::Config IsolatedTracksNxN::trackerHitAssociatorConfig_
private

Definition at line 166 of file IsolatedTracksNxN.cc.

Referenced by analyze().

TTree* IsolatedTracksNxN::tree_
private

Definition at line 225 of file IsolatedTracksNxN.cc.

Referenced by analyze(), and bookHistograms().

const bool IsolatedTracksNxN::writeAllTracks_
private

Definition at line 172 of file IsolatedTracksNxN.cc.

Referenced by analyze().