CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
tmtt::Histos Class Reference

#include <Histos.h>

Public Member Functions

virtual bool available () const
 
virtual void book ()
 
virtual bool enabled () const
 
virtual void endJobAnalysis (const HTrphi::ErrorMonitor *htRphiErrMon=nullptr)
 
virtual void fill (const InputData &inputData, const matrix< std::unique_ptr< Sector >> &mSectors, const matrix< std::unique_ptr< HTrphi >> &mHtPhis, const matrix< std::unique_ptr< Make3Dtracks >> &mGet3Dtrks, const std::map< std::string, std::list< const L1fittedTrack * >> &mapFinalTracks)
 
 Histos (const Settings *settings)
 
virtual void trackerGeometryAnalysis (const std::list< TrackerModule > &listTrackerModule)
 
virtual ~Histos ()=default
 

Protected Member Functions

virtual TFileDirectory bookEtaPhiSectors ()
 
virtual TFileDirectory bookInputData ()
 
virtual TFileDirectory bookRphiHT ()
 
virtual TFileDirectory bookRZfilters ()
 
virtual TFileDirectory bookTrackCands (const std::string &tName)
 
virtual std::map< std::string, TFileDirectorybookTrackFitting ()
 
virtual void fillEtaPhiSectors (const InputData &inputData, const matrix< std::unique_ptr< Sector >> &mSectors)
 
virtual void fillInputData (const InputData &inputData)
 
virtual void fillRphiHT (const matrix< std::unique_ptr< HTrphi >> &mHtRphis)
 
virtual void fillRZfilters (const matrix< std::unique_ptr< Make3Dtracks >> &mMake3Dtrks)
 
virtual void fillTrackCands (const InputData &inputData, const matrix< std::unique_ptr< Make3Dtracks >> &mMake3Dtrks, const std::string &tName)
 
virtual void fillTrackCands (const InputData &inputData, const std::vector< L1track3D > &tracks, const std::string &tName)
 
virtual void fillTrackFitting (const InputData &inputData, const std::map< std::string, std::list< const L1fittedTrack * >> &mapFinalTracks)
 
virtual void makeEfficiencyPlot (TFileDirectory &inputDir, TEfficiency *outputEfficiency, TH1F *pass, TH1F *all, TString name, TString title)
 
virtual void plotHybridDupRemovalEfficiency ()
 
virtual TFileDirectory plotTrackEffAfterFit (const std::string &fitName)
 
virtual TFileDirectory plotTrackEfficiency (const std::string &tName)
 
virtual void plotTrackletSeedEfficiency ()
 
virtual void printFitTrackPerformance (const std::string &fitName)
 
virtual void printHybridDupRemovalPerformance ()
 
virtual void printTrackletSeedFindingPerformance ()
 
virtual void printTrackPerformance (const std::string &tName)
 

Protected Attributes

bool bApproxMistake_
 
float chosenRofZ_
 
edm::Service< TFileServicefs_
 
unsigned int genMinStubLayers_
 
TGraph * graphBVsZoverR_
 
TH1F * hisBendResStub_
 
TH1F * hisBendStub_
 
std::map< std::string, TProfile * > hisD0ResVsTrueEta_
 
std::map< std::string, TProfile * > hisD0ResVsTrueInvPt_
 
std::map< std::string, TH1F * > hisEta_
 
std::map< std::string, TH1F * > hisEtaRes_
 
std::map< std::string, TProfile * > hisEtaResVsTrueEta_
 
std::map< std::string, TProfile * > hisEtaResVsTrueInvPt_
 
std::map< std::string, TH1F * > hisFitChi2DofRphiMatched_
 
std::map< std::string, TH1F * > hisFitChi2DofRphiUnmatched_
 
std::map< std::string, TH1F * > hisFitChi2DofRzMatched_
 
std::map< std::string, TH1F * > hisFitChi2DofRzUnmatched_
 
std::map< std::string, TH1F * > hisFitD0Matched_
 
std::map< std::string, TH1F * > hisFitD0Unmatched_
 
std::map< std::string, TH1F * > hisFitEtaMatched_
 
std::map< std::string, TH1F * > hisFitEtaUnmatched_
 
std::map< std::string, TH1F * > hisFitPhi0Matched_
 
std::map< std::string, TH1F * > hisFitPhi0Unmatched_
 
std::map< std::string, TH1F * > hisFitQinvPtMatched_
 
std::map< std::string, TH1F * > hisFitQinvPtUnmatched_
 
std::map< std::string, TH1F * > hisFitTPd0ForAlgEff_
 
std::map< std::string, TH1F * > hisFitTPd0ForEff_
 
std::map< std::string, TH1F * > hisFitTPetaForAlgEff_
 
std::map< std::string, TH1F * > hisFitTPetaForEff_
 
std::map< std::string, TH1F * > hisFitTPinvptForAlgEff_
 
std::map< std::string, TH1F * > hisFitTPinvptForEff_
 
std::map< std::string, TH1F * > hisFitTPphiForAlgEff_
 
std::map< std::string, TH1F * > hisFitTPphiForEff_
 
std::map< std::string, TH1F * > hisFitTPz0ForAlgEff_
 
std::map< std::string, TH1F * > hisFitTPz0ForEff_
 
std::map< std::string, TH1F * > hisFitZ0Matched_
 
std::map< std::string, TH1F * > hisFitZ0Unmatched_
 
std::map< std::string, TH1F * > hisFracMatchStubsOnTracks_
 
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay0Matched_
 
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay0Unmatched_
 
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay1Matched_
 
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay1Unmatched_
 
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay2Matched_
 
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay2Unmatched_
 
std::map< std::string, TH1F * > hisKalmanNumUpdateCalls_
 
std::map< std::string, TH1F * > hisLayersPerTrack_
 
TH1F * hisNumEtaSecsPerStub_
 
std::map< std::string, TH1F * > hisNumFitTrks_
 
std::map< std::string, TH1F * > hisNumFitTrksPerNon_
 
std::map< std::string, TH1F * > hisNumFitTrksPerSect_
 
TH1F * hisNumLayersPerTP_
 
TH1F * hisNumPhiSecsPerStub_
 
TH1F * hisNumPSLayersPerTP_
 
std::map< std::string, TH1F * > hisNumStubsPerLink_
 
TH1F * hisNumStubsPerSec_
 
std::map< std::string, TH1F * > hisNumTracksVsQoverPt_
 
std::map< std::string, TH1F * > hisNumTrksPerNon_
 
std::map< std::string, TH1F * > hisPerfFitTPetaForAlgEff_
 
std::map< std::string, TH1F * > hisPerfFitTPetaForEff_
 
std::map< std::string, TH1F * > hisPerfFitTPinvptForAlgEff_
 
std::map< std::string, TH1F * > hisPerfFitTPinvptForEff_
 
std::map< std::string, TH1F * > hisPerfRecoTPetaForAlgEff_
 
std::map< std::string, TH1F * > hisPerfRecoTPetaForEff_
 
std::map< std::string, TH1F * > hisPerfRecoTPinvptForAlgEff_
 
std::map< std::string, TH1F * > hisPerfRecoTPinvptForEff_
 
std::map< std::string, TH1F * > hisPhi0_
 
std::map< std::string, TH1F * > hisPhi0Res_
 
std::map< std::string, TProfile * > hisPhi0ResVsTrueEta_
 
std::map< std::string, TProfile * > hisPhi0ResVsTrueInvPt_
 
std::map< std::string, TH1F * > hisQoverPt_
 
std::map< std::string, TH1F * > hisQoverPtRes_
 
std::map< std::string, TProfile * > hisQoverPtResVsTrueEta_
 
std::map< std::string, TProfile * > hisQoverPtResVsTrueInvPt_
 
std::map< std::string, TH1F * > hisRecoTPd0ForAlgEff_
 
std::map< std::string, TH1F * > hisRecoTPd0ForEff_
 
std::map< std::string, TH1F * > hisRecoTPetaForAlgEff_
 
std::map< std::string, TH1F * > hisRecoTPetaForEff_
 
std::map< std::string, TH1F * > hisRecoTPinvptForAlgEff_
 
std::map< std::string, TH1F * > hisRecoTPinvptForEff_
 
std::map< std::string, TH1F * > hisRecoTPphiForAlgEff_
 
std::map< std::string, TH1F * > hisRecoTPphiForEff_
 
std::map< std::string, TH1F * > hisRecoTPz0ForAlgEff_
 
std::map< std::string, TH1F * > hisRecoTPz0ForEff_
 
TProfile * hisStubIneffiVsEta_
 
TProfile * hisStubIneffiVsInvPt_
 
TProfile * hisStubKillFE_
 
std::map< std::string, TH1F * > hisStubsOnTracksPerNon_
 
std::map< std::string, TH1F * > hisStubsPerFitTrack_
 
std::map< std::string, TH1F * > hisStubsPerTrack_
 
TH1F * hisStubsVsEta_
 
TH1F * hisStubsVsR_
 
TH1F * hisTPd0ForAlgEff_
 
TH1F * hisTPd0ForEff_
 
TH1F * hisTPetaForAlgEff_
 
TH1F * hisTPetaForEff_
 
TH1F * hisTPinvptForAlgEff_
 
TH1F * hisTPinvptForEff_
 
TH1F * hisTPphiForAlgEff_
 
TH1F * hisTPphiForEff_
 
TH1F * hisTPz0ForAlgEff_
 
TH1F * hisTPz0ForEff_
 
std::map< std::string, TH1F * > hisZ0_
 
std::map< std::string, TH1F * > hisZ0Res_
 
std::map< std::string, TProfile * > hisZ0ResVsTrueEta_
 
std::map< std::string, TProfile * > hisZ0ResVsTrueInvPt_
 
float houghMinPt_
 
unsigned int houghNbinsPhi_
 
unsigned int houghNbinsPt_
 
std::map< unsigned int, float > mapBarrelLayerMaxR_
 
std::map< unsigned int, float > mapBarrelLayerMinR_
 
std::map< unsigned int, float > mapEndcapWheelMaxZ_
 
std::map< unsigned int, float > mapEndcapWheelMinZ_
 
std::map< unsigned int, float > mapExtraAModuleTypeMaxR_
 
std::map< unsigned int, float > mapExtraAModuleTypeMaxZ_
 
std::map< unsigned int, float > mapExtraAModuleTypeMinR_
 
std::map< unsigned int, float > mapExtraAModuleTypeMinZ_
 
std::map< unsigned int, float > mapExtraBModuleTypeMaxR_
 
std::map< unsigned int, float > mapExtraBModuleTypeMaxZ_
 
std::map< unsigned int, float > mapExtraBModuleTypeMinR_
 
std::map< unsigned int, float > mapExtraBModuleTypeMinZ_
 
std::map< unsigned int, float > mapExtraCModuleTypeMaxR_
 
std::map< unsigned int, float > mapExtraCModuleTypeMaxZ_
 
std::map< unsigned int, float > mapExtraCModuleTypeMinR_
 
std::map< unsigned int, float > mapExtraCModuleTypeMinZ_
 
std::map< unsigned int, float > mapExtraDModuleTypeMaxR_
 
std::map< unsigned int, float > mapExtraDModuleTypeMaxZ_
 
std::map< unsigned int, float > mapExtraDModuleTypeMinR_
 
std::map< unsigned int, float > mapExtraDModuleTypeMinZ_
 
std::map< unsigned int, float > mapModuleTypeMaxR_
 
std::map< unsigned int, float > mapModuleTypeMaxZ_
 
std::map< unsigned int, float > mapModuleTypeMinR_
 
std::map< unsigned int, float > mapModuleTypeMinZ_
 
unsigned int numEtaRegions_
 
std::map< std::string, unsigned int > numFitAlgEff_
 
std::map< std::string, unsigned int > numFitAlgEffPass_
 
std::map< std::string, unsigned int > numFitPerfAlgEff_
 
std::map< std::string, unsigned int > numFitPerfAlgEffPass_
 
unsigned int numPhiSectors_
 
bool oldSumW2opt_
 
bool printedGeomAnalysis_
 
std::map< std::string, TProfile * > profDupFitTrksVsEta_
 
std::map< std::string, TProfile * > profDupFitTrksVsInvPt_
 
std::map< std::string, TProfile * > profDupTracksVsEta_
 
std::map< std::string, TProfile * > profDupTracksVsInvPt_
 
std::map< std::string, TProfile * > profFitChi2DofRphiVsInvPtMatched_
 
std::map< std::string, TProfile * > profFitChi2DofRphiVsInvPtUnmatched_
 
std::map< std::string, TProfile * > profMeanStubsPerLink_
 
std::map< std::string, TProfile * > profNumFitTracks_
 
std::map< std::string, TProfile * > profNumTrackCands_
 
std::map< std::string, TProfile * > profNumTracksVsEta_
 
std::map< std::string, TProfile * > profStubsOnFitTracks_
 
std::map< std::string, TProfile * > profStubsOnTracks_
 
bool ranRZfilter_
 
bool resPlotOpt_
 
const Settingssettings_
 
std::map< std::string, TEfficiency * > teffAlgEffFitVsD0_
 
std::map< std::string, TEfficiency * > teffAlgEffFitVsEta_
 
std::map< std::string, TEfficiency * > teffAlgEffFitVsInvPt_
 
std::map< std::string, TEfficiency * > teffAlgEffFitVsPhi_
 
std::map< std::string, TEfficiency * > teffAlgEffFitVsZ0_
 
std::map< std::string, TEfficiency * > teffAlgEffVsD0_
 
std::map< std::string, TEfficiency * > teffAlgEffVsEta_
 
std::map< std::string, TEfficiency * > teffAlgEffVsInvPt_
 
std::map< std::string, TEfficiency * > teffAlgEffVsPhi_
 
std::map< std::string, TEfficiency * > teffAlgEffVsZ0_
 
std::map< std::string, TEfficiency * > teffEffFitVsD0_
 
std::map< std::string, TEfficiency * > teffEffFitVsEta_
 
std::map< std::string, TEfficiency * > teffEffFitVsInvPt_
 
std::map< std::string, TEfficiency * > teffEffFitVsPhi_
 
std::map< std::string, TEfficiency * > teffEffFitVsZ0_
 
std::map< std::string, TEfficiency * > teffEffVsD0_
 
std::map< std::string, TEfficiency * > teffEffVsEta_
 
std::map< std::string, TEfficiency * > teffEffVsInvPt_
 
std::map< std::string, TEfficiency * > teffEffVsPhi_
 
std::map< std::string, TEfficiency * > teffEffVsZ0_
 
std::map< std::string, TEfficiency * > teffPerfAlgEffFitVsEta_
 
std::map< std::string, TEfficiency * > teffPerfAlgEffFitVsInvPt_
 
std::map< std::string, TEfficiency * > teffPerfAlgEffVsEta_
 
std::map< std::string, TEfficiency * > teffPerfAlgEffVsInvPt_
 
std::map< std::string, TEfficiency * > teffPerfAlgEffVsPt_
 
std::map< std::string, TEfficiency * > teffPerfEffFitVsEta_
 
std::map< std::string, TEfficiency * > teffPerfEffFitVsInvPt_
 
std::map< std::string, TEfficiency * > teffPerfEffVsEta_
 
std::map< std::string, TEfficiency * > teffPerfEffVsInvPt_
 
std::vector< std::string > trackFitters_
 
std::vector< std::string > useRZfilter_
 

Detailed Description

Definition at line 37 of file Histos.h.

Constructor & Destructor Documentation

◆ Histos()

Histos::Histos ( const Settings settings)

Definition at line 39 of file Histos.cc.

39  : settings_(settings), oldSumW2opt_(false), bApproxMistake_(false) {
40  genMinStubLayers_ = settings->genMinStubLayers();
41  numPhiSectors_ = settings->numPhiSectors();
42  numEtaRegions_ = settings->numEtaRegions();
43  houghMinPt_ = settings->houghMinPt();
44  houghNbinsPt_ = settings->houghNbinsPt();
45  houghNbinsPhi_ = settings->houghNbinsPhi();
46  chosenRofZ_ = settings->chosenRofZ();
47  trackFitters_ = settings->trackFitters();
48  useRZfilter_ = settings->useRZfilter();
49  ranRZfilter_ = (not useRZfilter_.empty()); // Was any r-z track filter run?
50  resPlotOpt_ = settings->resPlotOpt(); // Only use signal events for helix resolution plots?
51  }

References tmtt::Settings::chosenRofZ(), chosenRofZ_, tmtt::Settings::genMinStubLayers(), genMinStubLayers_, tmtt::Settings::houghMinPt(), houghMinPt_, tmtt::Settings::houghNbinsPhi(), houghNbinsPhi_, tmtt::Settings::houghNbinsPt(), houghNbinsPt_, tmtt::Settings::numEtaRegions(), numEtaRegions_, tmtt::Settings::numPhiSectors(), numPhiSectors_, ranRZfilter_, tmtt::Settings::resPlotOpt(), resPlotOpt_, tmtt::Settings::trackFitters(), trackFitters_, tmtt::Settings::useRZfilter(), and useRZfilter_.

◆ ~Histos()

virtual tmtt::Histos::~Histos ( )
virtualdefault

Member Function Documentation

◆ available()

virtual bool tmtt::Histos::available ( ) const
inlinevirtual

Definition at line 59 of file Histos.h.

59 { return fs_.isAvailable(); }

References fs_, and edm::Service< T >::isAvailable().

Referenced by enabled().

◆ book()

void Histos::book ( )
virtual

Definition at line 55 of file Histos.cc.

55  {
56  // Don't bother booking histograms if user didn't request them via TFileService in their cfg.
57  if (not this->enabled())
58  return;
59 
60  oldSumW2opt_ = TH1::GetDefaultSumw2();
61  TH1::SetDefaultSumw2(true);
62 
63  // Book histograms about input data.
64  this->bookInputData();
65  // Book histograms checking if (eta,phi) sector definition choices are good.
66  this->bookEtaPhiSectors();
67  // Book histograms checking filling of r-phi HT array.
68  this->bookRphiHT();
69  // Book histograms about r-z track filters.
70  if (ranRZfilter_)
71  this->bookRZfilters();
72  // Book histograms studying 3D track candidates found after HT.
73  this->bookTrackCands("HT");
74  // Book histograms studying 3D track candidates found after r-z track filter.
75  if (ranRZfilter_)
76  this->bookTrackCands("RZ");
77  // Book histograms studying track fitting performance
78  this->bookTrackFitting();
79  }

References bookEtaPhiSectors(), bookInputData(), bookRphiHT(), bookRZfilters(), bookTrackCands(), bookTrackFitting(), enabled(), oldSumW2opt_, and ranRZfilter_.

Referenced by tmtt::GlobalCacheTMTT::GlobalCacheTMTT().

◆ bookEtaPhiSectors()

TFileDirectory Histos::bookEtaPhiSectors ( )
protectedvirtual

Definition at line 369 of file Histos.cc.

369  {
370  TFileDirectory inputDir = fs_->mkdir("CheckSectors");
371 
372  // Check if stubs excessively duplicated between overlapping sectors.
374  inputDir.make<TH1F>("NumEtaSecPerStub", "; No. of #eta sectors each stub in", 20, -0.5, 19.5);
376  inputDir.make<TH1F>("NumPhiSecPerStub", "; No. of #phi sectors each stub in", 20, -0.5, 19.5);
377 
378  // Count stubs per (eta,phi) sector.
379  hisNumStubsPerSec_ = inputDir.make<TH1F>("NumStubsPerSec", "; No. of stubs per sector", 150, -0.5, 299.5);
380 
381  return inputDir;
382  }

References fs_, hisNumEtaSecsPerStub_, hisNumPhiSecsPerStub_, hisNumStubsPerSec_, TFileDirectory::make(), and TFileService::mkdir().

Referenced by book().

◆ bookInputData()

TFileDirectory Histos::bookInputData ( )
protectedvirtual

Definition at line 121 of file Histos.cc.

121  {
122  TFileDirectory inputDir = fs_->mkdir("InputData");
123 
124  hisStubsVsEta_ = inputDir.make<TH1F>("StubsVsEta", "; #eta; No. stubs in tracker", 30, -3.0, 3.0);
125  hisStubsVsR_ = inputDir.make<TH1F>("StubsVsR", "; radius (cm); No. stubs in tracker", 1200, 0., 120.);
126 
128  inputDir.make<TH1F>("NumLayersPerTP", "; Number of layers per TP for alg. eff.", 20, -0.5, 19.5);
130  inputDir.make<TH1F>("NumPSLayersPerTP", "; Number of PS layers per TP for alg. eff.", 20, -0.5, 19.5);
131 
132  // Study efficiency of tightened front end-electronics cuts.
133 
134  hisStubKillFE_ = inputDir.make<TProfile>(
135  "StubKillFE", "; barrelLayer or 10+endcapRing; Stub fraction rejected by FE chip", 30, -0.5, 29.5);
137  inputDir.make<TProfile>("StubIneffiVsPt", "; 1/Pt; Inefficiency of FE chip for good stubs", 25, 0.0, 0.5);
139  inputDir.make<TProfile>("StubIneffiVsEta", "; |#eta|; Inefficiency of FE chip for good stubs", 15, 0.0, 3.0);
140 
141  // Study stub resolution.
142 
143  hisBendStub_ = inputDir.make<TH1F>("BendStub", "; Stub bend in units of strips", 59, -7.375, 7.375);
144  hisBendResStub_ = inputDir.make<TH1F>("BendResStub", "; Stub bend minus TP bend in units of strips", 100, -5., 5.);
145 
146  // Histos for denominator of tracking efficiency
147  hisTPinvptForEff_ = inputDir.make<TH1F>("TPinvptForEff", "; TP 1/Pt (for effi.);", 50, 0., 0.5);
148  hisTPetaForEff_ = inputDir.make<TH1F>("TPetaForEff", "; TP #eta (for effi.);", 20, -3., 3.);
149  hisTPphiForEff_ = inputDir.make<TH1F>("TPphiForEff", "; TP #phi (for effi.);", 20, -M_PI, M_PI);
150  hisTPd0ForEff_ = inputDir.make<TH1F>("TPd0ForEff", "; TP d0 (for effi.);", 40, 0., 4.);
151  hisTPz0ForEff_ = inputDir.make<TH1F>("TPz0ForEff", "; TP z0 (for effi.);", 50, 0., 25.);
152  //
153  hisTPinvptForAlgEff_ = inputDir.make<TH1F>("TPinvptForAlgEff", "; TP 1/Pt (for alg. effi.);", 50, 0., 0.5);
154  hisTPetaForAlgEff_ = inputDir.make<TH1F>("TPetaForAlgEff", "; TP #eta (for alg. effi.);", 20, -3., 3.);
155  hisTPphiForAlgEff_ = inputDir.make<TH1F>("TPphiForAlgEff", "; TP #phi (for alg. effi.);", 20, -M_PI, M_PI);
156  hisTPd0ForAlgEff_ = inputDir.make<TH1F>("TPd0ForAlgEff", "; TP d0 (for alg. effi.);", 40, 0., 4.);
157  hisTPz0ForAlgEff_ = inputDir.make<TH1F>("TPz0ForAlgEff", "; TP z0 (for alg. effi.);", 50, 0., 25.);
158 
159  return inputDir;
160  }

References fs_, hisBendResStub_, hisBendStub_, hisNumLayersPerTP_, hisNumPSLayersPerTP_, hisStubIneffiVsEta_, hisStubIneffiVsInvPt_, hisStubKillFE_, hisStubsVsEta_, hisStubsVsR_, hisTPd0ForAlgEff_, hisTPd0ForEff_, hisTPetaForAlgEff_, hisTPetaForEff_, hisTPinvptForAlgEff_, hisTPinvptForEff_, hisTPphiForAlgEff_, hisTPphiForEff_, hisTPz0ForAlgEff_, hisTPz0ForEff_, M_PI, TFileDirectory::make(), and TFileService::mkdir().

Referenced by book().

◆ bookRphiHT()

TFileDirectory Histos::bookRphiHT ( )
protectedvirtual

Definition at line 437 of file Histos.cc.

437  {
438  TFileDirectory inputDir = fs_->mkdir("HTrphi");
439 
440  return inputDir;
441  }

References fs_, and TFileService::mkdir().

Referenced by book().

◆ bookRZfilters()

TFileDirectory Histos::bookRZfilters ( )
protectedvirtual

Definition at line 455 of file Histos.cc.

455  {
456  TFileDirectory inputDir = fs_->mkdir("RZfilters");
457 
458  return inputDir;
459  }

References fs_, and TFileService::mkdir().

Referenced by book().

◆ bookTrackCands()

TFileDirectory Histos::bookTrackCands ( const std::string &  tName)
protectedvirtual

Definition at line 471 of file Histos.cc.

471  {
472  // Now book histograms for studying tracking in general.
473 
474  auto addn = [tName](const string& s) { return TString::Format("%s_%s", s.c_str(), tName.c_str()); };
475 
476  TFileDirectory inputDir = fs_->mkdir(addn("TrackCands").Data());
477 
478  bool TMTT = (tName == "HT" || tName == "RZ");
479 
480  // Count tracks in various ways (including/excluding duplicates, excluding fakes ...)
482  inputDir.make<TProfile>(addn("NumTrackCands"), "; class; N. of tracks in tracker", 7, 0.5, 7.5);
483  profNumTrackCands_[tName]->GetXaxis()->SetBinLabel(7, "TP for eff recoed");
484  profNumTrackCands_[tName]->GetXaxis()->SetBinLabel(6, "TP recoed");
485  profNumTrackCands_[tName]->GetXaxis()->SetBinLabel(5, "TP recoed x #eta sector dups");
486  profNumTrackCands_[tName]->GetXaxis()->SetBinLabel(4, "TP recoed x sector dups");
487  profNumTrackCands_[tName]->GetXaxis()->SetBinLabel(2, "TP recoed x track dups");
488  profNumTrackCands_[tName]->GetXaxis()->SetBinLabel(1, "reco tracks including fakes");
489  profNumTrackCands_[tName]->LabelsOption("d");
490 
491  hisNumTrksPerNon_[tName] = inputDir.make<TH1F>(addn("NumTrksPerNon"), "; No. tracks per nonant;", 100, -0.5, 399.5);
492 
493  unsigned int nEta = numEtaRegions_;
495  inputDir.make<TH1F>(addn("NumTracksVsQoverPt"), "; Q/Pt; No. of tracks in tracker", 100, -0.5, 0.5);
496  if (TMTT) {
497  profNumTracksVsEta_[tName] = inputDir.make<TProfile>(
498  addn("NumTracksVsEta"), "; #eta region; No. of tracks in tracker", nEta, -0.5, nEta - 0.5);
499  }
500 
501  // Count stubs per event assigned to tracks (determines HT data output rate)
502 
504  inputDir.make<TProfile>(addn("StubsOnTracks"), "; ; No. of stubs on tracks per event", 1, 0.5, 1.5);
506  inputDir.make<TH1F>(addn("StubsOnTracksPerNon"), "; No. of stubs on tracks per nonant", 100, -0.5, 4999.5);
507 
508  hisStubsPerTrack_[tName] = inputDir.make<TH1F>(addn("StubsPerTrack"), ";No. of stubs per track;", 50, -0.5, 49.5);
510  inputDir.make<TH1F>(addn("LayersPerTrack"), ";No. of layers with stubs per track;", 20, -0.5, 19.5);
511 
512  if (TMTT) {
514  inputDir.make<TH1F>(addn("NumStubsPerLink"), "; Mean #stubs per MHT output opto-link;", 50, -0.5, 249.5);
516  inputDir.make<TProfile>(addn("MeanStubsPerLink"), "; Mean #stubs per MHT output opto-link;", 36, -0.5, 35.5);
517  }
518 
519  hisFracMatchStubsOnTracks_[tName] = inputDir.make<TH1F>(
520  addn("FracMatchStubsOnTracks"), "; Frac. of stubs per trk matching best TP;", 101, -0.005, 1.005);
521 
522  if (TMTT) {
523  // Study duplication of tracks within an individual HT array.
525  inputDir.make<TProfile>(addn("DupTracksVsTPeta"), "; #eta; No. of dup. trks per TP;", 15, 0.0, 3.0);
527  inputDir.make<TProfile>(addn("DupTracksVsInvPt"), "; 1/Pt; No. of dup. trks per TP", 25, 0., 0.5);
528  }
529 
530  // Histos of track params.
531  hisQoverPt_[tName] = inputDir.make<TH1F>(addn("QoverPt"), "; track q/Pt", 100, -0.5, 0.5);
532  hisPhi0_[tName] = inputDir.make<TH1F>(addn("Phi0"), "; track #phi0", 70, -3.5, 3.5);
533  hisEta_[tName] = inputDir.make<TH1F>(addn("Eta"), "; track #eta", 60, -3.0, 3.0);
534  hisZ0_[tName] = inputDir.make<TH1F>(addn("Z0"), "; track z0", 100, -25.0, 25.0);
535 
536  // Histos of track parameter resolution
537  hisQoverPtRes_[tName] = inputDir.make<TH1F>(addn("QoverPtRes"), "; track resolution in q/Pt", 100, -0.06, 0.06);
538  hisPhi0Res_[tName] = inputDir.make<TH1F>(addn("Phi0Res"), "; track resolution in #phi0", 100, -0.04, 0.04);
539  hisEtaRes_[tName] = inputDir.make<TH1F>(addn("EtaRes"), "; track resolution in #eta", 100, -1.0, 1.0);
540  hisZ0Res_[tName] = inputDir.make<TH1F>(addn("Z0Res"), "; track resolution in z0", 100, -10.0, 10.0);
541 
542  // Histos for tracking efficiency vs. TP kinematics
544  inputDir.make<TH1F>(addn("RecoTPinvptForEff"), "; TP 1/Pt of recoed tracks (for effi.);", 50, 0., 0.5);
546  inputDir.make<TH1F>(addn("RecoTPetaForEff"), "; TP #eta of recoed tracks (for effi.);", 20, -3., 3.);
548  inputDir.make<TH1F>(addn("RecoTPphiForEff"), "; TP #phi of recoed tracks (for effi.);", 20, -M_PI, M_PI);
549 
550  // Histo for efficiency to reconstruct track perfectly (no incorrect hits).
551  hisPerfRecoTPinvptForEff_[tName] = inputDir.make<TH1F>(
552  addn("PerfRecoTPinvptForEff"), "; TP 1/Pt of recoed tracks (for perf. effi.);", 50, 0., 0.5);
554  inputDir.make<TH1F>(addn("PerfRecoTPetaForEff"), "; TP #eta of recoed tracks (for perf. effi.);", 20, -3., 3.);
555 
556  // Histos for tracking efficiency vs. TP production point
558  inputDir.make<TH1F>(addn("RecoTPd0ForEff"), "; TP d0 of recoed tracks (for effi.);", 40, 0., 4.);
560  inputDir.make<TH1F>(addn("RecoTPz0ForEff"), "; TP z0 of recoed tracks (for effi.);", 50, 0., 25.);
561 
562  // Histos for algorithmic tracking efficiency vs. TP kinematics
564  inputDir.make<TH1F>(addn("RecoTPinvptForAlgEff"), "; TP 1/Pt of recoed tracks (for alg. effi.);", 50, 0., 0.5);
566  inputDir.make<TH1F>(addn("RecoTPetaForAlgEff"), "; TP #eta of recoed tracks (for alg. effi.);", 20, -3., 3.);
567  hisRecoTPphiForAlgEff_[tName] = inputDir.make<TH1F>(
568  addn("RecoTPphiForAlgEff"), "; TP #phi of recoed tracks (for alg. effi.);", 20, -M_PI, M_PI);
569 
570  // Histo for efficiency to reconstruct track perfectly (no incorrect hits).
571  hisPerfRecoTPinvptForAlgEff_[tName] = inputDir.make<TH1F>(
572  addn("PerfRecoTPinvptForAlgEff"), "; TP 1/Pt of recoed tracks (for perf. alg. effi.);", 50, 0., 0.5);
574  inputDir.make<TH1F>(addn("PerfRecoTPetaForAlgEff"), "; TP #eta (for perf. alg. effi.);", 20, -3., 3.);
575 
576  // Histos for algorithmic tracking efficiency vs. TP production point
578  inputDir.make<TH1F>(addn("RecoTPd0ForAlgEff"), "; TP d0 of recoed tracks (for alg. effi.);", 40, 0., 4.);
580  inputDir.make<TH1F>(addn("RecoTPz0ForAlgEff"), "; TP z0 of recoed tracks (for alg. effi.);", 50, 0., 25.);
581 
582  return inputDir;
583  }

References fs_, hisEta_, hisEtaRes_, hisFracMatchStubsOnTracks_, hisLayersPerTrack_, hisNumStubsPerLink_, hisNumTracksVsQoverPt_, hisNumTrksPerNon_, hisPerfRecoTPetaForAlgEff_, hisPerfRecoTPetaForEff_, hisPerfRecoTPinvptForAlgEff_, hisPerfRecoTPinvptForEff_, hisPhi0_, hisPhi0Res_, hisQoverPt_, hisQoverPtRes_, hisRecoTPd0ForAlgEff_, hisRecoTPd0ForEff_, hisRecoTPetaForAlgEff_, hisRecoTPetaForEff_, hisRecoTPinvptForAlgEff_, hisRecoTPinvptForEff_, hisRecoTPphiForAlgEff_, hisRecoTPphiForEff_, hisRecoTPz0ForAlgEff_, hisRecoTPz0ForEff_, hisStubsOnTracksPerNon_, hisStubsPerTrack_, hisZ0_, hisZ0Res_, M_PI, TFileDirectory::make(), TFileService::mkdir(), HLT_2018_cff::nEta, numEtaRegions_, profDupTracksVsEta_, profDupTracksVsInvPt_, profMeanStubsPerLink_, profNumTrackCands_, profNumTracksVsEta_, profStubsOnTracks_, alignCSCRings::s, ProducerES_cfi::TMTT, and simpleEdmComparison::tName.

Referenced by book().

◆ bookTrackFitting()

map< string, TFileDirectory > Histos::bookTrackFitting ( )
protectedvirtual

Definition at line 866 of file Histos.cc.

866  {
867  map<string, TFileDirectory> inputDirMap;
868 
869  for (const string& fitName : trackFitters_) {
870  // Define lambda function to facilitate adding "fitName" histogram names.
871  auto addn = [fitName](const string& s) { return TString::Format("%s_%s", s.c_str(), fitName.c_str()); };
872 
873  TFileDirectory inputDir = fs_->mkdir(fitName);
874  inputDirMap[fitName] = inputDir;
875 
876  profNumFitTracks_[fitName] =
877  inputDir.make<TProfile>(addn("NumFitTracks"), "; class; # of fitted tracks", 11, 0.5, 11.5, -0.5, 9.9e6);
878  profNumFitTracks_[fitName]->GetXaxis()->SetBinLabel(7, "TP for eff fitted");
879  profNumFitTracks_[fitName]->GetXaxis()->SetBinLabel(6, "TP fitted");
880  profNumFitTracks_[fitName]->GetXaxis()->SetBinLabel(2, "Fit tracks that are genuine");
881  profNumFitTracks_[fitName]->GetXaxis()->SetBinLabel(1, "Fit tracks including fakes");
882  profNumFitTracks_[fitName]->LabelsOption("d");
883 
884  hisNumFitTrks_[fitName] =
885  inputDir.make<TH1F>(addn("NumFitTrks"), "; No. fitted tracks in tracker;", 200, -0.5, 399.5);
886  hisNumFitTrksPerNon_[fitName] =
887  inputDir.make<TH1F>(addn("NumFitTrksPerNon"), "; No. fitted tracks per nonant;", 200, -0.5, 199.5);
888 
889  hisStubsPerFitTrack_[fitName] =
890  inputDir.make<TH1F>(addn("StubsPerFitTrack"), "; No. of stubs per fitted track", 20, -0.5, 19.5);
891  profStubsOnFitTracks_[fitName] = inputDir.make<TProfile>(
892  addn("StubsOnFitTracks"), "; ; No. of stubs on all fitted tracks per event", 1, 0.5, 1.5);
893 
894  hisFitQinvPtMatched_[fitName] =
895  inputDir.make<TH1F>(addn("FitQinvPtMatched"), "Fitted q/p_{T} for matched tracks", 120, -0.6, 0.6);
896  hisFitPhi0Matched_[fitName] =
897  inputDir.make<TH1F>(addn("FitPhi0Matched"), "Fitted #phi_{0} for matched tracks", 70, -3.5, 3.5);
898  hisFitD0Matched_[fitName] =
899  inputDir.make<TH1F>(addn("FitD0Matched"), "Fitted d_{0} for matched tracks", 100, -2., 2.);
900  hisFitZ0Matched_[fitName] =
901  inputDir.make<TH1F>(addn("FitZ0Matched"), "Fitted z_{0} for matched tracks", 100, -25., 25.);
902  hisFitEtaMatched_[fitName] =
903  inputDir.make<TH1F>(addn("FitEtaMatched"), "Fitted #eta for matched tracks", 70, -3.5, 3.5);
904 
905  hisFitQinvPtUnmatched_[fitName] =
906  inputDir.make<TH1F>(addn("FitQinvPtUnmatched"), "Fitted q/p_{T} for unmatched tracks", 120, -0.6, 0.6);
907  hisFitPhi0Unmatched_[fitName] =
908  inputDir.make<TH1F>(addn("FitPhi0Unmatched"), "Fitted #phi_{0} for unmatched tracks", 70, -3.5, 3.5);
909  hisFitD0Unmatched_[fitName] =
910  inputDir.make<TH1F>(addn("FitD0Unmatched"), "Fitted d_{0} for unmatched tracks", 100, -2., 2.);
911  hisFitZ0Unmatched_[fitName] =
912  inputDir.make<TH1F>(addn("FitZ0Unmatched"), "Fitted z_{0} for unmatched tracks", 100, -25., 25.);
913  hisFitEtaUnmatched_[fitName] =
914  inputDir.make<TH1F>(addn("FitEtaUnmatched"), "Fitted #eta for unmatched tracks", 70, -3.5, 3.5);
915 
916  const unsigned int nBinsChi2 = 39;
917  const float chi2dofBins[nBinsChi2 + 1] = {0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8,
918  2.0, 2.4, 2.8, 3.2, 3.6, 4.0, 4.5, 5.0, 6.0, 7.0,
919  8.0, 9.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 25.0, 30.0,
920  40.0, 50.0, 75.0, 100.0, 150.0, 200.0, 250.0, 350.0, 500.0, 1000.0};
921 
922  hisFitChi2DofRphiMatched_[fitName] =
923  inputDir.make<TH1F>(addn("FitChi2DofRphiMatched"), ";#chi^{2}rphi;", nBinsChi2, chi2dofBins);
924  hisFitChi2DofRzMatched_[fitName] =
925  inputDir.make<TH1F>(addn("FitChi2DofRzMatched"), ";#chi^{2}rz/DOF;", nBinsChi2, chi2dofBins);
927  inputDir.make<TProfile>(addn("FitChi2DofRphiVsInvPtMatched"), "; 1/p_{T}; Fit #chi^{2}rphi/dof", 25, 0., 0.5);
928 
929  hisFitChi2DofRphiUnmatched_[fitName] =
930  inputDir.make<TH1F>(addn("FitChi2DofRphiUnmatched"), ";#chi^{2}rphi/DOF;", nBinsChi2, chi2dofBins);
931  hisFitChi2DofRzUnmatched_[fitName] =
932  inputDir.make<TH1F>(addn("FitChi2DofRzUnmatched"), ";#chi^{2}rz/DOF;", nBinsChi2, chi2dofBins);
933  profFitChi2DofRphiVsInvPtUnmatched_[fitName] = inputDir.make<TProfile>(
934  addn("FitChi2DofRphiVsInvPtUnmatched"), "; 1/p_{T}; Fit #chi^{2}rphi/dof", 25, 0., 0.5);
935 
936  // Monitoring specific track fit algorithms.
937  if (fitName.find("KF") != string::npos) {
938  hisKalmanNumUpdateCalls_[fitName] =
939  inputDir.make<TH1F>(addn("KalmanNumUpdateCalls"), "; Calls to KF updator;", 100, -0.5, 99.5);
940 
941  hisKalmanChi2DofSkipLay0Matched_[fitName] = inputDir.make<TH1F>(
942  addn("KalmanChi2DofSkipLay0Matched"), ";#chi^{2} for nSkippedLayers = 0;", nBinsChi2, chi2dofBins);
943  hisKalmanChi2DofSkipLay1Matched_[fitName] = inputDir.make<TH1F>(
944  addn("KalmanChi2DofSkipLay1Matched"), ";#chi^{2} for nSkippedLayers = 1;", nBinsChi2, chi2dofBins);
945  hisKalmanChi2DofSkipLay2Matched_[fitName] = inputDir.make<TH1F>(
946  addn("KalmanChi2DofSkipLay2Matched"), ";#chi^{2} for nSkippedLayers = 2;", nBinsChi2, chi2dofBins);
947  hisKalmanChi2DofSkipLay0Unmatched_[fitName] = inputDir.make<TH1F>(
948  addn("KalmanChi2DofSkipLay0Unmatched"), ";#chi^{2} for nSkippedLayers = 0;", nBinsChi2, chi2dofBins);
949  hisKalmanChi2DofSkipLay1Unmatched_[fitName] = inputDir.make<TH1F>(
950  addn("KalmanChi2DofSkipLay1Unmatched"), ";#chi^{2} for nSkippedLayers = 1;", nBinsChi2, chi2dofBins);
951  hisKalmanChi2DofSkipLay2Unmatched_[fitName] = inputDir.make<TH1F>(
952  addn("KalmanChi2DofSkipLay2Unmatched"), ";#chi^{2} for nSkippedLayers = 2;", nBinsChi2, chi2dofBins);
953  }
954 
955  // Plots of helix param resolution.
956 
957  hisQoverPtResVsTrueEta_[fitName] = inputDir.make<TProfile>(
958  addn("QoverPtResVsTrueEta"), "q/p_{T} resolution; |#eta|; q/p_{T} resolution", 30, 0.0, 3.0);
959  hisPhi0ResVsTrueEta_[fitName] = inputDir.make<TProfile>(
960  addn("PhiResVsTrueEta"), "#phi_{0} resolution; |#eta|; #phi_{0} resolution", 30, 0.0, 3.0);
961  hisEtaResVsTrueEta_[fitName] =
962  inputDir.make<TProfile>(addn("EtaResVsTrueEta"), "#eta resolution; |#eta|; #eta resolution", 30, 0.0, 3.0);
963  hisZ0ResVsTrueEta_[fitName] =
964  inputDir.make<TProfile>(addn("Z0ResVsTrueEta"), "z_{0} resolution; |#eta|; z_{0} resolution", 30, 0.0, 3.0);
965  hisD0ResVsTrueEta_[fitName] =
966  inputDir.make<TProfile>(addn("D0ResVsTrueEta"), "d_{0} resolution; |#eta|; d_{0} resolution", 30, 0.0, 3.0);
967 
968  hisQoverPtResVsTrueInvPt_[fitName] = inputDir.make<TProfile>(
969  addn("QoverPtResVsTrueInvPt"), "q/p_{T} resolution; 1/p_{T}; q/p_{T} resolution", 25, 0.0, 0.5);
970  hisPhi0ResVsTrueInvPt_[fitName] = inputDir.make<TProfile>(
971  addn("PhiResVsTrueInvPt"), "#phi_{0} resolution; 1/p_{T}; #phi_{0} resolution", 25, 0.0, 0.5);
972  hisEtaResVsTrueInvPt_[fitName] =
973  inputDir.make<TProfile>(addn("EtaResVsTrueInvPt"), "#eta resolution; 1/p_{T}; #eta resolution", 25, 0.0, 0.5);
974  hisZ0ResVsTrueInvPt_[fitName] = inputDir.make<TProfile>(
975  addn("Z0ResVsTrueInvPt"), "z_{0} resolution; 1/p_{T}; z_{0} resolution", 25, 0.0, 0.5);
976  hisD0ResVsTrueInvPt_[fitName] = inputDir.make<TProfile>(
977  addn("D0ResVsTrueInvPt"), "d_{0} resolution; 1/p_{T}; d_{0} resolution", 25, 0.0, 0.5);
978 
979  // Duplicate track histos.
980  profDupFitTrksVsEta_[fitName] =
981  inputDir.make<TProfile>(addn("DupFitTrksVsEta"), "; #eta; No. of duplicate tracks per TP", 12, 0., 3.);
982  profDupFitTrksVsInvPt_[fitName] =
983  inputDir.make<TProfile>(addn("DupFitTrksVsInvPt"), "; 1/Pt; No. of duplicate tracks per TP", 25, 0., 0.5);
984 
985  // Histos for tracking efficiency vs. TP kinematics. (Binning must match similar histos in bookTrackCands()).
986  hisFitTPinvptForEff_[fitName] =
987  inputDir.make<TH1F>(addn("FitTPinvptForEff"), "; TP 1/Pt of fitted tracks (for effi.);", 50, 0., 0.5);
988  hisFitTPetaForEff_[fitName] =
989  inputDir.make<TH1F>(addn("FitTPetaForEff"), "; TP #eta of fitted tracks (for effi.);", 20, -3., 3.);
990  hisFitTPphiForEff_[fitName] =
991  inputDir.make<TH1F>(addn("FitTPphiForEff"), "; TP #phi of fitted tracks (for effi.);", 20, -M_PI, M_PI);
992 
993  // Histo for efficiency to reconstruct track perfectly (no incorrect hits). (Binning must match similar histos in bookTrackCands()).
994  hisPerfFitTPinvptForEff_[fitName] = inputDir.make<TH1F>(
995  addn("PerfFitTPinvptForEff"), "; TP 1/Pt of fitted tracks (for perf. effi.);", 50, 0., 0.5);
996  hisPerfFitTPetaForEff_[fitName] = inputDir.make<TH1F>(
997  addn("PerfFitTPetaForEff"), "; TP #eta of fitted tracks (for perfect effi.);", 20, -3., 3.);
998 
999  // Histos for tracking efficiency vs. TP production point. (Binning must match similar histos in bookTrackCands()).
1000  hisFitTPd0ForEff_[fitName] =
1001  inputDir.make<TH1F>(addn("FitTPd0ForEff"), "; TP d0 of fitted tracks (for effi.);", 40, 0., 4.);
1002  hisFitTPz0ForEff_[fitName] =
1003  inputDir.make<TH1F>(addn("FitTPz0ForEff"), "; TP z0 of fitted tracks (for effi.);", 50, 0., 25.);
1004 
1005  // Histos for algorithmic tracking efficiency vs. TP kinematics. (Binning must match similar histos in bookTrackCands()).
1006  hisFitTPinvptForAlgEff_[fitName] =
1007  inputDir.make<TH1F>(addn("FitTPinvptForAlgEff"), "; TP 1/Pt of fitted tracks (for alg. effi.);", 50, 0., 0.5);
1008  hisFitTPetaForAlgEff_[fitName] =
1009  inputDir.make<TH1F>(addn("FitTPetaForAlgEff"), "; TP #eta of fitted tracks (for alg. effi.);", 20, -3., 3.);
1010  hisFitTPphiForAlgEff_[fitName] = inputDir.make<TH1F>(
1011  addn("FitTPphiForAlgEff"), "; TP #phi of fitted tracks (for alg. effi.);", 20, -M_PI, M_PI);
1012 
1013  // Histo for efficiency to reconstruct track perfectly (no incorrect hits). (Binning must match similar histos in bookTrackCands()).
1014  hisPerfFitTPinvptForAlgEff_[fitName] = inputDir.make<TH1F>(
1015  addn("PerfFitTPinvptForAlgEff"), "; TP 1/Pt of fitted tracks (for perf. alg. effi.);", 50, 0., 0.5);
1016  hisPerfFitTPetaForAlgEff_[fitName] =
1017  inputDir.make<TH1F>(addn("PerfFitTPetaForAlgEff"), "; TP #eta (for perf. alg. effi.);", 20, -3., 3.);
1018 
1019  // Histos for algorithmic tracking efficiency vs. TP production point. (Binning must match similar histos in bookTrackCands()).
1020  hisFitTPd0ForAlgEff_[fitName] =
1021  inputDir.make<TH1F>(addn("FitTPd0ForAlgEff"), "; TP d0 of fitted tracks (for alg. effi.);", 40, 0., 4.);
1022  hisFitTPz0ForAlgEff_[fitName] =
1023  inputDir.make<TH1F>(addn("FitTPz0ForAlgEff"), "; TP z0 of fitted tracks (for alg. effi.);", 50, 0., 25.);
1024  }
1025  return inputDirMap;
1026  }

References fs_, hisD0ResVsTrueEta_, hisD0ResVsTrueInvPt_, hisEtaResVsTrueEta_, hisEtaResVsTrueInvPt_, hisFitChi2DofRphiMatched_, hisFitChi2DofRphiUnmatched_, hisFitChi2DofRzMatched_, hisFitChi2DofRzUnmatched_, hisFitD0Matched_, hisFitD0Unmatched_, hisFitEtaMatched_, hisFitEtaUnmatched_, hisFitPhi0Matched_, hisFitPhi0Unmatched_, hisFitQinvPtMatched_, hisFitQinvPtUnmatched_, hisFitTPd0ForAlgEff_, hisFitTPd0ForEff_, hisFitTPetaForAlgEff_, hisFitTPetaForEff_, hisFitTPinvptForAlgEff_, hisFitTPinvptForEff_, hisFitTPphiForAlgEff_, hisFitTPphiForEff_, hisFitTPz0ForAlgEff_, hisFitTPz0ForEff_, hisFitZ0Matched_, hisFitZ0Unmatched_, hisKalmanChi2DofSkipLay0Matched_, hisKalmanChi2DofSkipLay0Unmatched_, hisKalmanChi2DofSkipLay1Matched_, hisKalmanChi2DofSkipLay1Unmatched_, hisKalmanChi2DofSkipLay2Matched_, hisKalmanChi2DofSkipLay2Unmatched_, hisKalmanNumUpdateCalls_, hisNumFitTrks_, hisNumFitTrksPerNon_, hisPerfFitTPetaForAlgEff_, hisPerfFitTPetaForEff_, hisPerfFitTPinvptForAlgEff_, hisPerfFitTPinvptForEff_, hisPhi0ResVsTrueEta_, hisPhi0ResVsTrueInvPt_, hisQoverPtResVsTrueEta_, hisQoverPtResVsTrueInvPt_, hisStubsPerFitTrack_, hisZ0ResVsTrueEta_, hisZ0ResVsTrueInvPt_, M_PI, TFileDirectory::make(), TFileService::mkdir(), profDupFitTrksVsEta_, profDupFitTrksVsInvPt_, profFitChi2DofRphiVsInvPtMatched_, profFitChi2DofRphiVsInvPtUnmatched_, profNumFitTracks_, profStubsOnFitTracks_, alignCSCRings::s, and trackFitters_.

Referenced by book().

◆ enabled()

virtual bool tmtt::Histos::enabled ( ) const
inlinevirtual

Definition at line 62 of file Histos.h.

62 { return (settings_->enableHistos() && available()); }

References available(), tmtt::Settings::enableHistos(), and settings_.

Referenced by book(), endJobAnalysis(), fill(), and trackerGeometryAnalysis().

◆ endJobAnalysis()

void Histos::endJobAnalysis ( const HTrphi::ErrorMonitor htRphiErrMon = nullptr)
virtual

Definition at line 1564 of file Histos.cc.

1564  {
1565  // Don't bother producing summary if user didn't request histograms via TFileService in their cfg.
1566  if (not this->enabled())
1567  return;
1568 
1569  // Protection when running in wierd mixed hybrid-TMTT modes.
1570  bool wierdMixedMode = (hisRecoTPinvptForEff_.find("TRACKLET") == hisRecoTPinvptForEff_.end());
1571 
1572  if (settings_->hybrid() && not wierdMixedMode) {
1573  // Produce plots of tracking efficieny after tracklet pattern reco.
1575  this->plotTrackEfficiency("TRACKLET");
1577 
1578  } else {
1579  // Produce plots of tracking efficiency using track candidates found after HT.
1580  this->plotTrackEfficiency("HT");
1581 
1582  // Optionally produce plots of tracking efficiency using track candidates found after r-z track filter.
1583  if (ranRZfilter_)
1584  this->plotTrackEfficiency("RZ");
1585  }
1586 
1587  // Produce more plots of tracking efficiency using track candidates after track fit.
1588  for (auto& fitName : trackFitters_) {
1589  this->plotTrackEffAfterFit(fitName);
1590  }
1591 
1592  PrintL1trk() << "=========================================================================";
1593 
1594  // Print r (z) range in which each barrel layer (endcap wheel) appears.
1595  // (Needed by firmware).
1596  PrintL1trk();
1597  PrintL1trk() << "--- r range in which stubs in each barrel layer appear ---";
1598  for (const auto& p : mapBarrelLayerMinR_) {
1599  unsigned int layer = p.first;
1600  PrintL1trk() << " layer = " << layer << " : " << mapBarrelLayerMinR_[layer] << " < r < "
1601  << mapBarrelLayerMaxR_[layer];
1602  }
1603  PrintL1trk() << "--- |z| range in which stubs in each endcap wheel appear ---";
1604  for (const auto& p : mapEndcapWheelMinZ_) {
1605  unsigned int layer = p.first;
1606  PrintL1trk() << " wheel = " << layer << " : " << mapEndcapWheelMinZ_[layer] << " < |z| < "
1607  << mapEndcapWheelMaxZ_[layer];
1608  }
1609 
1610  // Print (r,|z|) range in which each module type (defined in DigitalStub) appears.
1611  // (Needed by firmware).
1612  PrintL1trk();
1613  PrintL1trk() << "--- (r,|z|) range in which each module type (defined in DigitalStub) appears ---";
1614  for (const auto& p : mapModuleTypeMinR_) {
1615  unsigned int modType = p.first;
1616  PrintL1trk() << " Module type = " << modType << setprecision(1) << " : r range = ("
1617  << mapModuleTypeMinR_[modType] << "," << mapModuleTypeMaxR_[modType] << "); z range = ("
1618  << mapModuleTypeMinZ_[modType] << "," << mapModuleTypeMaxZ_[modType] << ")";
1619  }
1620  // Ugly bodge to allow for modules in barrel layers 1-2 & endcap wheels 3-5 being different.
1621  PrintL1trk() << "and in addition";
1622  for (const auto& p : mapExtraAModuleTypeMinR_) {
1623  unsigned int modType = p.first;
1624  PrintL1trk() << " Module type = " << modType << setprecision(1) << " : r range = ("
1625  << mapExtraAModuleTypeMinR_[modType] << "," << mapExtraAModuleTypeMaxR_[modType] << "); z range = ("
1626  << mapExtraAModuleTypeMinZ_[modType] << "," << mapExtraAModuleTypeMaxZ_[modType] << ")";
1627  }
1628  PrintL1trk() << "and in addition";
1629  for (const auto& p : mapExtraBModuleTypeMinR_) {
1630  unsigned int modType = p.first;
1631  PrintL1trk() << " Module type = " << modType << setprecision(1) << " : r range = ("
1632  << mapExtraBModuleTypeMinR_[modType] << "," << mapExtraBModuleTypeMaxR_[modType] << "); z range = ("
1633  << mapExtraBModuleTypeMinZ_[modType] << "," << mapExtraBModuleTypeMaxZ_[modType] << ")";
1634  }
1635  PrintL1trk() << "and in addition";
1636  for (const auto& p : mapExtraCModuleTypeMinR_) {
1637  unsigned int modType = p.first;
1638  PrintL1trk() << " Module type = " << modType << setprecision(1) << " : r range = ("
1639  << mapExtraCModuleTypeMinR_[modType] << "," << mapExtraCModuleTypeMaxR_[modType] << "); z range = ("
1640  << mapExtraCModuleTypeMinZ_[modType] << "," << mapExtraCModuleTypeMaxZ_[modType] << ")";
1641  }
1642  PrintL1trk() << "and in addition";
1643  for (const auto& p : mapExtraDModuleTypeMinR_) {
1644  unsigned int modType = p.first;
1645  PrintL1trk() << " Module type = " << modType << setprecision(1) << " : r range = ("
1646  << mapExtraDModuleTypeMinR_[modType] << "," << mapExtraDModuleTypeMaxR_[modType] << "); z range = ("
1647  << mapExtraDModuleTypeMinZ_[modType] << "," << mapExtraDModuleTypeMaxZ_[modType] << ")";
1648  }
1649  PrintL1trk();
1650 
1651  if (settings_->hybrid() && not wierdMixedMode) {
1652  //--- Print summary of tracklet pattern reco
1654  this->printTrackPerformance("TRACKLET");
1656  } else {
1657  //--- Print summary of track-finding performance after HT
1658  this->printTrackPerformance("HT");
1659  //--- Optionally print summary of track-finding performance after r-z track filter.
1660  if (ranRZfilter_)
1661  this->printTrackPerformance("RZ");
1662  }
1663 
1664  //--- Print summary of track-finding performance after helix fit, for each track fitting algorithm used.
1665  for (const string& fitName : trackFitters_) {
1666  this->printFitTrackPerformance(fitName);
1667  }
1668  PrintL1trk() << "=========================================================================";
1669 
1670  if (htRphiErrMon != nullptr && not settings_->hybrid()) {
1671  // Check that stub filling was consistent with known limitations of HT firmware design.
1672 
1673  PrintL1trk() << "Max. |gradients| of stub lines in HT array is: r-phi = " << htRphiErrMon->maxLineGradient;
1674 
1675  if (htRphiErrMon->maxLineGradient > 1.) {
1676  PrintL1trk()
1677  << "WARNING: Line |gradient| exceeds 1, which firmware will not be able to cope with! Please adjust HT "
1678  "array size to avoid this.";
1679 
1680  } else if (htRphiErrMon->numErrorsTypeA > 0.) {
1681  float frac = float(htRphiErrMon->numErrorsTypeA) / float(htRphiErrMon->numErrorsNorm);
1682  PrintL1trk()
1683  << "WARNING: Despite line gradients being less than one, some fraction of HT columns have filled cells "
1684  "with no filled neighbours in W, SW or NW direction. Firmware will object to this! ";
1685  PrintL1trk() << "This fraction = " << frac << " for r-phi HT";
1686 
1687  } else if (htRphiErrMon->numErrorsTypeB > 0.) {
1688  float frac = float(htRphiErrMon->numErrorsTypeB) / float(htRphiErrMon->numErrorsNorm);
1689  PrintL1trk()
1690  << "WARNING: Despite line gradients being less than one, some fraction of HT columns recorded individual "
1691  "stubs being added to more than two cells! Thomas firmware will object to this! ";
1692  PrintL1trk() << "This fraction = " << frac << " for r-phi HT";
1693  }
1694  }
1695 
1696  // Check if GP B approximation cfg params are inconsistent.
1697  if (bApproxMistake_)
1698  PrintL1trk() << "\n WARNING: BApprox cfg params are inconsistent - see printout above.";
1699 
1700  // Restore original ROOT default cfg.
1701  TH1::SetDefaultSumw2(oldSumW2opt_);
1702  }

References bApproxMistake_, enabled(), dqmMemoryStats::float, cropTnPTrees::frac, hisRecoTPinvptForEff_, tmtt::Settings::hybrid(), mapBarrelLayerMaxR_, mapBarrelLayerMinR_, mapEndcapWheelMaxZ_, mapEndcapWheelMinZ_, mapExtraAModuleTypeMaxR_, mapExtraAModuleTypeMaxZ_, mapExtraAModuleTypeMinR_, mapExtraAModuleTypeMinZ_, mapExtraBModuleTypeMaxR_, mapExtraBModuleTypeMaxZ_, mapExtraBModuleTypeMinR_, mapExtraBModuleTypeMinZ_, mapExtraCModuleTypeMaxR_, mapExtraCModuleTypeMaxZ_, mapExtraCModuleTypeMinR_, mapExtraCModuleTypeMinZ_, mapExtraDModuleTypeMaxR_, mapExtraDModuleTypeMaxZ_, mapExtraDModuleTypeMinR_, mapExtraDModuleTypeMinZ_, mapModuleTypeMaxR_, mapModuleTypeMaxZ_, mapModuleTypeMinR_, mapModuleTypeMinZ_, tmtt::HTrphi::ErrorMonitor::maxLineGradient, tmtt::HTrphi::ErrorMonitor::numErrorsNorm, tmtt::HTrphi::ErrorMonitor::numErrorsTypeA, tmtt::HTrphi::ErrorMonitor::numErrorsTypeB, oldSumW2opt_, AlCaHLTBitMon_ParallelJobs::p, plotHybridDupRemovalEfficiency(), plotTrackEffAfterFit(), plotTrackEfficiency(), plotTrackletSeedEfficiency(), printFitTrackPerformance(), printHybridDupRemovalPerformance(), printTrackletSeedFindingPerformance(), printTrackPerformance(), ranRZfilter_, settings_, and trackFitters_.

Referenced by tmtt::TMTrackProducer::globalEndJob().

◆ fill()

void Histos::fill ( const InputData inputData,
const matrix< std::unique_ptr< Sector >> &  mSectors,
const matrix< std::unique_ptr< HTrphi >> &  mHtPhis,
const matrix< std::unique_ptr< Make3Dtracks >> &  mGet3Dtrks,
const std::map< std::string, std::list< const L1fittedTrack * >> &  mapFinalTracks 
)
virtual

Definition at line 83 of file Histos.cc.

87  {
88  // Each function here protected by a mytex lock, so only one thread can run it at a time.
89 
90  // Don't bother filling histograms if user didn't request them via TFileService in their cfg.
91  if (not this->enabled())
92  return;
93 
94  // Fill histograms about input data.
95  this->fillInputData(inputData);
96 
97  // Fill histograms checking if (eta,phi) sector definition choices are good.
98  this->fillEtaPhiSectors(inputData, mSectors);
99 
100  // Fill histograms checking filling of r-phi HT array.
101  this->fillRphiHT(mHtRphis);
102 
103  // Fill histograms about r-z track filters.
104  if (ranRZfilter_)
105  this->fillRZfilters(mMake3Dtrks);
106 
107  // Fill histograms studying 3D track candidates found after HT.
108  this->fillTrackCands(inputData, mMake3Dtrks, "HT");
109 
110  // Fill histograms studying 3D track candidates found after r-z track filter.
111  if (ranRZfilter_) {
112  this->fillTrackCands(inputData, mMake3Dtrks, "RZ");
113  }
114 
115  // Fill histograms studying track fitting performance
116  this->fillTrackFitting(inputData, mapFinalTracks);
117  }

References enabled(), fillEtaPhiSectors(), fillInputData(), fillRphiHT(), fillRZfilters(), fillTrackCands(), fillTrackFitting(), and ranRZfilter_.

Referenced by tmtt::TMTrackProducer::produce().

◆ fillEtaPhiSectors()

void Histos::fillEtaPhiSectors ( const InputData inputData,
const matrix< std::unique_ptr< Sector >> &  mSectors 
)
protectedvirtual

Definition at line 386 of file Histos.cc.

386  {
387  // Allow only one thread to run this function at a time
388  static std::mutex myMutex;
389  std::lock_guard<std::mutex> myGuard(myMutex);
390 
391  const list<const Stub*>& vStubs = inputData.stubsConst();
392  //const list<TP>& vTPs = inputData.getTPs();
393 
394  //=== Loop over all stubs, counting how many sectors each one appears in.
395 
396  for (const Stub* stub : vStubs) {
397  // Number of (eta,phi), phi & eta sectors containing this stub.
398  unsigned int nEtaSecs = 0;
399  unsigned int nPhiSecs = 0;
400 
401  // Loop over (eta, phi) sectors.
402  for (unsigned int iPhiSec = 0; iPhiSec < numPhiSectors_; iPhiSec++) {
403  for (unsigned int iEtaReg = 0; iEtaReg < numEtaRegions_; iEtaReg++) {
404  const Sector* sector = mSectors(iPhiSec, iEtaReg).get();
405 
406  // Check if sector contains stub stub, and if so count it.
407  // Take care to just use one eta (phi) typical region when counting phi (eta) sectors.
408  if (iPhiSec == 0 && sector->insideEta(stub))
409  nEtaSecs++;
410  if (iEtaReg == 0 && sector->insidePhi(stub))
411  nPhiSecs++;
412  }
413  }
414 
415  // Plot number of sectors each stub appears in.
416  hisNumEtaSecsPerStub_->Fill(nEtaSecs);
417  hisNumPhiSecsPerStub_->Fill(nPhiSecs);
418  }
419 
420  //=== Loop over all sectors, counting the stubs in each one.
421  for (unsigned int iEtaReg = 0; iEtaReg < numEtaRegions_; iEtaReg++) {
422  for (unsigned int iPhiSec = 0; iPhiSec < numPhiSectors_; iPhiSec++) {
423  const Sector* sector = mSectors(iPhiSec, iEtaReg).get();
424 
425  unsigned int nStubs = 0;
426  for (const Stub* stub : vStubs) {
427  if (sector->inside(stub))
428  nStubs++;
429  }
430  hisNumStubsPerSec_->Fill(nStubs);
431  }
432  }
433  }

References hisNumEtaSecsPerStub_, hisNumPhiSecsPerStub_, hisNumStubsPerSec_, tmtt::Sector::inside(), tmtt::Sector::insideEta(), tmtt::Sector::insidePhi(), mutex, numEtaRegions_, numPhiSectors_, and tmtt::InputData::stubsConst().

Referenced by fill().

◆ fillInputData()

void Histos::fillInputData ( const InputData inputData)
protectedvirtual

Definition at line 164 of file Histos.cc.

164  {
165  // Allow only one thread to run this function at a time
166  static std::mutex myMutex;
167  std::lock_guard<std::mutex> myGuard(myMutex);
168 
169  const list<const Stub*>& vStubs = inputData.stubsConst();
170  const list<TP>& vTPs = inputData.getTPs();
171 
172  for (const Stub* stub : vStubs) {
173  hisStubsVsEta_->Fill(stub->eta());
174  hisStubsVsR_->Fill(stub->r());
175  }
176 
177  // Study efficiency of stubs to pass front-end electronics cuts.
178 
179  const list<Stub>& vAllStubs = inputData.allStubs(); // Get all stubs prior to FE cuts to do this.
180  for (const Stub& s : vAllStubs) {
181  unsigned int layerOrTenPlusRing = s.barrel() ? s.layerId() : 10 + s.trackerModule()->endcapRing();
182  // Fraction of all stubs (good and bad) failing tightened front-end electronics cuts.
183  hisStubKillFE_->Fill(layerOrTenPlusRing, (!s.frontendPass()));
184  }
185 
186  // Study efficiency for good stubs of tightened front end-electronics cuts.
187  for (const TP& tp : vTPs) {
188  if (tp.useForAlgEff()) { // Only bother for stubs that are on TP that we have a chance of reconstructing.
189  const vector<const Stub*>& stubs = tp.assocStubs();
190  for (const Stub* s : stubs) {
191  hisStubIneffiVsInvPt_->Fill(1. / tp.pt(), (!s->frontendPass()));
192  hisStubIneffiVsEta_->Fill(std::abs(tp.eta()), (!s->frontendPass()));
193  }
194  }
195  }
196 
197  // Plot stub bend-derived information.
198  for (const Stub* stub : vStubs) {
199  hisBendStub_->Fill(stub->bend());
200  }
201 
202  // Look at stub resolution.
203  for (const TP& tp : vTPs) {
204  if (tp.useForAlgEff()) {
205  const vector<const Stub*>& assStubs = tp.assocStubs();
206 
207  for (const Stub* stub : assStubs) {
208  hisBendResStub_->Fill(stub->bend() - tp.dphi(stub->r()) / stub->dphiOverBend());
209  }
210 
211  if (std::abs(tp.eta()) < 0.5) {
212  double nLayersOnTP = Utility::countLayers(settings_, assStubs, true, false);
213  double nPSLayersOnTP = Utility::countLayers(settings_, assStubs, true, true);
214  hisNumLayersPerTP_->Fill(nLayersOnTP);
215  hisNumPSLayersPerTP_->Fill(nPSLayersOnTP);
216  }
217  }
218  }
219 
220  // Determine r (z) range of each barrel layer (endcap wheel).
221 
222  for (const Stub* stub : vStubs) {
223  unsigned int layer = stub->layerId();
224  if (stub->barrel()) {
225  // Get range in r of each barrel layer.
226  float r = stub->r();
227  if (mapBarrelLayerMinR_.find(layer) == mapBarrelLayerMinR_.end()) {
228  mapBarrelLayerMinR_[layer] = r;
229  mapBarrelLayerMaxR_[layer] = r;
230  } else {
231  if (mapBarrelLayerMinR_[layer] > r)
232  mapBarrelLayerMinR_[layer] = r;
233  if (mapBarrelLayerMaxR_[layer] < r)
234  mapBarrelLayerMaxR_[layer] = r;
235  }
236  } else {
237  layer = layer % 10;
238  // Range in |z| of each endcap wheel.
239  float z = std::abs(stub->z());
240  if (mapEndcapWheelMinZ_.find(layer) == mapEndcapWheelMinZ_.end()) {
241  mapEndcapWheelMinZ_[layer] = z;
242  mapEndcapWheelMaxZ_[layer] = z;
243  } else {
244  if (mapEndcapWheelMinZ_[layer] > z)
245  mapEndcapWheelMinZ_[layer] = z;
246  if (mapEndcapWheelMaxZ_[layer] < z)
247  mapEndcapWheelMaxZ_[layer] = z;
248  }
249  }
250  }
251 
252  // Determine Range in (r,|z|) of each module type.
253 
254  for (const Stub* stub : vStubs) {
255  float r = stub->r();
256  float z = std::abs(stub->z());
257  unsigned int modType = stub->trackerModule()->moduleTypeID();
258  // Do something ugly, as modules in 1-2nd & 3-4th endcap wheels are different to those in wheel 5 ...
259  // And boundary between flat & tilted modules in barrel layers 1-3 varies in z.
260  if (stub->barrel() && stub->layerId() == 1) { // barrel layer 1
261  if (mapExtraAModuleTypeMinR_.find(modType) == mapExtraAModuleTypeMinR_.end()) {
262  mapExtraAModuleTypeMinR_[modType] = r;
263  mapExtraAModuleTypeMaxR_[modType] = r;
264  mapExtraAModuleTypeMinZ_[modType] = z;
265  mapExtraAModuleTypeMaxZ_[modType] = z;
266  } else {
267  if (mapExtraAModuleTypeMinR_[modType] > r)
268  mapExtraAModuleTypeMinR_[modType] = r;
269  if (mapExtraAModuleTypeMaxR_[modType] < r)
270  mapExtraAModuleTypeMaxR_[modType] = r;
271  if (mapExtraAModuleTypeMinZ_[modType] > z)
272  mapExtraAModuleTypeMinZ_[modType] = z;
273  if (mapExtraAModuleTypeMaxZ_[modType] < z)
274  mapExtraAModuleTypeMaxZ_[modType] = z;
275  }
276  } else if (stub->barrel() && stub->layerId() == 2) { // barrel layer 2
277  if (mapExtraBModuleTypeMinR_.find(modType) == mapExtraBModuleTypeMinR_.end()) {
278  mapExtraBModuleTypeMinR_[modType] = r;
279  mapExtraBModuleTypeMaxR_[modType] = r;
280  mapExtraBModuleTypeMinZ_[modType] = z;
281  mapExtraBModuleTypeMaxZ_[modType] = z;
282  } else {
283  if (mapExtraBModuleTypeMinR_[modType] > r)
284  mapExtraBModuleTypeMinR_[modType] = r;
285  if (mapExtraBModuleTypeMaxR_[modType] < r)
286  mapExtraBModuleTypeMaxR_[modType] = r;
287  if (mapExtraBModuleTypeMinZ_[modType] > z)
288  mapExtraBModuleTypeMinZ_[modType] = z;
289  if (mapExtraBModuleTypeMaxZ_[modType] < z)
290  mapExtraBModuleTypeMaxZ_[modType] = z;
291  }
292  } else if (!stub->barrel() && (stub->layerId() % 10 == 1 || stub->layerId() % 10 == 2)) { // endcap wheel 1-2
293  if (mapExtraCModuleTypeMinR_.find(modType) == mapExtraCModuleTypeMinR_.end()) {
294  mapExtraCModuleTypeMinR_[modType] = r;
295  mapExtraCModuleTypeMaxR_[modType] = r;
296  mapExtraCModuleTypeMinZ_[modType] = z;
297  mapExtraCModuleTypeMaxZ_[modType] = z;
298  } else {
299  if (mapExtraCModuleTypeMinR_[modType] > r)
300  mapExtraCModuleTypeMinR_[modType] = r;
301  if (mapExtraCModuleTypeMaxR_[modType] < r)
302  mapExtraCModuleTypeMaxR_[modType] = r;
303  if (mapExtraCModuleTypeMinZ_[modType] > z)
304  mapExtraCModuleTypeMinZ_[modType] = z;
305  if (mapExtraCModuleTypeMaxZ_[modType] < z)
306  mapExtraCModuleTypeMaxZ_[modType] = z;
307  }
308  } else if (!stub->barrel() && (stub->layerId() % 10 == 3 || stub->layerId() % 10 == 4)) { // endcap wheel 3-4
309  if (mapExtraDModuleTypeMinR_.find(modType) == mapExtraDModuleTypeMinR_.end()) {
310  mapExtraDModuleTypeMinR_[modType] = r;
311  mapExtraDModuleTypeMaxR_[modType] = r;
312  mapExtraDModuleTypeMinZ_[modType] = z;
313  mapExtraDModuleTypeMaxZ_[modType] = z;
314  } else {
315  if (mapExtraDModuleTypeMinR_[modType] > r)
316  mapExtraDModuleTypeMinR_[modType] = r;
317  if (mapExtraDModuleTypeMaxR_[modType] < r)
318  mapExtraDModuleTypeMaxR_[modType] = r;
319  if (mapExtraDModuleTypeMinZ_[modType] > z)
320  mapExtraDModuleTypeMinZ_[modType] = z;
321  if (mapExtraDModuleTypeMaxZ_[modType] < z)
322  mapExtraDModuleTypeMaxZ_[modType] = z;
323  }
324  } else { // barrel layer 3-6 or endcap wheel 5.
325  if (mapModuleTypeMinR_.find(modType) == mapModuleTypeMinR_.end()) {
326  mapModuleTypeMinR_[modType] = r;
327  mapModuleTypeMaxR_[modType] = r;
328  mapModuleTypeMinZ_[modType] = z;
329  mapModuleTypeMaxZ_[modType] = z;
330  } else {
331  if (mapModuleTypeMinR_[modType] > r)
332  mapModuleTypeMinR_[modType] = r;
333  if (mapModuleTypeMaxR_[modType] < r)
334  mapModuleTypeMaxR_[modType] = r;
335  if (mapModuleTypeMinZ_[modType] > z)
336  mapModuleTypeMinZ_[modType] = z;
337  if (mapModuleTypeMaxZ_[modType] < z)
338  mapModuleTypeMaxZ_[modType] = z;
339  }
340  }
341  }
342 
343  //=== Make denominator of tracking efficiency plots
344 
345  for (const TP& tp : vTPs) {
346  if (tp.useForEff()) { // Check TP is good for efficiency measurement.
347  // Plot kinematics of all good TP.
348  hisTPinvptForEff_->Fill(1. / tp.pt());
349  hisTPetaForEff_->Fill(tp.eta());
350  hisTPphiForEff_->Fill(tp.phi0());
351  // Plot also production point of all good TP.
352  hisTPd0ForEff_->Fill(std::abs(tp.d0()));
353  hisTPz0ForEff_->Fill(std::abs(tp.z0()));
354 
355  if (tp.useForAlgEff()) { // Check TP is good for algorithmic efficiency measurement.
356  hisTPinvptForAlgEff_->Fill(1. / tp.pt());
357  hisTPetaForAlgEff_->Fill(tp.eta());
358  hisTPphiForAlgEff_->Fill(tp.phi0());
359  // Plot also production point of all good TP.
360  hisTPd0ForAlgEff_->Fill(std::abs(tp.d0()));
361  hisTPz0ForAlgEff_->Fill(std::abs(tp.z0()));
362  }
363  }
364  }
365  }

References funct::abs(), tmtt::InputData::allStubs(), tmtt::Utility::countLayers(), tmtt::InputData::getTPs(), hisBendResStub_, hisBendStub_, hisNumLayersPerTP_, hisNumPSLayersPerTP_, hisStubIneffiVsEta_, hisStubIneffiVsInvPt_, hisStubKillFE_, hisStubsVsEta_, hisStubsVsR_, hisTPd0ForAlgEff_, hisTPd0ForEff_, hisTPetaForAlgEff_, hisTPetaForEff_, hisTPinvptForAlgEff_, hisTPinvptForEff_, hisTPphiForAlgEff_, hisTPphiForEff_, hisTPz0ForAlgEff_, hisTPz0ForEff_, mapBarrelLayerMaxR_, mapBarrelLayerMinR_, mapEndcapWheelMaxZ_, mapEndcapWheelMinZ_, mapExtraAModuleTypeMaxR_, mapExtraAModuleTypeMaxZ_, mapExtraAModuleTypeMinR_, mapExtraAModuleTypeMinZ_, mapExtraBModuleTypeMaxR_, mapExtraBModuleTypeMaxZ_, mapExtraBModuleTypeMinR_, mapExtraBModuleTypeMinZ_, mapExtraCModuleTypeMaxR_, mapExtraCModuleTypeMaxZ_, mapExtraCModuleTypeMinR_, mapExtraCModuleTypeMinZ_, mapExtraDModuleTypeMaxR_, mapExtraDModuleTypeMaxZ_, mapExtraDModuleTypeMinR_, mapExtraDModuleTypeMinZ_, mapModuleTypeMaxR_, mapModuleTypeMaxZ_, mapModuleTypeMinR_, mapModuleTypeMinZ_, mutex, alignCSCRings::r, alignCSCRings::s, settings_, tmtt::InputData::stubsConst(), and cmsswSequenceInfo::tp.

Referenced by fill().

◆ fillRphiHT()

void Histos::fillRphiHT ( const matrix< std::unique_ptr< HTrphi >> &  mHtRphis)
protectedvirtual

Definition at line 445 of file Histos.cc.

445  {
446  //--- Loop over (eta,phi) sectors, counting the number of stubs in the HT array of each.
447 
448  // Allow only one thread to run this function at a time (UNCOMMENT IF YOU ADD HISTOS HERE)
449  //static std::mutex myMutex;
450  //std::lock_guard<std::mutex> myGuard(myMutex);
451  }

Referenced by fill().

◆ fillRZfilters()

void Histos::fillRZfilters ( const matrix< std::unique_ptr< Make3Dtracks >> &  mMake3Dtrks)
protectedvirtual

Definition at line 463 of file Histos.cc.

463  {
464  // Allow only one thread to run this function at a time (UNCOMMENT IF YOU ADD HISTOS HERE)
465  //static std::mutex myMutex;
466  //std::lock_guard<std::mutex> myGuard(myMutex);
467  }

Referenced by fill().

◆ fillTrackCands() [1/2]

virtual void tmtt::Histos::fillTrackCands ( const InputData inputData,
const matrix< std::unique_ptr< Make3Dtracks >> &  mMake3Dtrks,
const std::string &  tName 
)
protectedvirtual

Referenced by fill().

◆ fillTrackCands() [2/2]

virtual void tmtt::Histos::fillTrackCands ( const InputData inputData,
const std::vector< L1track3D > &  tracks,
const std::string &  tName 
)
protectedvirtual

◆ fillTrackFitting()

void Histos::fillTrackFitting ( const InputData inputData,
const std::map< std::string, std::list< const L1fittedTrack * >> &  mapFinalTracks 
)
protectedvirtual

Definition at line 1030 of file Histos.cc.

1031  {
1032  // Allow only one thread to run this function at a time
1033  static std::mutex myMutex;
1034  std::lock_guard<std::mutex> myGuard(myMutex);
1035 
1036  const list<TP>& vTPs = inputData.getTPs();
1037 
1038  // Loop over all the fitting algorithms we are trying.
1039  for (const string& fitName : trackFitters_) {
1040  const list<const L1fittedTrack*>& fittedTracks = mapFinalTracks.at(fitName); // Get fitted tracks.
1041 
1042  // Count tracks
1043  unsigned int nFitTracks = 0;
1044  unsigned int nFitsMatchingTP = 0;
1045 
1046  const unsigned int numPhiNonants = settings_->numPhiNonants();
1047  vector<unsigned int> nFitTracksPerNonant(numPhiNonants, 0);
1048 
1049  for (const L1fittedTrack* fitTrk : fittedTracks) {
1050  nFitTracks++;
1051 
1052  // Get matched truth particle, if any.
1053  const TP* tp = fitTrk->matchedTP();
1054  if (tp != nullptr)
1055  nFitsMatchingTP++;
1056  // Count fitted tracks per nonant.
1057  unsigned int iNonant = (numPhiSectors_ > 0) ? floor(fitTrk->iPhiSec() * numPhiNonants / (numPhiSectors_))
1058  : 0; // phi nonant number
1059  nFitTracksPerNonant[iNonant]++;
1060  }
1061 
1062  profNumFitTracks_[fitName]->Fill(1, nFitTracks);
1063  profNumFitTracks_[fitName]->Fill(2, nFitsMatchingTP);
1064 
1065  hisNumFitTrks_[fitName]->Fill(nFitTracks);
1066  for (const unsigned int& num : nFitTracksPerNonant) {
1067  hisNumFitTrksPerNon_[fitName]->Fill(num);
1068  }
1069 
1070  // Count stubs assigned to fitted tracks.
1071  unsigned int nTotStubs = 0;
1072  for (const L1fittedTrack* fitTrk : fittedTracks) {
1073  unsigned int nStubs = fitTrk->numStubs();
1074  hisStubsPerFitTrack_[fitName]->Fill(nStubs);
1075  nTotStubs += nStubs;
1076  }
1077  profStubsOnFitTracks_[fitName]->Fill(1., nTotStubs);
1078 
1079  // Note truth particles that are successfully fitted. And which give rise to duplicate tracks.
1080 
1081  map<const TP*, bool> tpRecoedMap; // Note which truth particles were successfully fitted.
1082  map<const TP*, bool>
1083  tpPerfRecoedMap; // Note which truth particles were successfully fitted with no incorrect hits.
1084  map<const TP*, unsigned int> tpRecoedDup; // Note that this TP gave rise to duplicate tracks.
1085  for (const TP& tp : vTPs) {
1086  tpRecoedMap[&tp] = false;
1087  tpPerfRecoedMap[&tp] = false;
1088  unsigned int nMatch = 0;
1089  for (const L1fittedTrack* fitTrk : fittedTracks) {
1090  const TP* assocTP = fitTrk->matchedTP(); // Get the TP the fitted track matches to, if any.
1091  if (assocTP == &tp) {
1092  tpRecoedMap[&tp] = true;
1093  if (fitTrk->purity() == 1.)
1094  tpPerfRecoedMap[&tp] = true;
1095  nMatch++;
1096  }
1097  }
1098  tpRecoedDup[&tp] = nMatch;
1099  }
1100 
1101  // Count truth particles that are successfully fitted.
1102 
1103  unsigned int nFittedTPs = 0;
1104  unsigned int nFittedTPsForEff = 0;
1105  for (const TP& tp : vTPs) {
1106  if (tpRecoedMap[&tp]) { // Was this truth particle successfully fitted?
1107  nFittedTPs++;
1108  if (tp.useForEff())
1109  nFittedTPsForEff++;
1110  }
1111  }
1112 
1113  profNumFitTracks_[fitName]->Fill(6, nFittedTPs);
1114  profNumFitTracks_[fitName]->Fill(7, nFittedTPsForEff);
1115 
1116  // Loop over fitted tracks again.
1117 
1118  for (const L1fittedTrack* fitTrk : fittedTracks) {
1119  // Info for specific track fit algorithms.
1120  unsigned int nSkippedLayers = 0;
1121  unsigned int numUpdateCalls = 0;
1122  if (fitName.find("KF") != string::npos) {
1123  fitTrk->infoKF(nSkippedLayers, numUpdateCalls);
1124  hisKalmanNumUpdateCalls_[fitName]->Fill(numUpdateCalls);
1125  }
1126 
1127  //--- Compare fitted tracks that match truth particles to those that don't.
1128 
1129  // Get matched truth particle, if any.
1130  const TP* tp = fitTrk->matchedTP();
1131 
1132  if (tp != nullptr) {
1133  hisFitQinvPtMatched_[fitName]->Fill(fitTrk->qOverPt());
1134  hisFitPhi0Matched_[fitName]->Fill(fitTrk->phi0());
1135  hisFitD0Matched_[fitName]->Fill(fitTrk->d0());
1136  hisFitZ0Matched_[fitName]->Fill(fitTrk->z0());
1137  hisFitEtaMatched_[fitName]->Fill(fitTrk->eta());
1138 
1139  // Only plot matched chi2 for tracks with no incorrect stubs.
1140  if (fitTrk->purity() == 1.) {
1141  hisFitChi2DofRphiMatched_[fitName]->Fill(fitTrk->chi2rphi() / fitTrk->numDOFrphi());
1142  hisFitChi2DofRzMatched_[fitName]->Fill(fitTrk->chi2rz() / fitTrk->numDOFrz());
1143  profFitChi2DofRphiVsInvPtMatched_[fitName]->Fill(std::abs(fitTrk->qOverPt()),
1144  (fitTrk->chi2rphi() / fitTrk->numDOFrphi()));
1145 
1146  if (fitName.find("KF") != string::npos) {
1147  // No. of skipped layers on track during Kalman track fit.
1148  if (nSkippedLayers == 0) {
1149  hisKalmanChi2DofSkipLay0Matched_[fitName]->Fill(fitTrk->chi2dof());
1150  } else if (nSkippedLayers == 1) {
1151  hisKalmanChi2DofSkipLay1Matched_[fitName]->Fill(fitTrk->chi2dof());
1152  } else if (nSkippedLayers >= 2) {
1153  hisKalmanChi2DofSkipLay2Matched_[fitName]->Fill(fitTrk->chi2dof());
1154  }
1155  }
1156  }
1157 
1158  } else {
1159  hisFitQinvPtUnmatched_[fitName]->Fill(fitTrk->qOverPt());
1160  hisFitPhi0Unmatched_[fitName]->Fill(fitTrk->phi0());
1161  hisFitD0Unmatched_[fitName]->Fill(fitTrk->d0());
1162  hisFitZ0Unmatched_[fitName]->Fill(fitTrk->z0());
1163  hisFitEtaUnmatched_[fitName]->Fill(fitTrk->eta());
1164 
1165  hisFitChi2DofRphiUnmatched_[fitName]->Fill(fitTrk->chi2rphi() / fitTrk->numDOFrphi());
1166  hisFitChi2DofRzUnmatched_[fitName]->Fill(fitTrk->chi2rz() / fitTrk->numDOFrz());
1167  profFitChi2DofRphiVsInvPtUnmatched_[fitName]->Fill(std::abs(fitTrk->qOverPt()),
1168  (fitTrk->chi2rphi() / fitTrk->numDOFrphi()));
1169 
1170  if (fitName.find("KF") != string::npos) {
1171  // No. of skipped layers on track during Kalman track fit.
1172  if (nSkippedLayers == 0) {
1173  hisKalmanChi2DofSkipLay0Unmatched_[fitName]->Fill(fitTrk->chi2dof());
1174  } else if (nSkippedLayers == 1) {
1175  hisKalmanChi2DofSkipLay1Unmatched_[fitName]->Fill(fitTrk->chi2dof());
1176  } else if (nSkippedLayers >= 2) {
1177  hisKalmanChi2DofSkipLay2Unmatched_[fitName]->Fill(fitTrk->chi2dof());
1178  }
1179  }
1180  }
1181  }
1182 
1183  // Study helix param resolution.
1184 
1185  for (const L1fittedTrack* fitTrk : fittedTracks) {
1186  const TP* tp = fitTrk->matchedTP();
1187  if (tp != nullptr) {
1188  // IRT
1189  if ((resPlotOpt_ && tp->useForAlgEff()) ||
1190  (not resPlotOpt_)) { // Check TP is good for efficiency measurement (& also comes from signal event if requested)
1191 
1192  // Plot helix parameter resolution against eta or Pt.
1193  hisQoverPtResVsTrueEta_[fitName]->Fill(std::abs(tp->eta()), std::abs(fitTrk->qOverPt() - tp->qOverPt()));
1194  hisPhi0ResVsTrueEta_[fitName]->Fill(std::abs(tp->eta()),
1195  std::abs(reco::deltaPhi(fitTrk->phi0(), tp->phi0())));
1196  hisEtaResVsTrueEta_[fitName]->Fill(std::abs(tp->eta()), std::abs(fitTrk->eta() - tp->eta()));
1197  hisZ0ResVsTrueEta_[fitName]->Fill(std::abs(tp->eta()), std::abs(fitTrk->z0() - tp->z0()));
1198  hisD0ResVsTrueEta_[fitName]->Fill(std::abs(tp->eta()), std::abs(fitTrk->d0() - tp->d0()));
1199 
1200  hisQoverPtResVsTrueInvPt_[fitName]->Fill(std::abs(tp->qOverPt()),
1201  std::abs(fitTrk->qOverPt() - tp->qOverPt()));
1202  hisPhi0ResVsTrueInvPt_[fitName]->Fill(std::abs(tp->qOverPt()),
1203  std::abs(reco::deltaPhi(fitTrk->phi0(), tp->phi0())));
1204  hisEtaResVsTrueInvPt_[fitName]->Fill(std::abs(tp->qOverPt()), std::abs(fitTrk->eta() - tp->eta()));
1205  hisZ0ResVsTrueInvPt_[fitName]->Fill(std::abs(tp->qOverPt()), std::abs(fitTrk->z0() - tp->z0()));
1206  hisD0ResVsTrueInvPt_[fitName]->Fill(std::abs(tp->qOverPt()), std::abs(fitTrk->d0() - tp->d0()));
1207  }
1208  }
1209  }
1210 
1211  //=== Study duplicate tracks.
1212 
1213  for (const TP& tp : vTPs) {
1214  if (tpRecoedMap[&tp]) { // Was this truth particle successfully fitted?
1215  profDupFitTrksVsEta_[fitName]->Fill(std::abs(tp.eta()), tpRecoedDup[&tp] - 1);
1216  profDupFitTrksVsInvPt_[fitName]->Fill(std::abs(tp.qOverPt()), tpRecoedDup[&tp] - 1);
1217  }
1218  }
1219 
1220  //=== Study tracking efficiency by looping over tracking particles.
1221 
1222  for (const TP& tp : vTPs) {
1223  if (tp.useForEff()) { // Check TP is good for efficiency measurement.
1224 
1225  // If TP was reconstucted by HT, then plot its kinematics.
1226  if (tpRecoedMap[&tp]) { // This truth particle was successfully fitted.
1227  hisFitTPinvptForEff_[fitName]->Fill(1. / tp.pt());
1228  hisFitTPetaForEff_[fitName]->Fill(tp.eta());
1229  hisFitTPphiForEff_[fitName]->Fill(tp.phi0());
1230  // Plot also production point of all good reconstructed TP.
1231  hisFitTPd0ForEff_[fitName]->Fill(std::abs(tp.d0()));
1232  hisFitTPz0ForEff_[fitName]->Fill(std::abs(tp.z0()));
1233  // Also plot efficiency to perfectly reconstruct the track (no fake hits)
1234  if (tpPerfRecoedMap[&tp]) { // This truth particle was successfully fitted with no incorrect hits.
1235  hisPerfFitTPinvptForEff_[fitName]->Fill(1. / tp.pt());
1236  hisPerfFitTPetaForEff_[fitName]->Fill(tp.eta());
1237  }
1238  if (tp.useForAlgEff()) { // Check TP is good for algorithmic efficiency measurement.
1239  hisFitTPinvptForAlgEff_[fitName]->Fill(1. / tp.pt());
1240  hisFitTPetaForAlgEff_[fitName]->Fill(tp.eta());
1241  hisFitTPphiForAlgEff_[fitName]->Fill(tp.phi0());
1242  // Plot also production point of all good reconstructed TP.
1243  hisFitTPd0ForAlgEff_[fitName]->Fill(std::abs(tp.d0()));
1244  hisFitTPz0ForAlgEff_[fitName]->Fill(std::abs(tp.z0()));
1245  // Also plot efficiency to perfectly reconstruct the track (no fake hits)
1246  if (tpPerfRecoedMap[&tp]) {
1247  hisPerfFitTPinvptForAlgEff_[fitName]->Fill(1. / tp.pt());
1248  hisPerfFitTPetaForAlgEff_[fitName]->Fill(tp.eta());
1249  }
1250  }
1251  }
1252  }
1253  }
1254  }
1255  }

References funct::abs(), reco::deltaPhi(), tmtt::InputData::getTPs(), hisD0ResVsTrueEta_, hisD0ResVsTrueInvPt_, hisEtaResVsTrueEta_, hisEtaResVsTrueInvPt_, hisFitChi2DofRphiMatched_, hisFitChi2DofRphiUnmatched_, hisFitChi2DofRzMatched_, hisFitChi2DofRzUnmatched_, hisFitD0Matched_, hisFitD0Unmatched_, hisFitEtaMatched_, hisFitEtaUnmatched_, hisFitPhi0Matched_, hisFitPhi0Unmatched_, hisFitQinvPtMatched_, hisFitQinvPtUnmatched_, hisFitTPd0ForAlgEff_, hisFitTPd0ForEff_, hisFitTPetaForAlgEff_, hisFitTPetaForEff_, hisFitTPinvptForAlgEff_, hisFitTPinvptForEff_, hisFitTPphiForAlgEff_, hisFitTPphiForEff_, hisFitTPz0ForAlgEff_, hisFitTPz0ForEff_, hisFitZ0Matched_, hisFitZ0Unmatched_, hisKalmanChi2DofSkipLay0Matched_, hisKalmanChi2DofSkipLay0Unmatched_, hisKalmanChi2DofSkipLay1Matched_, hisKalmanChi2DofSkipLay1Unmatched_, hisKalmanChi2DofSkipLay2Matched_, hisKalmanChi2DofSkipLay2Unmatched_, hisKalmanNumUpdateCalls_, hisNumFitTrks_, hisNumFitTrksPerNon_, hisPerfFitTPetaForAlgEff_, hisPerfFitTPetaForEff_, hisPerfFitTPinvptForAlgEff_, hisPerfFitTPinvptForEff_, hisPhi0ResVsTrueEta_, hisPhi0ResVsTrueInvPt_, hisQoverPtResVsTrueEta_, hisQoverPtResVsTrueInvPt_, hisStubsPerFitTrack_, hisZ0ResVsTrueEta_, hisZ0ResVsTrueInvPt_, mutex, EgammaValidation_cff::num, tmtt::Settings::numPhiNonants(), numPhiSectors_, profDupFitTrksVsEta_, profDupFitTrksVsInvPt_, profFitChi2DofRphiVsInvPtMatched_, profFitChi2DofRphiVsInvPtUnmatched_, profNumFitTracks_, profStubsOnFitTracks_, resPlotOpt_, settings_, cmsswSequenceInfo::tp, and trackFitters_.

Referenced by fill().

◆ makeEfficiencyPlot()

void Histos::makeEfficiencyPlot ( TFileDirectory inputDir,
TEfficiency *  outputEfficiency,
TH1F *  pass,
TH1F *  all,
TString  name,
TString  title 
)
protectedvirtual

Definition at line 1465 of file Histos.cc.

1466  {
1467  outputEfficiency = inputDir.make<TEfficiency>(*pass, *all);
1468  outputEfficiency->SetName(name);
1469  outputEfficiency->SetTitle(title);
1470  }

References python.cmstools::all(), TFileDirectory::make(), Skims_PA_cff::name, and overlapproblemtsosanalyzer_cfi::title.

Referenced by plotTrackEffAfterFit(), and plotTrackEfficiency().

◆ plotHybridDupRemovalEfficiency()

virtual void tmtt::Histos::plotHybridDupRemovalEfficiency ( )
inlineprotectedvirtual

Definition at line 96 of file Histos.h.

96 {};

Referenced by endJobAnalysis().

◆ plotTrackEffAfterFit()

TFileDirectory Histos::plotTrackEffAfterFit ( const std::string &  fitName)
protectedvirtual

Definition at line 1364 of file Histos.cc.

1364  {
1365  // Define lambda function to facilitate adding "fitName" to directory & histogram names.
1366  auto addn = [fitName](const string& s) { return TString::Format("%s_%s", s.c_str(), fitName.c_str()); };
1367 
1368  TFileDirectory inputDir = fs_->mkdir(addn("Effi").Data());
1369  // Plot tracking efficiency
1370  makeEfficiencyPlot(inputDir,
1371  teffEffFitVsInvPt_[fitName],
1372  hisFitTPinvptForEff_[fitName],
1374  addn("EffFitVsInvPt"),
1375  "; 1/Pt; Tracking efficiency");
1376  makeEfficiencyPlot(inputDir,
1377  teffEffFitVsEta_[fitName],
1378  hisFitTPetaForEff_[fitName],
1380  addn("EffFitVsEta"),
1381  "; #eta; Tracking efficiency");
1382  makeEfficiencyPlot(inputDir,
1383  teffEffFitVsPhi_[fitName],
1384  hisFitTPphiForEff_[fitName],
1386  addn("EffFitVsPhi"),
1387  "; #phi; Tracking efficiency");
1388 
1389  makeEfficiencyPlot(inputDir,
1390  teffEffFitVsD0_[fitName],
1391  hisFitTPd0ForEff_[fitName],
1393  addn("EffFitVsD0"),
1394  "; d0 (cm); Tracking efficiency");
1395  makeEfficiencyPlot(inputDir,
1396  teffEffFitVsZ0_[fitName],
1397  hisFitTPz0ForEff_[fitName],
1399  addn("EffFitVsZ0"),
1400  "; z0 (cm); Tracking efficiency");
1401 
1402  // Also plot efficiency to reconstruct track perfectly.
1403  makeEfficiencyPlot(inputDir,
1404  teffPerfEffFitVsInvPt_[fitName],
1405  hisPerfFitTPinvptForEff_[fitName],
1407  addn("PerfEffFitVsInvPt"),
1408  "; 1/Pt; Tracking perfect efficiency");
1409  makeEfficiencyPlot(inputDir,
1410  teffPerfEffFitVsEta_[fitName],
1411  hisPerfFitTPetaForEff_[fitName],
1413  addn("PerfEffFitVsEta"),
1414  "; #eta; Tracking perfect efficiency");
1415 
1416  // Plot algorithmic tracking efficiency
1417  makeEfficiencyPlot(inputDir,
1418  teffAlgEffFitVsInvPt_[fitName],
1419  hisFitTPinvptForAlgEff_[fitName],
1421  addn("AlgEffFitVsInvPt"),
1422  "; 1/Pt; Tracking efficiency");
1423  makeEfficiencyPlot(inputDir,
1424  teffAlgEffFitVsEta_[fitName],
1425  hisFitTPetaForAlgEff_[fitName],
1427  addn("AlgEffFitVsEta"),
1428  "; #eta; Tracking efficiency");
1429  makeEfficiencyPlot(inputDir,
1430  teffAlgEffFitVsPhi_[fitName],
1431  hisFitTPphiForAlgEff_[fitName],
1433  addn("AlgEffFitVsPhi"),
1434  "; #phi; Tracking efficiency");
1435 
1436  makeEfficiencyPlot(inputDir,
1437  teffAlgEffFitVsD0_[fitName],
1438  hisFitTPd0ForAlgEff_[fitName],
1440  addn("AlgEffFitVsD0"),
1441  "; d0 (cm); Tracking efficiency");
1442  makeEfficiencyPlot(inputDir,
1443  teffAlgEffFitVsZ0_[fitName],
1444  hisFitTPz0ForAlgEff_[fitName],
1446  addn("AlgEffFitVsZ0"),
1447  "; z0 (cm); Tracking efficiency");
1448 
1449  // Also plot algorithmic efficiency to reconstruct track perfectly.
1450  makeEfficiencyPlot(inputDir,
1451  teffPerfAlgEffFitVsInvPt_[fitName],
1452  hisPerfFitTPinvptForAlgEff_[fitName],
1454  addn("PerfAlgEffFitVsInvPt"),
1455  "; 1/Pt; Tracking perfect efficiency");
1456  makeEfficiencyPlot(inputDir,
1457  teffPerfAlgEffFitVsEta_[fitName],
1458  hisPerfFitTPetaForAlgEff_[fitName],
1460  addn("Perf AlgEffFitVsEta"),
1461  "; #eta; Tracking perfect efficiency");
1462  return inputDir;
1463  }

References fs_, hisFitTPd0ForAlgEff_, hisFitTPd0ForEff_, hisFitTPetaForAlgEff_, hisFitTPetaForEff_, hisFitTPinvptForAlgEff_, hisFitTPinvptForEff_, hisFitTPphiForAlgEff_, hisFitTPphiForEff_, hisFitTPz0ForAlgEff_, hisFitTPz0ForEff_, hisPerfFitTPetaForAlgEff_, hisPerfFitTPetaForEff_, hisPerfFitTPinvptForAlgEff_, hisPerfFitTPinvptForEff_, hisTPd0ForAlgEff_, hisTPd0ForEff_, hisTPetaForAlgEff_, hisTPetaForEff_, hisTPinvptForAlgEff_, hisTPinvptForEff_, hisTPphiForAlgEff_, hisTPphiForEff_, hisTPz0ForAlgEff_, hisTPz0ForEff_, makeEfficiencyPlot(), TFileService::mkdir(), alignCSCRings::s, teffAlgEffFitVsD0_, teffAlgEffFitVsEta_, teffAlgEffFitVsInvPt_, teffAlgEffFitVsPhi_, teffAlgEffFitVsZ0_, teffEffFitVsD0_, teffEffFitVsEta_, teffEffFitVsInvPt_, teffEffFitVsPhi_, teffEffFitVsZ0_, teffPerfAlgEffFitVsEta_, teffPerfAlgEffFitVsInvPt_, teffPerfEffFitVsEta_, and teffPerfEffFitVsInvPt_.

Referenced by endJobAnalysis().

◆ plotTrackEfficiency()

TFileDirectory Histos::plotTrackEfficiency ( const std::string &  tName)
protectedvirtual

Definition at line 1259 of file Histos.cc.

1259  {
1260  // Define lambda function to facilitate adding "tName" to directory & histogram names.
1261  auto addn = [tName](const string& s) { return TString::Format("%s_%s", s.c_str(), tName.c_str()); };
1262 
1263  TFileDirectory inputDir = fs_->mkdir(addn("Effi").Data());
1264  // Plot tracking efficiency
1265  makeEfficiencyPlot(inputDir,
1269  addn("EffVsInvPt"),
1270  "; 1/Pt; Tracking efficiency");
1271  makeEfficiencyPlot(inputDir,
1275  addn("EffVsEta"),
1276  "; #eta; Tracking efficiency");
1277 
1278  makeEfficiencyPlot(inputDir,
1282  addn("EffVsPhi"),
1283  "; #phi; Tracking efficiency");
1284 
1285  makeEfficiencyPlot(inputDir,
1289  addn("EffVsD0"),
1290  "; d0 (cm); Tracking efficiency");
1291  makeEfficiencyPlot(inputDir,
1295  addn("EffVsZ0"),
1296  "; z0 (cm); Tracking efficiency");
1297 
1298  // Also plot efficiency to reconstruct track perfectly.
1299  makeEfficiencyPlot(inputDir,
1303  addn("PerfEffVsInvPt"),
1304  "; 1/Pt; Tracking perfect efficiency");
1305  makeEfficiencyPlot(inputDir,
1309  addn("PerfEffVsEta"),
1310  "; #eta; Tracking perfect efficiency");
1311 
1312  // Plot algorithmic tracking efficiency
1313  makeEfficiencyPlot(inputDir,
1317  addn("AlgEffVsInvPt"),
1318  "; 1/Pt; Tracking efficiency");
1319  makeEfficiencyPlot(inputDir,
1323  addn("AlgEffVsEta"),
1324  "; #eta; Tracking efficiency");
1325  makeEfficiencyPlot(inputDir,
1329  addn("AlgEffVsPhi"),
1330  "; #phi; Tracking efficiency");
1331 
1332  makeEfficiencyPlot(inputDir,
1336  addn("AlgEffVsD0"),
1337  "; d0 (cm); Tracking efficiency");
1338  makeEfficiencyPlot(inputDir,
1342  addn("AlgEffVsZ0"),
1343  "; z0 (cm); Tracking efficiency");
1344 
1345  // Also plot algorithmic efficiency to reconstruct track perfectly.
1346  makeEfficiencyPlot(inputDir,
1350  addn("PerfAlgEffVsInvPt"),
1351  "; 1/Pt; Tracking perfect efficiency");
1352  makeEfficiencyPlot(inputDir,
1356  addn("PerfAlgEffVsEta"),
1357  "; #eta; Tracking perfect efficiency");
1358 
1359  return inputDir;
1360  }

References fs_, hisPerfRecoTPetaForAlgEff_, hisPerfRecoTPetaForEff_, hisPerfRecoTPinvptForAlgEff_, hisPerfRecoTPinvptForEff_, hisRecoTPd0ForAlgEff_, hisRecoTPd0ForEff_, hisRecoTPetaForAlgEff_, hisRecoTPetaForEff_, hisRecoTPinvptForAlgEff_, hisRecoTPinvptForEff_, hisRecoTPphiForAlgEff_, hisRecoTPphiForEff_, hisRecoTPz0ForAlgEff_, hisRecoTPz0ForEff_, hisTPd0ForAlgEff_, hisTPd0ForEff_, hisTPetaForAlgEff_, hisTPetaForEff_, hisTPinvptForAlgEff_, hisTPinvptForEff_, hisTPphiForAlgEff_, hisTPphiForEff_, hisTPz0ForAlgEff_, hisTPz0ForEff_, makeEfficiencyPlot(), TFileService::mkdir(), alignCSCRings::s, teffAlgEffVsD0_, teffAlgEffVsEta_, teffAlgEffVsInvPt_, teffAlgEffVsPhi_, teffAlgEffVsZ0_, teffEffVsD0_, teffEffVsEta_, teffEffVsInvPt_, teffEffVsPhi_, teffEffVsZ0_, teffPerfAlgEffVsEta_, teffPerfAlgEffVsInvPt_, teffPerfEffVsEta_, teffPerfEffVsInvPt_, and simpleEdmComparison::tName.

Referenced by endJobAnalysis().

◆ plotTrackletSeedEfficiency()

virtual void tmtt::Histos::plotTrackletSeedEfficiency ( )
inlineprotectedvirtual

Definition at line 94 of file Histos.h.

94 {};

Referenced by endJobAnalysis().

◆ printFitTrackPerformance()

void Histos::printFitTrackPerformance ( const std::string &  fitName)
protectedvirtual

Definition at line 1520 of file Histos.cc.

1520  {
1521  float numFitTracks = profNumFitTracks_[fitName]->GetBinContent(1); // No. of track cands
1522  float numFitTracksErr = profNumFitTracks_[fitName]->GetBinError(1); // No. of track cands uncertainty
1523  float numMatchedFitTracksIncDups =
1524  profNumFitTracks_[fitName]->GetBinContent(2); // Ditto, counting only those matched to TP
1525  float numMatchedFitTracksExcDups = profNumFitTracks_[fitName]->GetBinContent(6); // Ditto, but excluding duplicates
1526  float numFakeFitTracks = numFitTracks - numMatchedFitTracksIncDups;
1527  float numExtraDupFitTracks = numMatchedFitTracksIncDups - numMatchedFitTracksExcDups;
1528  float fracFakeFit = numFakeFitTracks / (numFitTracks + 1.0e-6);
1529  float fracDupFit = numExtraDupFitTracks / (numFitTracks + 1.0e-6);
1530 
1531  float numStubsOnFitTracks = profStubsOnFitTracks_[fitName]->GetBinContent(1);
1532  float meanStubsPerFitTrack =
1533  numStubsOnFitTracks / (numFitTracks + 1.0e-6); //protection against demoninator equals zero.
1534  unsigned int numFitTPforAlg = hisFitTPinvptForAlgEff_[fitName]->GetEntries();
1535  // Histograms of input truth particles (e.g. hisTPinvptForAlgEff_), used for denominator of efficiencies, are identical,
1536  // irrespective of whether made after HT or after r-z track filter, so always use the former.
1537  unsigned int numTPforAlg = hisTPinvptForAlgEff_->GetEntries();
1538  unsigned int numPerfFitTPforAlg = hisPerfFitTPinvptForAlgEff_[fitName]->GetEntries();
1539  float fitEff = float(numFitTPforAlg) / (numTPforAlg + 1.0e-6); //protection against demoninator equals zero.
1540  float fitEffErr = sqrt(fitEff * (1 - fitEff) / (numTPforAlg + 1.0e-6)); // uncertainty
1541  float fitPerfEff =
1542  float(numPerfFitTPforAlg) / (numTPforAlg + 1.0e-6); //protection against demoninator equals zero.
1543  float fitPerfEffErr = sqrt(fitPerfEff * (1 - fitPerfEff) / (numTPforAlg + 1.0e-6)); // uncertainty
1544 
1545  // Does this fitter require r-z track filter to be run before it?
1546  bool useRZfilt = (std::count(useRZfilter_.begin(), useRZfilter_.end(), fitName) > 0);
1547 
1548  PrintL1trk() << "=========================================================================";
1549  PrintL1trk() << " TRACK FIT SUMMARY FOR: " << fitName;
1550  PrintL1trk() << "Number of fitted track candidates found per event = " << numFitTracks << " +- " << numFitTracksErr;
1551  PrintL1trk() << " with mean stubs/track = " << meanStubsPerFitTrack;
1552  PrintL1trk() << "Fraction of fitted tracks that are fake = " << fracFakeFit;
1553  PrintL1trk() << "Fraction of fitted tracks that are genuine, but extra duplicates = " << fracDupFit;
1554  PrintL1trk() << "Algorithmic fitting efficiency = " << numFitTPforAlg << "/" << numTPforAlg << " = " << fitEff
1555  << " +- " << fitEffErr;
1556  PrintL1trk() << "Perfect algorithmic fitting efficiency = " << numPerfFitTPforAlg << "/" << numTPforAlg << " = "
1557  << fitPerfEff << " +- " << fitPerfEffErr << " (no incorrect hits)";
1558  if (useRZfilt)
1559  PrintL1trk() << "(The above fitter used the '" << settings_->rzFilterName() << "' r-z track filter.)";
1560  }

References KineDebug3::count(), MillePedeFileConverter_cfg::e, dqmMemoryStats::float, hisFitTPinvptForAlgEff_, hisPerfFitTPinvptForAlgEff_, hisTPinvptForAlgEff_, profNumFitTracks_, profStubsOnFitTracks_, tmtt::Settings::rzFilterName(), settings_, mathSSE::sqrt(), and useRZfilter_.

Referenced by endJobAnalysis().

◆ printHybridDupRemovalPerformance()

virtual void tmtt::Histos::printHybridDupRemovalPerformance ( )
inlineprotectedvirtual

Definition at line 112 of file Histos.h.

112 {};

Referenced by endJobAnalysis().

◆ printTrackletSeedFindingPerformance()

virtual void tmtt::Histos::printTrackletSeedFindingPerformance ( )
inlineprotectedvirtual

Definition at line 109 of file Histos.h.

109 {};

Referenced by endJobAnalysis().

◆ printTrackPerformance()

void Histos::printTrackPerformance ( const std::string &  tName)
protectedvirtual

Definition at line 1474 of file Histos.cc.

1474  {
1475  float numTrackCands = profNumTrackCands_[tName]->GetBinContent(1); // No. of track cands
1476  float numTrackCandsErr = profNumTrackCands_[tName]->GetBinError(1); // No. of track cands uncertainty
1477  float numMatchedTrackCandsIncDups =
1478  profNumTrackCands_[tName]->GetBinContent(2); // Ditto, counting only those matched to TP
1479  float numMatchedTrackCandsExcDups = profNumTrackCands_[tName]->GetBinContent(6); // Ditto, but excluding duplicates
1480  float numFakeTracks = numTrackCands - numMatchedTrackCandsIncDups;
1481  float numExtraDupTracks = numMatchedTrackCandsIncDups - numMatchedTrackCandsExcDups;
1482  float fracFake = numFakeTracks / (numTrackCands + 1.0e-6);
1483  float fracDup = numExtraDupTracks / (numTrackCands + 1.0e-6);
1484 
1485  float numStubsOnTracks = profStubsOnTracks_[tName]->GetBinContent(1);
1486  float meanStubsPerTrack =
1487  numStubsOnTracks / (numTrackCands + 1.0e-6); //protection against demoninator equals zero.
1488  unsigned int numRecoTPforAlg = hisRecoTPinvptForAlgEff_[tName]->GetEntries();
1489  // Histograms of input truth particles (e.g. hisTPinvptForAlgEff_), used for denominator of efficiencies, are identical,
1490  // irrespective of whether made after HT or after r-z track filter, so always use the former.
1491  unsigned int numTPforAlg = hisTPinvptForAlgEff_->GetEntries();
1492  unsigned int numPerfRecoTPforAlg = hisPerfRecoTPinvptForAlgEff_[tName]->GetEntries();
1493  float algEff = float(numRecoTPforAlg) / (numTPforAlg + 1.0e-6); //protection against demoninator equals zero.
1494  float algEffErr = sqrt(algEff * (1 - algEff) / (numTPforAlg + 1.0e-6)); // uncertainty
1495  float algPerfEff =
1496  float(numPerfRecoTPforAlg) / (numTPforAlg + 1.0e-6); //protection against demoninator equals zero.
1497  float algPerfEffErr = sqrt(algPerfEff * (1 - algPerfEff) / (numTPforAlg + 1.0e-6)); // uncertainty
1498 
1499  PrintL1trk() << "=========================================================================";
1500  if (tName == "HT") {
1501  PrintL1trk() << " TRACK-FINDING SUMMARY AFTER HOUGH TRANSFORM ";
1502  } else if (tName == "RZ") {
1503  PrintL1trk() << " TRACK-FINDING SUMMARY AFTER R-Z TRACK FILTER ";
1504  } else if (tName == "TRACKLET") {
1505  PrintL1trk() << " TRACK-FINDING SUMMARY AFTER TRACKLET PATTERN RECO ";
1506  }
1507  PrintL1trk() << "Number of track candidates found per event = " << numTrackCands << " +- " << numTrackCandsErr;
1508  PrintL1trk() << " with mean stubs/track = " << meanStubsPerTrack;
1509  PrintL1trk() << "Fraction of track cands that are fake = " << fracFake;
1510  PrintL1trk() << "Fraction of track cands that are genuine, but extra duplicates = " << fracDup;
1511 
1512  PrintL1trk() << std::fixed << std::setprecision(4) << "Algorithmic tracking efficiency = " << numRecoTPforAlg << "/"
1513  << numTPforAlg << " = " << algEff << " +- " << algEffErr;
1514  PrintL1trk() << "Perfect algorithmic tracking efficiency = " << numPerfRecoTPforAlg << "/" << numTPforAlg << " = "
1515  << algPerfEff << " +- " << algPerfEffErr << " (no incorrect hits)";
1516  }

References MillePedeFileConverter_cfg::e, alignBH_cfg::fixed, dqmMemoryStats::float, hisPerfRecoTPinvptForAlgEff_, hisRecoTPinvptForAlgEff_, hisTPinvptForAlgEff_, profNumTrackCands_, profStubsOnTracks_, mathSSE::sqrt(), and simpleEdmComparison::tName.

Referenced by endJobAnalysis().

◆ trackerGeometryAnalysis()

void Histos::trackerGeometryAnalysis ( const std::list< TrackerModule > &  listTrackerModule)
virtual

Definition at line 1706 of file Histos.cc.

1706  {
1707  // Don't bother producing summary if user didn't request histograms via TFileService in their cfg.
1708  if (not this->enabled())
1709  return;
1710 
1711  map<float, float> dataForGraph;
1712  for (const TrackerModule& trackerModule : listTrackerModule) {
1713  if (trackerModule.tiltedBarrel()) {
1714  float paramB = trackerModule.paramB();
1715  float zOverR = std::abs(trackerModule.minZ()) / trackerModule.minR();
1716  dataForGraph[paramB] = zOverR; // Only store each unique paramB once, to get better histo weights.
1717  }
1718  }
1719 
1720  const int nEntries = dataForGraph.size();
1721  vector<float> vecParamB(nEntries);
1722  vector<float> vecZoverR(nEntries);
1723  unsigned int i = 0;
1724  for (const auto& p : dataForGraph) {
1725  vecParamB[i] = p.first;
1726  vecZoverR[i] = p.second;
1727  i++;
1728  }
1729 
1730  PrintL1trk() << "=========================================================================";
1731  PrintL1trk() << "--- Fit to cfg params for FPGA-friendly approximation to B parameter in GP & KF ---";
1732  PrintL1trk() << "--- (used to allowed for tilted barrel modules) ---";
1733 
1734  TFileDirectory inputDir = fs_->mkdir("InputDataB");
1735  graphBVsZoverR_ = inputDir.make<TGraph>(nEntries, &vecZoverR[0], &vecParamB[0]);
1736  graphBVsZoverR_->SetNameTitle("B vs module Z/R", "; Module Z/R; B");
1737  graphBVsZoverR_->Fit("pol1", "q");
1738  TF1* fittedFunction = graphBVsZoverR_->GetFunction("pol1");
1739  double gradient = fittedFunction->GetParameter(1);
1740  double intercept = fittedFunction->GetParameter(0);
1741  double gradient_err = fittedFunction->GetParError(1);
1742  double intercept_err = fittedFunction->GetParError(0);
1743  PrintL1trk() << " BApprox_gradient (fitted) = " << gradient << " +- " << gradient_err;
1744  PrintL1trk() << " BApprox_intercept (fitted) = " << intercept << " +- " << intercept_err;
1745  PrintL1trk() << "=========================================================================";
1746 
1747  // Check fitted params consistent with those assumed in cfg file.
1748  if (settings_->useApproxB()) {
1749  double gradientDiff = std::abs(gradient - settings_->bApprox_gradient());
1750  double interceptDiff = std::abs(intercept - settings_->bApprox_intercept());
1751  constexpr unsigned int nSigma = 5;
1752  if (gradientDiff > nSigma * gradient_err ||
1753  interceptDiff > nSigma * intercept_err) { // Uncertainty independent of number of events
1754  PrintL1trk() << "\n WARNING: fitted parameters inconsistent with those specified in cfg file:";
1755  PrintL1trk() << " BApprox_gradient (cfg) = " << settings_->bApprox_gradient();
1756  PrintL1trk() << " BApprox_intercept (cfg) = " << settings_->bApprox_intercept();
1757  bApproxMistake_ = true; // Note that problem has occurred.
1758  }
1759  }
1760  }

References funct::abs(), tmtt::Settings::bApprox_gradient(), tmtt::Settings::bApprox_intercept(), bApproxMistake_, enabled(), fs_, graphBVsZoverR_, mps_fire::i, TFileDirectory::make(), TFileService::mkdir(), HLTSiStripMonitoring_cff::nSigma, AlCaHLTBitMon_ParallelJobs::p, settings_, tools::TF1, and tmtt::Settings::useApproxB().

Referenced by tmtt::TMTrackProducer::globalEndJob().

Member Data Documentation

◆ bApproxMistake_

bool tmtt::Histos::bApproxMistake_
protected

Definition at line 359 of file Histos.h.

Referenced by endJobAnalysis(), and trackerGeometryAnalysis().

◆ chosenRofZ_

float tmtt::Histos::chosenRofZ_
protected

Definition at line 125 of file Histos.h.

Referenced by Histos().

◆ fs_

edm::Service<TFileService> tmtt::Histos::fs_
protected

◆ genMinStubLayers_

unsigned int tmtt::Histos::genMinStubLayers_
protected

Definition at line 119 of file Histos.h.

Referenced by Histos().

◆ graphBVsZoverR_

TGraph* tmtt::Histos::graphBVsZoverR_
protected

Definition at line 147 of file Histos.h.

Referenced by trackerGeometryAnalysis().

◆ hisBendResStub_

TH1F* tmtt::Histos::hisBendResStub_
protected

Definition at line 144 of file Histos.h.

Referenced by bookInputData(), and fillInputData().

◆ hisBendStub_

TH1F* tmtt::Histos::hisBendStub_
protected

Definition at line 143 of file Histos.h.

Referenced by bookInputData(), and fillInputData().

◆ hisD0ResVsTrueEta_

std::map<std::string, TProfile*> tmtt::Histos::hisD0ResVsTrueEta_
protected

Definition at line 255 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisD0ResVsTrueInvPt_

std::map<std::string, TProfile*> tmtt::Histos::hisD0ResVsTrueInvPt_
protected

Definition at line 261 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisEta_

std::map<std::string, TH1F*> tmtt::Histos::hisEta_
protected

Definition at line 173 of file Histos.h.

Referenced by bookTrackCands().

◆ hisEtaRes_

std::map<std::string, TH1F*> tmtt::Histos::hisEtaRes_
protected

Definition at line 179 of file Histos.h.

Referenced by bookTrackCands().

◆ hisEtaResVsTrueEta_

std::map<std::string, TProfile*> tmtt::Histos::hisEtaResVsTrueEta_
protected

Definition at line 253 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisEtaResVsTrueInvPt_

std::map<std::string, TProfile*> tmtt::Histos::hisEtaResVsTrueInvPt_
protected

Definition at line 259 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitChi2DofRphiMatched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitChi2DofRphiMatched_
protected

Definition at line 243 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitChi2DofRphiUnmatched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitChi2DofRphiUnmatched_
protected

Definition at line 247 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitChi2DofRzMatched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitChi2DofRzMatched_
protected

Definition at line 244 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitChi2DofRzUnmatched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitChi2DofRzUnmatched_
protected

Definition at line 248 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitD0Matched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitD0Matched_
protected

Definition at line 225 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitD0Unmatched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitD0Unmatched_
protected

Definition at line 231 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitEtaMatched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitEtaMatched_
protected

Definition at line 227 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitEtaUnmatched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitEtaUnmatched_
protected

Definition at line 233 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitPhi0Matched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitPhi0Matched_
protected

Definition at line 224 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitPhi0Unmatched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitPhi0Unmatched_
protected

Definition at line 230 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitQinvPtMatched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitQinvPtMatched_
protected

Definition at line 223 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitQinvPtUnmatched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitQinvPtUnmatched_
protected

Definition at line 229 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitTPd0ForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisFitTPd0ForAlgEff_
protected

Definition at line 277 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisFitTPd0ForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisFitTPd0ForEff_
protected

Definition at line 270 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisFitTPetaForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisFitTPetaForAlgEff_
protected

Definition at line 275 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisFitTPetaForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisFitTPetaForEff_
protected

Definition at line 268 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisFitTPinvptForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisFitTPinvptForAlgEff_
protected

◆ hisFitTPinvptForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisFitTPinvptForEff_
protected

Definition at line 267 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisFitTPphiForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisFitTPphiForAlgEff_
protected

Definition at line 276 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisFitTPphiForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisFitTPphiForEff_
protected

Definition at line 269 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisFitTPz0ForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisFitTPz0ForAlgEff_
protected

Definition at line 278 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisFitTPz0ForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisFitTPz0ForEff_
protected

Definition at line 271 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisFitZ0Matched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitZ0Matched_
protected

Definition at line 226 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFitZ0Unmatched_

std::map<std::string, TH1F*> tmtt::Histos::hisFitZ0Unmatched_
protected

Definition at line 232 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisFracMatchStubsOnTracks_

std::map<std::string, TH1F*> tmtt::Histos::hisFracMatchStubsOnTracks_
protected

Definition at line 166 of file Histos.h.

Referenced by bookTrackCands().

◆ hisKalmanChi2DofSkipLay0Matched_

std::map<std::string, TH1F*> tmtt::Histos::hisKalmanChi2DofSkipLay0Matched_
protected

Definition at line 236 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisKalmanChi2DofSkipLay0Unmatched_

std::map<std::string, TH1F*> tmtt::Histos::hisKalmanChi2DofSkipLay0Unmatched_
protected

Definition at line 239 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisKalmanChi2DofSkipLay1Matched_

std::map<std::string, TH1F*> tmtt::Histos::hisKalmanChi2DofSkipLay1Matched_
protected

Definition at line 237 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisKalmanChi2DofSkipLay1Unmatched_

std::map<std::string, TH1F*> tmtt::Histos::hisKalmanChi2DofSkipLay1Unmatched_
protected

Definition at line 240 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisKalmanChi2DofSkipLay2Matched_

std::map<std::string, TH1F*> tmtt::Histos::hisKalmanChi2DofSkipLay2Matched_
protected

Definition at line 238 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisKalmanChi2DofSkipLay2Unmatched_

std::map<std::string, TH1F*> tmtt::Histos::hisKalmanChi2DofSkipLay2Unmatched_
protected

Definition at line 241 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisKalmanNumUpdateCalls_

std::map<std::string, TH1F*> tmtt::Histos::hisKalmanNumUpdateCalls_
protected

Definition at line 235 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisLayersPerTrack_

std::map<std::string, TH1F*> tmtt::Histos::hisLayersPerTrack_
protected

Definition at line 162 of file Histos.h.

Referenced by bookTrackCands().

◆ hisNumEtaSecsPerStub_

TH1F* tmtt::Histos::hisNumEtaSecsPerStub_
protected

Definition at line 150 of file Histos.h.

Referenced by bookEtaPhiSectors(), and fillEtaPhiSectors().

◆ hisNumFitTrks_

std::map<std::string, TH1F*> tmtt::Histos::hisNumFitTrks_
protected

Definition at line 217 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisNumFitTrksPerNon_

std::map<std::string, TH1F*> tmtt::Histos::hisNumFitTrksPerNon_
protected

Definition at line 218 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisNumFitTrksPerSect_

std::map<std::string, TH1F*> tmtt::Histos::hisNumFitTrksPerSect_
protected

Definition at line 219 of file Histos.h.

◆ hisNumLayersPerTP_

TH1F* tmtt::Histos::hisNumLayersPerTP_
protected

Definition at line 137 of file Histos.h.

Referenced by bookInputData(), and fillInputData().

◆ hisNumPhiSecsPerStub_

TH1F* tmtt::Histos::hisNumPhiSecsPerStub_
protected

Definition at line 151 of file Histos.h.

Referenced by bookEtaPhiSectors(), and fillEtaPhiSectors().

◆ hisNumPSLayersPerTP_

TH1F* tmtt::Histos::hisNumPSLayersPerTP_
protected

Definition at line 138 of file Histos.h.

Referenced by bookInputData(), and fillInputData().

◆ hisNumStubsPerLink_

std::map<std::string, TH1F*> tmtt::Histos::hisNumStubsPerLink_
protected

Definition at line 164 of file Histos.h.

Referenced by bookTrackCands().

◆ hisNumStubsPerSec_

TH1F* tmtt::Histos::hisNumStubsPerSec_
protected

Definition at line 152 of file Histos.h.

Referenced by bookEtaPhiSectors(), and fillEtaPhiSectors().

◆ hisNumTracksVsQoverPt_

std::map<std::string, TH1F*> tmtt::Histos::hisNumTracksVsQoverPt_
protected

Definition at line 157 of file Histos.h.

Referenced by bookTrackCands().

◆ hisNumTrksPerNon_

std::map<std::string, TH1F*> tmtt::Histos::hisNumTrksPerNon_
protected

Definition at line 158 of file Histos.h.

Referenced by bookTrackCands().

◆ hisPerfFitTPetaForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisPerfFitTPetaForAlgEff_
protected

Definition at line 280 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisPerfFitTPetaForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisPerfFitTPetaForEff_
protected

Definition at line 273 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisPerfFitTPinvptForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisPerfFitTPinvptForAlgEff_
protected

◆ hisPerfFitTPinvptForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisPerfFitTPinvptForEff_
protected

Definition at line 272 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and plotTrackEffAfterFit().

◆ hisPerfRecoTPetaForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisPerfRecoTPetaForAlgEff_
protected

Definition at line 212 of file Histos.h.

Referenced by bookTrackCands(), and plotTrackEfficiency().

◆ hisPerfRecoTPetaForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisPerfRecoTPetaForEff_
protected

Definition at line 203 of file Histos.h.

Referenced by bookTrackCands(), and plotTrackEfficiency().

◆ hisPerfRecoTPinvptForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisPerfRecoTPinvptForAlgEff_
protected

Definition at line 211 of file Histos.h.

Referenced by bookTrackCands(), plotTrackEfficiency(), and printTrackPerformance().

◆ hisPerfRecoTPinvptForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisPerfRecoTPinvptForEff_
protected

Definition at line 202 of file Histos.h.

Referenced by bookTrackCands(), and plotTrackEfficiency().

◆ hisPhi0_

std::map<std::string, TH1F*> tmtt::Histos::hisPhi0_
protected

Definition at line 172 of file Histos.h.

Referenced by bookTrackCands().

◆ hisPhi0Res_

std::map<std::string, TH1F*> tmtt::Histos::hisPhi0Res_
protected

Definition at line 178 of file Histos.h.

Referenced by bookTrackCands().

◆ hisPhi0ResVsTrueEta_

std::map<std::string, TProfile*> tmtt::Histos::hisPhi0ResVsTrueEta_
protected

Definition at line 252 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisPhi0ResVsTrueInvPt_

std::map<std::string, TProfile*> tmtt::Histos::hisPhi0ResVsTrueInvPt_
protected

Definition at line 258 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisQoverPt_

std::map<std::string, TH1F*> tmtt::Histos::hisQoverPt_
protected

Definition at line 171 of file Histos.h.

Referenced by bookTrackCands().

◆ hisQoverPtRes_

std::map<std::string, TH1F*> tmtt::Histos::hisQoverPtRes_
protected

Definition at line 177 of file Histos.h.

Referenced by bookTrackCands().

◆ hisQoverPtResVsTrueEta_

std::map<std::string, TProfile*> tmtt::Histos::hisQoverPtResVsTrueEta_
protected

Definition at line 251 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisQoverPtResVsTrueInvPt_

std::map<std::string, TProfile*> tmtt::Histos::hisQoverPtResVsTrueInvPt_
protected

Definition at line 257 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisRecoTPd0ForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisRecoTPd0ForAlgEff_
protected

Definition at line 208 of file Histos.h.

Referenced by bookTrackCands(), and plotTrackEfficiency().

◆ hisRecoTPd0ForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisRecoTPd0ForEff_
protected

Definition at line 199 of file Histos.h.

Referenced by bookTrackCands(), and plotTrackEfficiency().

◆ hisRecoTPetaForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisRecoTPetaForAlgEff_
protected

Definition at line 206 of file Histos.h.

Referenced by bookTrackCands(), and plotTrackEfficiency().

◆ hisRecoTPetaForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisRecoTPetaForEff_
protected

Definition at line 197 of file Histos.h.

Referenced by bookTrackCands(), and plotTrackEfficiency().

◆ hisRecoTPinvptForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisRecoTPinvptForAlgEff_
protected

Definition at line 205 of file Histos.h.

Referenced by bookTrackCands(), plotTrackEfficiency(), and printTrackPerformance().

◆ hisRecoTPinvptForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisRecoTPinvptForEff_
protected

Definition at line 196 of file Histos.h.

Referenced by bookTrackCands(), endJobAnalysis(), and plotTrackEfficiency().

◆ hisRecoTPphiForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisRecoTPphiForAlgEff_
protected

Definition at line 207 of file Histos.h.

Referenced by bookTrackCands(), and plotTrackEfficiency().

◆ hisRecoTPphiForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisRecoTPphiForEff_
protected

Definition at line 198 of file Histos.h.

Referenced by bookTrackCands(), and plotTrackEfficiency().

◆ hisRecoTPz0ForAlgEff_

std::map<std::string, TH1F*> tmtt::Histos::hisRecoTPz0ForAlgEff_
protected

Definition at line 209 of file Histos.h.

Referenced by bookTrackCands(), and plotTrackEfficiency().

◆ hisRecoTPz0ForEff_

std::map<std::string, TH1F*> tmtt::Histos::hisRecoTPz0ForEff_
protected

Definition at line 200 of file Histos.h.

Referenced by bookTrackCands(), and plotTrackEfficiency().

◆ hisStubIneffiVsEta_

TProfile* tmtt::Histos::hisStubIneffiVsEta_
protected

Definition at line 142 of file Histos.h.

Referenced by bookInputData(), and fillInputData().

◆ hisStubIneffiVsInvPt_

TProfile* tmtt::Histos::hisStubIneffiVsInvPt_
protected

Definition at line 141 of file Histos.h.

Referenced by bookInputData(), and fillInputData().

◆ hisStubKillFE_

TProfile* tmtt::Histos::hisStubKillFE_
protected

Definition at line 140 of file Histos.h.

Referenced by bookInputData(), and fillInputData().

◆ hisStubsOnTracksPerNon_

std::map<std::string, TH1F*> tmtt::Histos::hisStubsOnTracksPerNon_
protected

Definition at line 160 of file Histos.h.

Referenced by bookTrackCands().

◆ hisStubsPerFitTrack_

std::map<std::string, TH1F*> tmtt::Histos::hisStubsPerFitTrack_
protected

Definition at line 220 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisStubsPerTrack_

std::map<std::string, TH1F*> tmtt::Histos::hisStubsPerTrack_
protected

Definition at line 161 of file Histos.h.

Referenced by bookTrackCands().

◆ hisStubsVsEta_

TH1F* tmtt::Histos::hisStubsVsEta_
protected

Definition at line 134 of file Histos.h.

Referenced by bookInputData(), and fillInputData().

◆ hisStubsVsR_

TH1F* tmtt::Histos::hisStubsVsR_
protected

Definition at line 135 of file Histos.h.

Referenced by bookInputData(), and fillInputData().

◆ hisTPd0ForAlgEff_

TH1F* tmtt::Histos::hisTPd0ForAlgEff_
protected

Definition at line 192 of file Histos.h.

Referenced by bookInputData(), fillInputData(), plotTrackEffAfterFit(), and plotTrackEfficiency().

◆ hisTPd0ForEff_

TH1F* tmtt::Histos::hisTPd0ForEff_
protected

Definition at line 186 of file Histos.h.

Referenced by bookInputData(), fillInputData(), plotTrackEffAfterFit(), and plotTrackEfficiency().

◆ hisTPetaForAlgEff_

TH1F* tmtt::Histos::hisTPetaForAlgEff_
protected

Definition at line 190 of file Histos.h.

Referenced by bookInputData(), fillInputData(), plotTrackEffAfterFit(), and plotTrackEfficiency().

◆ hisTPetaForEff_

TH1F* tmtt::Histos::hisTPetaForEff_
protected

Definition at line 184 of file Histos.h.

Referenced by bookInputData(), fillInputData(), plotTrackEffAfterFit(), and plotTrackEfficiency().

◆ hisTPinvptForAlgEff_

TH1F* tmtt::Histos::hisTPinvptForAlgEff_
protected

◆ hisTPinvptForEff_

TH1F* tmtt::Histos::hisTPinvptForEff_
protected

Definition at line 183 of file Histos.h.

Referenced by bookInputData(), fillInputData(), plotTrackEffAfterFit(), and plotTrackEfficiency().

◆ hisTPphiForAlgEff_

TH1F* tmtt::Histos::hisTPphiForAlgEff_
protected

Definition at line 191 of file Histos.h.

Referenced by bookInputData(), fillInputData(), plotTrackEffAfterFit(), and plotTrackEfficiency().

◆ hisTPphiForEff_

TH1F* tmtt::Histos::hisTPphiForEff_
protected

Definition at line 185 of file Histos.h.

Referenced by bookInputData(), fillInputData(), plotTrackEffAfterFit(), and plotTrackEfficiency().

◆ hisTPz0ForAlgEff_

TH1F* tmtt::Histos::hisTPz0ForAlgEff_
protected

Definition at line 193 of file Histos.h.

Referenced by bookInputData(), fillInputData(), plotTrackEffAfterFit(), and plotTrackEfficiency().

◆ hisTPz0ForEff_

TH1F* tmtt::Histos::hisTPz0ForEff_
protected

Definition at line 187 of file Histos.h.

Referenced by bookInputData(), fillInputData(), plotTrackEffAfterFit(), and plotTrackEfficiency().

◆ hisZ0_

std::map<std::string, TH1F*> tmtt::Histos::hisZ0_
protected

Definition at line 174 of file Histos.h.

Referenced by bookTrackCands().

◆ hisZ0Res_

std::map<std::string, TH1F*> tmtt::Histos::hisZ0Res_
protected

Definition at line 180 of file Histos.h.

Referenced by bookTrackCands().

◆ hisZ0ResVsTrueEta_

std::map<std::string, TProfile*> tmtt::Histos::hisZ0ResVsTrueEta_
protected

Definition at line 254 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ hisZ0ResVsTrueInvPt_

std::map<std::string, TProfile*> tmtt::Histos::hisZ0ResVsTrueInvPt_
protected

Definition at line 260 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ houghMinPt_

float tmtt::Histos::houghMinPt_
protected

Definition at line 122 of file Histos.h.

Referenced by Histos().

◆ houghNbinsPhi_

unsigned int tmtt::Histos::houghNbinsPhi_
protected

Definition at line 124 of file Histos.h.

Referenced by Histos().

◆ houghNbinsPt_

unsigned int tmtt::Histos::houghNbinsPt_
protected

Definition at line 123 of file Histos.h.

Referenced by Histos().

◆ mapBarrelLayerMaxR_

std::map<unsigned int, float> tmtt::Histos::mapBarrelLayerMaxR_
protected

Definition at line 331 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapBarrelLayerMinR_

std::map<unsigned int, float> tmtt::Histos::mapBarrelLayerMinR_
protected

Definition at line 330 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapEndcapWheelMaxZ_

std::map<unsigned int, float> tmtt::Histos::mapEndcapWheelMaxZ_
protected

Definition at line 334 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapEndcapWheelMinZ_

std::map<unsigned int, float> tmtt::Histos::mapEndcapWheelMinZ_
protected

Definition at line 333 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraAModuleTypeMaxR_

std::map<unsigned int, float> tmtt::Histos::mapExtraAModuleTypeMaxR_
protected

Definition at line 343 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraAModuleTypeMaxZ_

std::map<unsigned int, float> tmtt::Histos::mapExtraAModuleTypeMaxZ_
protected

Definition at line 345 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraAModuleTypeMinR_

std::map<unsigned int, float> tmtt::Histos::mapExtraAModuleTypeMinR_
protected

Definition at line 342 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraAModuleTypeMinZ_

std::map<unsigned int, float> tmtt::Histos::mapExtraAModuleTypeMinZ_
protected

Definition at line 344 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraBModuleTypeMaxR_

std::map<unsigned int, float> tmtt::Histos::mapExtraBModuleTypeMaxR_
protected

Definition at line 347 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraBModuleTypeMaxZ_

std::map<unsigned int, float> tmtt::Histos::mapExtraBModuleTypeMaxZ_
protected

Definition at line 349 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraBModuleTypeMinR_

std::map<unsigned int, float> tmtt::Histos::mapExtraBModuleTypeMinR_
protected

Definition at line 346 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraBModuleTypeMinZ_

std::map<unsigned int, float> tmtt::Histos::mapExtraBModuleTypeMinZ_
protected

Definition at line 348 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraCModuleTypeMaxR_

std::map<unsigned int, float> tmtt::Histos::mapExtraCModuleTypeMaxR_
protected

Definition at line 351 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraCModuleTypeMaxZ_

std::map<unsigned int, float> tmtt::Histos::mapExtraCModuleTypeMaxZ_
protected

Definition at line 353 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraCModuleTypeMinR_

std::map<unsigned int, float> tmtt::Histos::mapExtraCModuleTypeMinR_
protected

Definition at line 350 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraCModuleTypeMinZ_

std::map<unsigned int, float> tmtt::Histos::mapExtraCModuleTypeMinZ_
protected

Definition at line 352 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraDModuleTypeMaxR_

std::map<unsigned int, float> tmtt::Histos::mapExtraDModuleTypeMaxR_
protected

Definition at line 355 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraDModuleTypeMaxZ_

std::map<unsigned int, float> tmtt::Histos::mapExtraDModuleTypeMaxZ_
protected

Definition at line 357 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraDModuleTypeMinR_

std::map<unsigned int, float> tmtt::Histos::mapExtraDModuleTypeMinR_
protected

Definition at line 354 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapExtraDModuleTypeMinZ_

std::map<unsigned int, float> tmtt::Histos::mapExtraDModuleTypeMinZ_
protected

Definition at line 356 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapModuleTypeMaxR_

std::map<unsigned int, float> tmtt::Histos::mapModuleTypeMaxR_
protected

Definition at line 338 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapModuleTypeMaxZ_

std::map<unsigned int, float> tmtt::Histos::mapModuleTypeMaxZ_
protected

Definition at line 340 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapModuleTypeMinR_

std::map<unsigned int, float> tmtt::Histos::mapModuleTypeMinR_
protected

Definition at line 337 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ mapModuleTypeMinZ_

std::map<unsigned int, float> tmtt::Histos::mapModuleTypeMinZ_
protected

Definition at line 339 of file Histos.h.

Referenced by endJobAnalysis(), and fillInputData().

◆ numEtaRegions_

unsigned int tmtt::Histos::numEtaRegions_
protected

Definition at line 121 of file Histos.h.

Referenced by bookTrackCands(), fillEtaPhiSectors(), and Histos().

◆ numFitAlgEff_

std::map<std::string, unsigned int> tmtt::Histos::numFitAlgEff_
protected

Definition at line 322 of file Histos.h.

◆ numFitAlgEffPass_

std::map<std::string, unsigned int> tmtt::Histos::numFitAlgEffPass_
protected

Definition at line 326 of file Histos.h.

◆ numFitPerfAlgEff_

std::map<std::string, unsigned int> tmtt::Histos::numFitPerfAlgEff_
protected

Definition at line 323 of file Histos.h.

◆ numFitPerfAlgEffPass_

std::map<std::string, unsigned int> tmtt::Histos::numFitPerfAlgEffPass_
protected

Definition at line 327 of file Histos.h.

◆ numPhiSectors_

unsigned int tmtt::Histos::numPhiSectors_
protected

Definition at line 120 of file Histos.h.

Referenced by fillEtaPhiSectors(), fillTrackFitting(), and Histos().

◆ oldSumW2opt_

bool tmtt::Histos::oldSumW2opt_
protected

Definition at line 131 of file Histos.h.

Referenced by book(), and endJobAnalysis().

◆ printedGeomAnalysis_

bool tmtt::Histos::printedGeomAnalysis_
protected

Definition at line 361 of file Histos.h.

◆ profDupFitTrksVsEta_

std::map<std::string, TProfile*> tmtt::Histos::profDupFitTrksVsEta_
protected

Definition at line 263 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ profDupFitTrksVsInvPt_

std::map<std::string, TProfile*> tmtt::Histos::profDupFitTrksVsInvPt_
protected

Definition at line 264 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ profDupTracksVsEta_

std::map<std::string, TProfile*> tmtt::Histos::profDupTracksVsEta_
protected

Definition at line 167 of file Histos.h.

Referenced by bookTrackCands().

◆ profDupTracksVsInvPt_

std::map<std::string, TProfile*> tmtt::Histos::profDupTracksVsInvPt_
protected

Definition at line 168 of file Histos.h.

Referenced by bookTrackCands().

◆ profFitChi2DofRphiVsInvPtMatched_

std::map<std::string, TProfile*> tmtt::Histos::profFitChi2DofRphiVsInvPtMatched_
protected

Definition at line 245 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ profFitChi2DofRphiVsInvPtUnmatched_

std::map<std::string, TProfile*> tmtt::Histos::profFitChi2DofRphiVsInvPtUnmatched_
protected

Definition at line 249 of file Histos.h.

Referenced by bookTrackFitting(), and fillTrackFitting().

◆ profMeanStubsPerLink_

std::map<std::string, TProfile*> tmtt::Histos::profMeanStubsPerLink_
protected

Definition at line 165 of file Histos.h.

Referenced by bookTrackCands().

◆ profNumFitTracks_

std::map<std::string, TProfile*> tmtt::Histos::profNumFitTracks_
protected

Definition at line 216 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and printFitTrackPerformance().

◆ profNumTrackCands_

std::map<std::string, TProfile*> tmtt::Histos::profNumTrackCands_
protected

Definition at line 155 of file Histos.h.

Referenced by bookTrackCands(), and printTrackPerformance().

◆ profNumTracksVsEta_

std::map<std::string, TProfile*> tmtt::Histos::profNumTracksVsEta_
protected

Definition at line 156 of file Histos.h.

Referenced by bookTrackCands().

◆ profStubsOnFitTracks_

std::map<std::string, TProfile*> tmtt::Histos::profStubsOnFitTracks_
protected

Definition at line 221 of file Histos.h.

Referenced by bookTrackFitting(), fillTrackFitting(), and printFitTrackPerformance().

◆ profStubsOnTracks_

std::map<std::string, TProfile*> tmtt::Histos::profStubsOnTracks_
protected

Definition at line 159 of file Histos.h.

Referenced by bookTrackCands(), and printTrackPerformance().

◆ ranRZfilter_

bool tmtt::Histos::ranRZfilter_
protected

Definition at line 128 of file Histos.h.

Referenced by book(), endJobAnalysis(), fill(), and Histos().

◆ resPlotOpt_

bool tmtt::Histos::resPlotOpt_
protected

Definition at line 129 of file Histos.h.

Referenced by fillTrackFitting(), and Histos().

◆ settings_

const Settings* tmtt::Histos::settings_
protected

◆ teffAlgEffFitVsD0_

std::map<std::string, TEfficiency*> tmtt::Histos::teffAlgEffFitVsD0_
protected

Definition at line 315 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffAlgEffFitVsEta_

std::map<std::string, TEfficiency*> tmtt::Histos::teffAlgEffFitVsEta_
protected

Definition at line 313 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffAlgEffFitVsInvPt_

std::map<std::string, TEfficiency*> tmtt::Histos::teffAlgEffFitVsInvPt_
protected

Definition at line 312 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffAlgEffFitVsPhi_

std::map<std::string, TEfficiency*> tmtt::Histos::teffAlgEffFitVsPhi_
protected

Definition at line 314 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffAlgEffFitVsZ0_

std::map<std::string, TEfficiency*> tmtt::Histos::teffAlgEffFitVsZ0_
protected

Definition at line 316 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffAlgEffVsD0_

std::map<std::string, TEfficiency*> tmtt::Histos::teffAlgEffVsD0_
protected

Definition at line 291 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffAlgEffVsEta_

std::map<std::string, TEfficiency*> tmtt::Histos::teffAlgEffVsEta_
protected

Definition at line 295 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffAlgEffVsInvPt_

std::map<std::string, TEfficiency*> tmtt::Histos::teffAlgEffVsInvPt_
protected

Definition at line 294 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffAlgEffVsPhi_

std::map<std::string, TEfficiency*> tmtt::Histos::teffAlgEffVsPhi_
protected

Definition at line 296 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffAlgEffVsZ0_

std::map<std::string, TEfficiency*> tmtt::Histos::teffAlgEffVsZ0_
protected

Definition at line 292 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffEffFitVsD0_

std::map<std::string, TEfficiency*> tmtt::Histos::teffEffFitVsD0_
protected

Definition at line 306 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffEffFitVsEta_

std::map<std::string, TEfficiency*> tmtt::Histos::teffEffFitVsEta_
protected

Definition at line 304 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffEffFitVsInvPt_

std::map<std::string, TEfficiency*> tmtt::Histos::teffEffFitVsInvPt_
protected

Definition at line 303 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffEffFitVsPhi_

std::map<std::string, TEfficiency*> tmtt::Histos::teffEffFitVsPhi_
protected

Definition at line 305 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffEffFitVsZ0_

std::map<std::string, TEfficiency*> tmtt::Histos::teffEffFitVsZ0_
protected

Definition at line 307 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffEffVsD0_

std::map<std::string, TEfficiency*> tmtt::Histos::teffEffVsD0_
protected

Definition at line 286 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffEffVsEta_

std::map<std::string, TEfficiency*> tmtt::Histos::teffEffVsEta_
protected

Definition at line 284 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffEffVsInvPt_

std::map<std::string, TEfficiency*> tmtt::Histos::teffEffVsInvPt_
protected

Definition at line 283 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffEffVsPhi_

std::map<std::string, TEfficiency*> tmtt::Histos::teffEffVsPhi_
protected

Definition at line 285 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffEffVsZ0_

std::map<std::string, TEfficiency*> tmtt::Histos::teffEffVsZ0_
protected

Definition at line 287 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffPerfAlgEffFitVsEta_

std::map<std::string, TEfficiency*> tmtt::Histos::teffPerfAlgEffFitVsEta_
protected

Definition at line 319 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffPerfAlgEffFitVsInvPt_

std::map<std::string, TEfficiency*> tmtt::Histos::teffPerfAlgEffFitVsInvPt_
protected

Definition at line 318 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffPerfAlgEffVsEta_

std::map<std::string, TEfficiency*> tmtt::Histos::teffPerfAlgEffVsEta_
protected

Definition at line 300 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffPerfAlgEffVsInvPt_

std::map<std::string, TEfficiency*> tmtt::Histos::teffPerfAlgEffVsInvPt_
protected

Definition at line 298 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffPerfAlgEffVsPt_

std::map<std::string, TEfficiency*> tmtt::Histos::teffPerfAlgEffVsPt_
protected

Definition at line 299 of file Histos.h.

◆ teffPerfEffFitVsEta_

std::map<std::string, TEfficiency*> tmtt::Histos::teffPerfEffFitVsEta_
protected

Definition at line 310 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffPerfEffFitVsInvPt_

std::map<std::string, TEfficiency*> tmtt::Histos::teffPerfEffFitVsInvPt_
protected

Definition at line 309 of file Histos.h.

Referenced by plotTrackEffAfterFit().

◆ teffPerfEffVsEta_

std::map<std::string, TEfficiency*> tmtt::Histos::teffPerfEffVsEta_
protected

Definition at line 290 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ teffPerfEffVsInvPt_

std::map<std::string, TEfficiency*> tmtt::Histos::teffPerfEffVsInvPt_
protected

Definition at line 289 of file Histos.h.

Referenced by plotTrackEfficiency().

◆ trackFitters_

std::vector<std::string> tmtt::Histos::trackFitters_
protected

Definition at line 126 of file Histos.h.

Referenced by bookTrackFitting(), endJobAnalysis(), fillTrackFitting(), and Histos().

◆ useRZfilter_

std::vector<std::string> tmtt::Histos::useRZfilter_
protected

Definition at line 127 of file Histos.h.

Referenced by Histos(), and printFitTrackPerformance().

tmtt::Histos::profMeanStubsPerLink_
std::map< std::string, TProfile * > profMeanStubsPerLink_
Definition: Histos.h:165
tmtt::Histos::hisKalmanChi2DofSkipLay0Matched_
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay0Matched_
Definition: Histos.h:236
tmtt::Histos::hisQoverPtResVsTrueInvPt_
std::map< std::string, TProfile * > hisQoverPtResVsTrueInvPt_
Definition: Histos.h:257
tmtt::Histos::bookEtaPhiSectors
virtual TFileDirectory bookEtaPhiSectors()
Definition: Histos.cc:369
tmtt::Histos::mapExtraAModuleTypeMaxR_
std::map< unsigned int, float > mapExtraAModuleTypeMaxR_
Definition: Histos.h:343
tmtt::Histos::hisKalmanChi2DofSkipLay0Unmatched_
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay0Unmatched_
Definition: Histos.h:239
alignBH_cfg.fixed
fixed
Definition: alignBH_cfg.py:54
tmtt::Histos::mapModuleTypeMinZ_
std::map< unsigned int, float > mapModuleTypeMinZ_
Definition: Histos.h:339
tmtt::Histos::hisRecoTPetaForAlgEff_
std::map< std::string, TH1F * > hisRecoTPetaForAlgEff_
Definition: Histos.h:206
tmtt::Histos::mapExtraDModuleTypeMaxR_
std::map< unsigned int, float > mapExtraDModuleTypeMaxR_
Definition: Histos.h:355
tmtt::Histos::hisFitChi2DofRphiMatched_
std::map< std::string, TH1F * > hisFitChi2DofRphiMatched_
Definition: Histos.h:243
tmtt::Histos::hisBendResStub_
TH1F * hisBendResStub_
Definition: Histos.h:144
mps_fire.i
i
Definition: mps_fire.py:355
tmtt::Histos::hisPerfFitTPinvptForAlgEff_
std::map< std::string, TH1F * > hisPerfFitTPinvptForAlgEff_
Definition: Histos.h:279
tmtt::Histos::hisEtaRes_
std::map< std::string, TH1F * > hisEtaRes_
Definition: Histos.h:179
tmtt::Histos::available
virtual bool available() const
Definition: Histos.h:59
tmtt::Histos::hisFitTPd0ForEff_
std::map< std::string, TH1F * > hisFitTPd0ForEff_
Definition: Histos.h:270
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
tmtt::Settings::numPhiNonants
unsigned int numPhiNonants() const
Definition: Settings.h:109
tmtt::Histos::ranRZfilter_
bool ranRZfilter_
Definition: Histos.h:128
tmtt::Histos::teffAlgEffVsD0_
std::map< std::string, TEfficiency * > teffAlgEffVsD0_
Definition: Histos.h:291
tmtt::Histos::hisRecoTPetaForEff_
std::map< std::string, TH1F * > hisRecoTPetaForEff_
Definition: Histos.h:197
tmtt::Histos::houghNbinsPt_
unsigned int houghNbinsPt_
Definition: Histos.h:123
tmtt::Histos::hisPerfRecoTPetaForEff_
std::map< std::string, TH1F * > hisPerfRecoTPetaForEff_
Definition: Histos.h:203
tmtt::Histos::mapExtraDModuleTypeMinR_
std::map< unsigned int, float > mapExtraDModuleTypeMinR_
Definition: Histos.h:354
tmtt::Utility::countLayers
unsigned int countLayers(const Settings *settings, const std::vector< const Stub * > &stubs, bool disableReducedLayerID=false, bool onlyPS=false)
Definition: Utility.cc:25
tmtt::Histos::hisFitZ0Matched_
std::map< std::string, TH1F * > hisFitZ0Matched_
Definition: Histos.h:226
tmtt::Histos::hisRecoTPinvptForAlgEff_
std::map< std::string, TH1F * > hisRecoTPinvptForAlgEff_
Definition: Histos.h:205
detailsBasic3DVector::z
float float float z
Definition: extBasic3DVector.h:14
tmtt::Histos::bookInputData
virtual TFileDirectory bookInputData()
Definition: Histos.cc:121
tmtt::Histos::teffAlgEffVsZ0_
std::map< std::string, TEfficiency * > teffAlgEffVsZ0_
Definition: Histos.h:292
reco::deltaPhi
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
tmtt::Histos::hisTPz0ForEff_
TH1F * hisTPz0ForEff_
Definition: Histos.h:187
tmtt::Histos::enabled
virtual bool enabled() const
Definition: Histos.h:62
TFileDirectory::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileDirectory.h:53
tmtt::Histos::hisFitTPphiForEff_
std::map< std::string, TH1F * > hisFitTPphiForEff_
Definition: Histos.h:269
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
cropTnPTrees.frac
frac
Definition: cropTnPTrees.py:18
ProducerES_cfi.TMTT
TMTT
Definition: ProducerES_cfi.py:29
tmtt::Histos::hisQoverPtRes_
std::map< std::string, TH1F * > hisQoverPtRes_
Definition: Histos.h:177
simpleEdmComparison.tName
tName
Definition: simpleEdmComparison.py:125
tmtt::Histos::mapModuleTypeMinR_
std::map< unsigned int, float > mapModuleTypeMinR_
Definition: Histos.h:337
tmtt::Histos::hisFracMatchStubsOnTracks_
std::map< std::string, TH1F * > hisFracMatchStubsOnTracks_
Definition: Histos.h:166
tmtt::Histos::makeEfficiencyPlot
virtual void makeEfficiencyPlot(TFileDirectory &inputDir, TEfficiency *outputEfficiency, TH1F *pass, TH1F *all, TString name, TString title)
Definition: Histos.cc:1465
tmtt::Histos::plotTrackletSeedEfficiency
virtual void plotTrackletSeedEfficiency()
Definition: Histos.h:94
DigiToRawDM_cff.TP
TP
Definition: DigiToRawDM_cff.py:51
tmtt::Histos::hisRecoTPd0ForEff_
std::map< std::string, TH1F * > hisRecoTPd0ForEff_
Definition: Histos.h:199
tmtt::Histos::teffPerfEffFitVsInvPt_
std::map< std::string, TEfficiency * > teffPerfEffFitVsInvPt_
Definition: Histos.h:309
tmtt::Histos::profStubsOnFitTracks_
std::map< std::string, TProfile * > profStubsOnFitTracks_
Definition: Histos.h:221
tmtt::Histos::hisFitTPetaForEff_
std::map< std::string, TH1F * > hisFitTPetaForEff_
Definition: Histos.h:268
tmtt::Histos::hisZ0Res_
std::map< std::string, TH1F * > hisZ0Res_
Definition: Histos.h:180
tmtt::Histos::teffPerfAlgEffFitVsInvPt_
std::map< std::string, TEfficiency * > teffPerfAlgEffFitVsInvPt_
Definition: Histos.h:318
TFileDirectory
Definition: TFileDirectory.h:24
tmtt::Histos::hisNumTrksPerNon_
std::map< std::string, TH1F * > hisNumTrksPerNon_
Definition: Histos.h:158
tmtt::Histos::profFitChi2DofRphiVsInvPtUnmatched_
std::map< std::string, TProfile * > profFitChi2DofRphiVsInvPtUnmatched_
Definition: Histos.h:249
tmtt::Histos::teffEffFitVsZ0_
std::map< std::string, TEfficiency * > teffEffFitVsZ0_
Definition: Histos.h:307
tmtt::Histos::teffAlgEffFitVsInvPt_
std::map< std::string, TEfficiency * > teffAlgEffFitVsInvPt_
Definition: Histos.h:312
tmtt::Histos::plotHybridDupRemovalEfficiency
virtual void plotHybridDupRemovalEfficiency()
Definition: Histos.h:96
tools.TF1
TF1
Definition: tools.py:23
tmtt::Histos::teffAlgEffFitVsZ0_
std::map< std::string, TEfficiency * > teffAlgEffFitVsZ0_
Definition: Histos.h:316
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
tmtt::Histos::numPhiSectors_
unsigned int numPhiSectors_
Definition: Histos.h:120
tmtt::Histos::teffPerfAlgEffFitVsEta_
std::map< std::string, TEfficiency * > teffPerfAlgEffFitVsEta_
Definition: Histos.h:319
python.cmstools.all
def all(container)
workaround iterator generators for ROOT classes
Definition: cmstools.py:26
tmtt::Histos::hisStubsOnTracksPerNon_
std::map< std::string, TH1F * > hisStubsOnTracksPerNon_
Definition: Histos.h:160
tmtt::Histos::mapExtraBModuleTypeMinZ_
std::map< unsigned int, float > mapExtraBModuleTypeMinZ_
Definition: Histos.h:348
tmtt::Histos::printFitTrackPerformance
virtual void printFitTrackPerformance(const std::string &fitName)
Definition: Histos.cc:1520
tmtt::Histos::hisTPd0ForAlgEff_
TH1F * hisTPd0ForAlgEff_
Definition: Histos.h:192
tmtt::Histos::houghMinPt_
float houghMinPt_
Definition: Histos.h:122
tmtt::Settings::rzFilterName
const std::string & rzFilterName() const
Definition: Settings.h:196
tmtt::Histos::profNumTracksVsEta_
std::map< std::string, TProfile * > profNumTracksVsEta_
Definition: Histos.h:156
tmtt::Histos::profDupTracksVsEta_
std::map< std::string, TProfile * > profDupTracksVsEta_
Definition: Histos.h:167
tmtt::Histos::hisNumPSLayersPerTP_
TH1F * hisNumPSLayersPerTP_
Definition: Histos.h:138
tmtt::Histos::bookTrackCands
virtual TFileDirectory bookTrackCands(const std::string &tName)
Definition: Histos.cc:471
tmtt::Histos::hisFitChi2DofRphiUnmatched_
std::map< std::string, TH1F * > hisFitChi2DofRphiUnmatched_
Definition: Histos.h:247
alignCSCRings.s
s
Definition: alignCSCRings.py:92
tmtt::Histos::hisRecoTPd0ForAlgEff_
std::map< std::string, TH1F * > hisRecoTPd0ForAlgEff_
Definition: Histos.h:208
tmtt::Histos::profNumTrackCands_
std::map< std::string, TProfile * > profNumTrackCands_
Definition: Histos.h:155
tmtt::Histos::hisNumLayersPerTP_
TH1F * hisNumLayersPerTP_
Definition: Histos.h:137
tmtt::Histos::hisPerfFitTPinvptForEff_
std::map< std::string, TH1F * > hisPerfFitTPinvptForEff_
Definition: Histos.h:272
tmtt::Histos::fillTrackCands
virtual void fillTrackCands(const InputData &inputData, const matrix< std::unique_ptr< Make3Dtracks >> &mMake3Dtrks, const std::string &tName)
tmtt::Histos::hisKalmanChi2DofSkipLay2Unmatched_
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay2Unmatched_
Definition: Histos.h:241
tmtt::Histos::oldSumW2opt_
bool oldSumW2opt_
Definition: Histos.h:131
tmtt::Histos::mapExtraCModuleTypeMaxR_
std::map< unsigned int, float > mapExtraCModuleTypeMaxR_
Definition: Histos.h:351
tmtt::Histos::mapExtraAModuleTypeMinZ_
std::map< unsigned int, float > mapExtraAModuleTypeMinZ_
Definition: Histos.h:344
tmtt::Histos::hisFitD0Unmatched_
std::map< std::string, TH1F * > hisFitD0Unmatched_
Definition: Histos.h:231
tmtt::Histos::hisKalmanNumUpdateCalls_
std::map< std::string, TH1F * > hisKalmanNumUpdateCalls_
Definition: Histos.h:235
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
tmtt::Histos::printTrackletSeedFindingPerformance
virtual void printTrackletSeedFindingPerformance()
Definition: Histos.h:109
tmtt::Histos::hisFitPhi0Unmatched_
std::map< std::string, TH1F * > hisFitPhi0Unmatched_
Definition: Histos.h:230
tmtt::Histos::hisFitTPphiForAlgEff_
std::map< std::string, TH1F * > hisFitTPphiForAlgEff_
Definition: Histos.h:276
tmtt::Histos::hisPerfRecoTPetaForAlgEff_
std::map< std::string, TH1F * > hisPerfRecoTPetaForAlgEff_
Definition: Histos.h:212
tmtt::Histos::graphBVsZoverR_
TGraph * graphBVsZoverR_
Definition: Histos.h:147
tmtt::Histos::teffAlgEffVsPhi_
std::map< std::string, TEfficiency * > teffAlgEffVsPhi_
Definition: Histos.h:296
tmtt::Histos::teffEffVsD0_
std::map< std::string, TEfficiency * > teffEffVsD0_
Definition: Histos.h:286
tmtt::Histos::hisFitEtaMatched_
std::map< std::string, TH1F * > hisFitEtaMatched_
Definition: Histos.h:227
tmtt::Histos::mapModuleTypeMaxZ_
std::map< unsigned int, float > mapModuleTypeMaxZ_
Definition: Histos.h:340
mutex
static boost::mutex mutex
Definition: Proxy.cc:9
tmtt::Histos::mapExtraBModuleTypeMaxZ_
std::map< unsigned int, float > mapExtraBModuleTypeMaxZ_
Definition: Histos.h:349
tmtt::Histos::hisTPinvptForEff_
TH1F * hisTPinvptForEff_
Definition: Histos.h:183
tmtt::Histos::hisFitTPd0ForAlgEff_
std::map< std::string, TH1F * > hisFitTPd0ForAlgEff_
Definition: Histos.h:277
tmtt::Histos::teffAlgEffVsInvPt_
std::map< std::string, TEfficiency * > teffAlgEffVsInvPt_
Definition: Histos.h:294
cmsswSequenceInfo.tp
tp
Definition: cmsswSequenceInfo.py:17
tmtt::Histos::profNumFitTracks_
std::map< std::string, TProfile * > profNumFitTracks_
Definition: Histos.h:216
tmtt::Histos::hisNumEtaSecsPerStub_
TH1F * hisNumEtaSecsPerStub_
Definition: Histos.h:150
tmtt::Histos::mapEndcapWheelMaxZ_
std::map< unsigned int, float > mapEndcapWheelMaxZ_
Definition: Histos.h:334
tmtt::Histos::teffPerfEffVsEta_
std::map< std::string, TEfficiency * > teffPerfEffVsEta_
Definition: Histos.h:290
tmtt::Histos::teffEffVsPhi_
std::map< std::string, TEfficiency * > teffEffVsPhi_
Definition: Histos.h:285
tmtt::Histos::hisTPetaForAlgEff_
TH1F * hisTPetaForAlgEff_
Definition: Histos.h:190
tmtt::Histos::hisKalmanChi2DofSkipLay1Unmatched_
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay1Unmatched_
Definition: Histos.h:240
tmtt::Histos::hisPerfRecoTPinvptForAlgEff_
std::map< std::string, TH1F * > hisPerfRecoTPinvptForAlgEff_
Definition: Histos.h:211
tmtt::Settings::bApprox_intercept
double bApprox_intercept() const
Definition: Settings.h:105
TFileService::mkdir
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
Definition: TFileService.h:69
tmtt::Histos::hisKalmanChi2DofSkipLay2Matched_
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay2Matched_
Definition: Histos.h:238
tmtt::Histos::teffEffFitVsInvPt_
std::map< std::string, TEfficiency * > teffEffFitVsInvPt_
Definition: Histos.h:303
tmtt::Histos::fillTrackFitting
virtual void fillTrackFitting(const InputData &inputData, const std::map< std::string, std::list< const L1fittedTrack * >> &mapFinalTracks)
Definition: Histos.cc:1030
tmtt::Histos::bookTrackFitting
virtual std::map< std::string, TFileDirectory > bookTrackFitting()
Definition: Histos.cc:866
tmtt::Histos::hisFitPhi0Matched_
std::map< std::string, TH1F * > hisFitPhi0Matched_
Definition: Histos.h:224
tmtt::Histos::hisFitChi2DofRzMatched_
std::map< std::string, TH1F * > hisFitChi2DofRzMatched_
Definition: Histos.h:244
tmtt::Histos::hisD0ResVsTrueInvPt_
std::map< std::string, TProfile * > hisD0ResVsTrueInvPt_
Definition: Histos.h:261
tmtt::Histos::hisStubsVsR_
TH1F * hisStubsVsR_
Definition: Histos.h:135
tmtt::Histos::hisTPinvptForAlgEff_
TH1F * hisTPinvptForAlgEff_
Definition: Histos.h:189
tmtt::Histos::hisFitTPinvptForEff_
std::map< std::string, TH1F * > hisFitTPinvptForEff_
Definition: Histos.h:267
KineDebug3::count
void count()
Definition: KinematicConstrainedVertexUpdatorT.h:21
tmtt::Histos::profDupTracksVsInvPt_
std::map< std::string, TProfile * > profDupTracksVsInvPt_
Definition: Histos.h:168
tmtt::Histos::hisEtaResVsTrueInvPt_
std::map< std::string, TProfile * > hisEtaResVsTrueInvPt_
Definition: Histos.h:259
tmtt::Histos::teffEffFitVsPhi_
std::map< std::string, TEfficiency * > teffEffFitVsPhi_
Definition: Histos.h:305
tmtt::Histos::fillEtaPhiSectors
virtual void fillEtaPhiSectors(const InputData &inputData, const matrix< std::unique_ptr< Sector >> &mSectors)
Definition: Histos.cc:386
tmtt::Histos::hisPhi0Res_
std::map< std::string, TH1F * > hisPhi0Res_
Definition: Histos.h:178
tmtt::Histos::useRZfilter_
std::vector< std::string > useRZfilter_
Definition: Histos.h:127
tmtt::Histos::hisLayersPerTrack_
std::map< std::string, TH1F * > hisLayersPerTrack_
Definition: Histos.h:162
tmtt::Histos::teffAlgEffVsEta_
std::map< std::string, TEfficiency * > teffAlgEffVsEta_
Definition: Histos.h:295
tmtt::Histos::hisStubIneffiVsEta_
TProfile * hisStubIneffiVsEta_
Definition: Histos.h:142
tmtt::Histos::houghNbinsPhi_
unsigned int houghNbinsPhi_
Definition: Histos.h:124
tmtt::Histos::hisStubsPerFitTrack_
std::map< std::string, TH1F * > hisStubsPerFitTrack_
Definition: Histos.h:220
tmtt::Histos::mapExtraCModuleTypeMinR_
std::map< unsigned int, float > mapExtraCModuleTypeMinR_
Definition: Histos.h:350
tmtt::Histos::hisFitChi2DofRzUnmatched_
std::map< std::string, TH1F * > hisFitChi2DofRzUnmatched_
Definition: Histos.h:248
tmtt::Histos::hisD0ResVsTrueEta_
std::map< std::string, TProfile * > hisD0ResVsTrueEta_
Definition: Histos.h:255
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:50
tmtt::Histos::mapBarrelLayerMinR_
std::map< unsigned int, float > mapBarrelLayerMinR_
Definition: Histos.h:330
tmtt::Histos::settings_
const Settings * settings_
Definition: Histos.h:118
tmtt::Histos::hisFitEtaUnmatched_
std::map< std::string, TH1F * > hisFitEtaUnmatched_
Definition: Histos.h:233
tmtt::Histos::hisPhi0ResVsTrueInvPt_
std::map< std::string, TProfile * > hisPhi0ResVsTrueInvPt_
Definition: Histos.h:258
HLT_2018_cff.nEta
nEta
Definition: HLT_2018_cff.py:5271
tmtt::Histos::hisNumTracksVsQoverPt_
std::map< std::string, TH1F * > hisNumTracksVsQoverPt_
Definition: Histos.h:157
tmtt::Histos::resPlotOpt_
bool resPlotOpt_
Definition: Histos.h:129
tmtt::Histos::mapExtraCModuleTypeMinZ_
std::map< unsigned int, float > mapExtraCModuleTypeMinZ_
Definition: Histos.h:352
tmtt::Histos::trackFitters_
std::vector< std::string > trackFitters_
Definition: Histos.h:126
tmtt::Histos::teffPerfEffVsInvPt_
std::map< std::string, TEfficiency * > teffPerfEffVsInvPt_
Definition: Histos.h:289
tmtt::Histos::hisNumFitTrksPerNon_
std::map< std::string, TH1F * > hisNumFitTrksPerNon_
Definition: Histos.h:218
tmtt::Histos::hisEtaResVsTrueEta_
std::map< std::string, TProfile * > hisEtaResVsTrueEta_
Definition: Histos.h:253
tmtt::Histos::bookRphiHT
virtual TFileDirectory bookRphiHT()
Definition: Histos.cc:437
tmtt::Histos::mapModuleTypeMaxR_
std::map< unsigned int, float > mapModuleTypeMaxR_
Definition: Histos.h:338
tmtt::Histos::hisTPphiForEff_
TH1F * hisTPphiForEff_
Definition: Histos.h:185
tmtt::Histos::hisFitTPetaForAlgEff_
std::map< std::string, TH1F * > hisFitTPetaForAlgEff_
Definition: Histos.h:275
tmtt::Histos::numEtaRegions_
unsigned int numEtaRegions_
Definition: Histos.h:121
EgammaValidation_cff.num
num
Definition: EgammaValidation_cff.py:34
tmtt::Histos::bApproxMistake_
bool bApproxMistake_
Definition: Histos.h:359
tmtt::Histos::mapExtraDModuleTypeMaxZ_
std::map< unsigned int, float > mapExtraDModuleTypeMaxZ_
Definition: Histos.h:357
tmtt::Histos::mapExtraAModuleTypeMaxZ_
std::map< unsigned int, float > mapExtraAModuleTypeMaxZ_
Definition: Histos.h:345
alignCSCRings.r
r
Definition: alignCSCRings.py:93
overlapproblemtsosanalyzer_cfi.title
title
Definition: overlapproblemtsosanalyzer_cfi.py:7
tmtt::Histos::hisTPetaForEff_
TH1F * hisTPetaForEff_
Definition: Histos.h:184
tmtt::Histos::teffEffVsZ0_
std::map< std::string, TEfficiency * > teffEffVsZ0_
Definition: Histos.h:287
tmtt::Histos::teffAlgEffFitVsEta_
std::map< std::string, TEfficiency * > teffAlgEffFitVsEta_
Definition: Histos.h:313
tmtt::Histos::hisPerfFitTPetaForEff_
std::map< std::string, TH1F * > hisPerfFitTPetaForEff_
Definition: Histos.h:273
tmtt::Histos::hisFitTPz0ForAlgEff_
std::map< std::string, TH1F * > hisFitTPz0ForAlgEff_
Definition: Histos.h:278
tmtt::Settings::useApproxB
bool useApproxB() const
Definition: Settings.h:103
tmtt::Histos::profFitChi2DofRphiVsInvPtMatched_
std::map< std::string, TProfile * > profFitChi2DofRphiVsInvPtMatched_
Definition: Histos.h:245
tmtt::Histos::hisPerfFitTPetaForAlgEff_
std::map< std::string, TH1F * > hisPerfFitTPetaForAlgEff_
Definition: Histos.h:280
tmtt::Histos::hisRecoTPinvptForEff_
std::map< std::string, TH1F * > hisRecoTPinvptForEff_
Definition: Histos.h:196
tmtt::Settings::enableHistos
bool enableHistos() const
Definition: Settings.h:42
tmtt::Histos::hisBendStub_
TH1F * hisBendStub_
Definition: Histos.h:143
tmtt::Histos::hisNumFitTrks_
std::map< std::string, TH1F * > hisNumFitTrks_
Definition: Histos.h:217
tmtt::Histos::hisTPphiForAlgEff_
TH1F * hisTPphiForAlgEff_
Definition: Histos.h:191
tmtt::Histos::genMinStubLayers_
unsigned int genMinStubLayers_
Definition: Histos.h:119
tmtt::Histos::hisFitTPz0ForEff_
std::map< std::string, TH1F * > hisFitTPz0ForEff_
Definition: Histos.h:271
tmtt::Histos::hisStubIneffiVsInvPt_
TProfile * hisStubIneffiVsInvPt_
Definition: Histos.h:141
tmtt::Histos::mapExtraDModuleTypeMinZ_
std::map< unsigned int, float > mapExtraDModuleTypeMinZ_
Definition: Histos.h:356
tmtt::Histos::mapExtraBModuleTypeMinR_
std::map< unsigned int, float > mapExtraBModuleTypeMinR_
Definition: Histos.h:346
tmtt::Histos::hisNumStubsPerLink_
std::map< std::string, TH1F * > hisNumStubsPerLink_
Definition: Histos.h:164
tmtt::Histos::hisRecoTPz0ForAlgEff_
std::map< std::string, TH1F * > hisRecoTPz0ForAlgEff_
Definition: Histos.h:209
tmtt::Histos::hisRecoTPphiForAlgEff_
std::map< std::string, TH1F * > hisRecoTPphiForAlgEff_
Definition: Histos.h:207
tmtt::Histos::hisFitQinvPtUnmatched_
std::map< std::string, TH1F * > hisFitQinvPtUnmatched_
Definition: Histos.h:229
tmtt::Histos::mapExtraCModuleTypeMaxZ_
std::map< unsigned int, float > mapExtraCModuleTypeMaxZ_
Definition: Histos.h:353
tmtt::Histos::bookRZfilters
virtual TFileDirectory bookRZfilters()
Definition: Histos.cc:455
tmtt::Histos::hisZ0ResVsTrueEta_
std::map< std::string, TProfile * > hisZ0ResVsTrueEta_
Definition: Histos.h:254
tmtt::Histos::hisFitTPinvptForAlgEff_
std::map< std::string, TH1F * > hisFitTPinvptForAlgEff_
Definition: Histos.h:274
tmtt::Histos::hisStubsVsEta_
TH1F * hisStubsVsEta_
Definition: Histos.h:134
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
tmtt::Histos::hisQoverPt_
std::map< std::string, TH1F * > hisQoverPt_
Definition: Histos.h:171
tmtt::Settings::hybrid
bool hybrid() const
Definition: Settings.h:407
tmtt::Histos::mapExtraAModuleTypeMinR_
std::map< unsigned int, float > mapExtraAModuleTypeMinR_
Definition: Histos.h:342
tmtt::Histos::teffEffVsEta_
std::map< std::string, TEfficiency * > teffEffVsEta_
Definition: Histos.h:284
tmtt::Histos::fillRZfilters
virtual void fillRZfilters(const matrix< std::unique_ptr< Make3Dtracks >> &mMake3Dtrks)
Definition: Histos.cc:463
tmtt::Histos::teffAlgEffFitVsPhi_
std::map< std::string, TEfficiency * > teffAlgEffFitVsPhi_
Definition: Histos.h:314
tmtt::Histos::hisKalmanChi2DofSkipLay1Matched_
std::map< std::string, TH1F * > hisKalmanChi2DofSkipLay1Matched_
Definition: Histos.h:237
tmtt::Histos::hisPhi0ResVsTrueEta_
std::map< std::string, TProfile * > hisPhi0ResVsTrueEta_
Definition: Histos.h:252
tmtt::Histos::teffPerfEffFitVsEta_
std::map< std::string, TEfficiency * > teffPerfEffFitVsEta_
Definition: Histos.h:310
tmtt::Histos::hisStubsPerTrack_
std::map< std::string, TH1F * > hisStubsPerTrack_
Definition: Histos.h:161
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
tmtt::Histos::hisQoverPtResVsTrueEta_
std::map< std::string, TProfile * > hisQoverPtResVsTrueEta_
Definition: Histos.h:251
tmtt::Histos::profDupFitTrksVsInvPt_
std::map< std::string, TProfile * > profDupFitTrksVsInvPt_
Definition: Histos.h:264
tmtt::Histos::mapEndcapWheelMinZ_
std::map< unsigned int, float > mapEndcapWheelMinZ_
Definition: Histos.h:333
tmtt::Histos::printHybridDupRemovalPerformance
virtual void printHybridDupRemovalPerformance()
Definition: Histos.h:112
tmtt::Histos::profDupFitTrksVsEta_
std::map< std::string, TProfile * > profDupFitTrksVsEta_
Definition: Histos.h:263
tmtt::Histos::hisTPz0ForAlgEff_
TH1F * hisTPz0ForAlgEff_
Definition: Histos.h:193
tmtt::Histos::hisZ0_
std::map< std::string, TH1F * > hisZ0_
Definition: Histos.h:174
tmtt::Histos::plotTrackEffAfterFit
virtual TFileDirectory plotTrackEffAfterFit(const std::string &fitName)
Definition: Histos.cc:1364
tmtt::Histos::plotTrackEfficiency
virtual TFileDirectory plotTrackEfficiency(const std::string &tName)
Definition: Histos.cc:1259
tmtt::Histos::printTrackPerformance
virtual void printTrackPerformance(const std::string &tName)
Definition: Histos.cc:1474
tmtt::Histos::fillRphiHT
virtual void fillRphiHT(const matrix< std::unique_ptr< HTrphi >> &mHtRphis)
Definition: Histos.cc:445
tmtt::Histos::hisFitZ0Unmatched_
std::map< std::string, TH1F * > hisFitZ0Unmatched_
Definition: Histos.h:232
tmtt::Histos::hisNumPhiSecsPerStub_
TH1F * hisNumPhiSecsPerStub_
Definition: Histos.h:151
tmtt::Histos::hisRecoTPphiForEff_
std::map< std::string, TH1F * > hisRecoTPphiForEff_
Definition: Histos.h:198
tmtt::Histos::teffAlgEffFitVsD0_
std::map< std::string, TEfficiency * > teffAlgEffFitVsD0_
Definition: Histos.h:315
tmtt::Settings::bApprox_gradient
double bApprox_gradient() const
Definition: Settings.h:104
tmtt::Histos::hisFitQinvPtMatched_
std::map< std::string, TH1F * > hisFitQinvPtMatched_
Definition: Histos.h:223
tmtt::Histos::hisStubKillFE_
TProfile * hisStubKillFE_
Definition: Histos.h:140
HLTSiStripMonitoring_cff.nSigma
nSigma
Definition: HLTSiStripMonitoring_cff.py:151
tmtt::Histos::fillInputData
virtual void fillInputData(const InputData &inputData)
Definition: Histos.cc:164
tmtt::Histos::hisFitD0Matched_
std::map< std::string, TH1F * > hisFitD0Matched_
Definition: Histos.h:225
tmtt::Histos::fs_
edm::Service< TFileService > fs_
Definition: Histos.h:112
tmtt::Histos::teffPerfAlgEffVsInvPt_
std::map< std::string, TEfficiency * > teffPerfAlgEffVsInvPt_
Definition: Histos.h:298
tmtt::Histos::hisPhi0_
std::map< std::string, TH1F * > hisPhi0_
Definition: Histos.h:172
tmtt::Histos::teffEffVsInvPt_
std::map< std::string, TEfficiency * > teffEffVsInvPt_
Definition: Histos.h:283
tmtt::Histos::hisPerfRecoTPinvptForEff_
std::map< std::string, TH1F * > hisPerfRecoTPinvptForEff_
Definition: Histos.h:202
tmtt::Histos::profStubsOnTracks_
std::map< std::string, TProfile * > profStubsOnTracks_
Definition: Histos.h:159
tmtt::Histos::mapExtraBModuleTypeMaxR_
std::map< unsigned int, float > mapExtraBModuleTypeMaxR_
Definition: Histos.h:347
tmtt::Histos::teffPerfAlgEffVsEta_
std::map< std::string, TEfficiency * > teffPerfAlgEffVsEta_
Definition: Histos.h:300
tmtt::Histos::mapBarrelLayerMaxR_
std::map< unsigned int, float > mapBarrelLayerMaxR_
Definition: Histos.h:331
tmtt::Histos::hisTPd0ForEff_
TH1F * hisTPd0ForEff_
Definition: Histos.h:186
tmtt::Histos::hisZ0ResVsTrueInvPt_
std::map< std::string, TProfile * > hisZ0ResVsTrueInvPt_
Definition: Histos.h:260
tmtt::Histos::teffEffFitVsEta_
std::map< std::string, TEfficiency * > teffEffFitVsEta_
Definition: Histos.h:304
tmtt::Histos::teffEffFitVsD0_
std::map< std::string, TEfficiency * > teffEffFitVsD0_
Definition: Histos.h:306
tmtt::Histos::chosenRofZ_
float chosenRofZ_
Definition: Histos.h:125
tmtt::Histos::hisNumStubsPerSec_
TH1F * hisNumStubsPerSec_
Definition: Histos.h:152
tmtt::Histos::hisRecoTPz0ForEff_
std::map< std::string, TH1F * > hisRecoTPz0ForEff_
Definition: Histos.h:200
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
tmtt::Histos::hisEta_
std::map< std::string, TH1F * > hisEta_
Definition: Histos.h:173