CMS 3D CMS Logo

MuonAlignment.h
Go to the documentation of this file.
1 #ifndef MuonAlignment_H
2 #define MuonAlignment_H
3 
21 
29 
36 
45 
49 
52 
53 namespace edm {
54  class ParameterSet;
55  class EventSetup;
56  class InputTag;
57 } // namespace edm
58 
59 class TH1F;
60 
61 typedef std::vector<std::vector<int>> intDVector;
62 typedef std::vector<TrackingRecHit *> RecHitVector;
63 
64 class MuonAlignment : public edm::EDAnalyzer {
65 public:
68 
70  ~MuonAlignment() override;
71 
73  void beginJob() override;
74 
76  void analyze(const edm::Event &, const edm::EventSetup &) override;
77 
79  void endJob(void) override;
80 
81 private:
82  // ----------member data ---------------------------
83 
85 
90 
99 
104 
113 
115 
116  // Switch for verbosity
118 
119  RecHitVector doMatching(const reco::Track &,
122  intDVector *,
123  intDVector *,
125 
126  // Muon Track Label
128 
130 
132 
134 
135  // residual histos residual range
136  double resLocalXRangeStation1, resLocalXRangeStation2, resLocalXRangeStation3, resLocalXRangeStation4;
137  double resLocalYRangeStation1, resLocalYRangeStation2, resLocalYRangeStation3, resLocalYRangeStation4;
138  double resPhiRange, resThetaRange;
139 
140  // mean and rms histos ranges
141  double meanPositionRange, rmsPositionRange, meanAngleRange, rmsAngleRange;
142 
143  // quality cuts for tracks and number of bins for residual histos
144  unsigned int nbins, min1DTrackRecHitSize, min4DTrackSegmentSize;
145 
146  // flags to decide on subdetector and summary histograms
148 
149  // variables used
150  // Propagator * thePropagator;
151 
152  // Vector of chambers Residuals
153  std::vector<MonitorElement *> unitsLocalX;
154  std::vector<MonitorElement *> unitsLocalPhi;
155  std::vector<MonitorElement *> unitsLocalTheta;
156  std::vector<MonitorElement *> unitsLocalY;
157 
158  // Counters
161 
162  // Top folder in root file
164  std::stringstream topFolder;
165 };
166 #endif
MonitorElement * hLocalPhiRmsDT
Definition: MuonAlignment.h:96
edm::EDGetTokenT< CSCSegmentCollection > theRecHits4DTagCSC
std::vector< MonitorElement * > unitsLocalX
MonitorElement * hLocalPositionRmsDT
Definition: MuonAlignment.h:87
MonitorElement * hLocalThetaMeanCSC
MonitorElement * hLocalYMeanDT
Definition: MuonAlignment.h:93
MonitorElement * hLocalPhiRmsCSC
DQMStore * dbe
Definition: MuonAlignment.h:84
bool doCSC
Definition: align_cfg.py:40
MonitorElement * hLocalYRmsCSC
MonitorElement * hLocalPositionCSC
MonitorElement * hLocalXMeanDT
Definition: MuonAlignment.h:91
std::string trackRefitterType
MonitorElement * hLocalPhiMeanDT
Definition: MuonAlignment.h:95
bool doDT
Definition: align_cfg.py:39
edm::EDGetTokenT< reco::TrackCollection > theMuonCollectionLabel
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< TrackingRecHit * > RecHitVector
double resThetaRange
void beginJob()
Definition: Breakpoints.cc:14
MonitorElement * hLocalAngleRmsCSC
edm::ParameterSet parameters
std::string MEFolderName
MonitorElement * hLocalAngleRmsDT
Definition: MuonAlignment.h:89
std::string metname
MonitorElement * hLocalAngleDT
Definition: MuonAlignment.h:88
MonitorElement * hLocalThetaRmsDT
Definition: MuonAlignment.h:98
std::vector< MonitorElement * > unitsLocalTheta
MonitorElement * hLocalYRmsDT
Definition: MuonAlignment.h:94
MonitorElement * hLocalThetaRmsCSC
MonitorElement * hLocalXMeanCSC
MonitorElement * hLocalYMeanCSC
unsigned int nbins
std::vector< MonitorElement * > unitsLocalPhi
double rmsPositionRange
std::vector< std::vector< int > > intDVector
std::vector< MonitorElement * > unitsLocalY
MonitorElement * hLocalPhiMeanCSC
std::vector< TrackingRecHit * > RecHitVector
Definition: MuonAlignment.h:62
edm::EDGetTokenT< DTRecSegment4DCollection > theRecHits4DTagDT
std::vector< std::vector< int > > intDVector
Definition: MuonAlignment.h:59
MonitorElement * hLocalAngleCSC
MonitorElement * hLocalXRmsDT
Definition: MuonAlignment.h:92
double resLocalYRangeStation4
HLT enums.
MonitorElement * hLocalPositionRmsCSC
MonitorElement * hLocalXRmsCSC
std::stringstream topFolder
MonitorElement * hLocalThetaMeanDT
Definition: MuonAlignment.h:97
MonitorElement * hLocalPositionDT
Definition: MuonAlignment.h:86
double resLocalXRangeStation4