CMS 3D CMS Logo

AnalysisSettings.h
Go to the documentation of this file.
1 #ifndef __L1Trigger_VertexFinder_AnalysisSettings_h__
2 #define __L1Trigger_VertexFinder_AnalysisSettings_h__
3 
8 
9 #include <algorithm>
10 #include <functional>
11 #include <vector>
12 
13 namespace l1tVertexFinder {
14 
15  class AnalysisSettings : public AlgoSettings {
16  public:
17  AnalysisSettings(const edm::ParameterSet& iConfig);
19 
20  //=== Cuts on MC truth tracks for tracking efficiency measurements.
21 
22  double genMinPt() const { return genMinPt_; }
23  double genMaxAbsEta() const { return genMaxAbsEta_; }
24  double genMaxVertR() const { return genMaxVertR_; }
25  double genMaxVertZ() const { return genMaxVertZ_; }
26  const std::vector<int>& genPdgIds(bool all = false) const { return (all ? genPdgIdsAll_ : genPdgIds_); }
27  // Additional cut on MC truth tracks for algorithmic tracking efficiency measurements.
28  unsigned int genMinStubLayers() const { return genMinStubLayers_; } // Min. number of layers TP made stub in.
29 
30  //=== Selection of MC truth tracks.
32  const TrackingParticleSelector& tpsUse() const { return tpSelectorUse_; }
34 
35  //=== Rules for deciding when the track finding has found an L1 track candidate
36 
37  // Define layers using layer ID (true) or by bins in radius of 5 cm width (false)?
38  bool useLayerID() const { return useLayerID_; }
39 
40  //=== Rules for deciding when a reconstructed L1 track matches a MC truth particle (i.e. tracking particle).
41 
42  //--- Three different ways to define if a tracking particle matches a reco track candidate. (Usually, set two of them to ultra loose).
43  // Min. fraction of matched stubs relative to number of stubs on reco track.
45  // Min. fraction of matched stubs relative to number of stubs on tracking particle.
46  double minFracMatchStubsOnTP() const { return minFracMatchStubsOnTP_; }
47  // Min. number of matched layers & min. number of matched PS layers..
48  unsigned int minNumMatchLayers() const { return minNumMatchLayers_; }
49  unsigned int minNumMatchPSLayers() const { return minNumMatchPSLayers_; }
50  // Associate stub to TP only if the TP contributed to both its clusters? (If False, then associate even if only one cluster was made by TP).
51  bool stubMatchStrict() const { return stubMatchStrict_; }
52 
53  private:
54  // Parameter sets for differents types of configuration parameter.
58 
59  // Cuts on truth tracking particles.
60  double genMinPt_;
61  double genMaxAbsEta_;
62  double genMaxVertR_;
63  double genMaxVertZ_;
64  std::vector<int> genPdgIds_;
65  std::vector<int> genPdgIdsAll_;
66  unsigned int genMinStubLayers_;
67 
68  // Rules for deciding when the track-finding has found an L1 track candidate
70 
71  // Rules for deciding when a reconstructed L1 track matches a MC truth particle (i.e. tracking particle).
74  unsigned int minNumMatchLayers_;
75  unsigned int minNumMatchPSLayers_;
77 
78  // Track Fitting Settings
79  std::vector<std::string> trackFitters_;
82  unsigned int numTrackFitIterations_;
86 
87  // Tracking particle selectors
91  };
92 
93 } // end namespace l1tVertexFinder
94 
95 #endif
AnalysisSettings(const edm::ParameterSet &iConfig)
=== Get configuration parameters
def all(container)
workaround iterator generators for ROOT classes
Definition: cmstools.py:25
const std::vector< int > & genPdgIds(bool all=false) const
TrackingParticleSelector tpSelectorUseForVtxReco_
const TrackingParticleSelector & tpsUseForVtxReco() const
TrackingParticleSelector tpSelectorUseForEff_
TrackingParticleSelector tpSelectorUse_
const TrackingParticleSelector & tpsUse() const
unsigned int minNumMatchLayers() const
const TrackingParticleSelector & tpsUseForEff() const
unsigned int genMinStubLayers() const
std::vector< std::string > trackFitters_
unsigned int minNumMatchPSLayers() const