1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
#ifndef MuonSeedsAnalyzer_H
#define MuonSeedsAnalyzer_H
/** \class MuonSeedsAnalyzer
*
* DQM monitoring source for muon track seeds
*
* \author G. Mila - INFN Torino
*/
#include <memory>
#include <fstream>
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ServiceRegistry/interface/Service.h"
#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h"
#include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
#include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
class TrajectoryStateOnSurface;
class TrajectorySeed;
class MuonServiceProxy;
class MuonSeedsAnalyzer : public DQMEDAnalyzer {
public:
/// Constructor
MuonSeedsAnalyzer(const edm::ParameterSet&);
/// Destructor
~MuonSeedsAnalyzer() override;
void analyze(const edm::Event&, const edm::EventSetup&) override;
void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
private:
// ----------member data ---------------------------
MuonServiceProxy* theService;
edm::ParameterSet parameters;
// ------- Data ----
edm::EDGetTokenT<TrajectorySeedCollection> theSeedsCollectionLabel_;
// Switch for verbosity
std::string metname;
//histo binning parameters
int seedHitBin;
double seedHitMin;
double seedHitMax;
int PhiBin;
double PhiMin;
double PhiMax;
int EtaBin;
double EtaMin;
double EtaMax;
int ThetaBin;
double ThetaMin;
double ThetaMax;
int Chi2Bin;
double Chi2Min;
double Chi2Max;
int seedPtBin;
double seedPtMin;
double seedPtMax;
int seedPxyzBin;
double seedPxyzMin;
double seedPxyzMax;
int pErrBin;
double pErrMin;
double pErrMax;
int pxyzErrBin;
double pxyzErrMin;
double pxyzErrMax;
int phiErrBin;
double phiErrMin;
double phiErrMax;
int etaErrBin;
double etaErrMin;
double etaErrMax;
//the histos
MonitorElement* NumberOfRecHitsPerSeed;
MonitorElement* seedPhi;
MonitorElement* seedEta;
MonitorElement* seedTheta;
MonitorElement* seedPt;
MonitorElement* seedPx;
MonitorElement* seedPy;
MonitorElement* seedPz;
MonitorElement* seedPtErr;
MonitorElement* seedPtErrVsPhi;
MonitorElement* seedPtErrVsEta;
MonitorElement* seedPtErrVsPt;
MonitorElement* seedPxErr;
MonitorElement* seedPyErr;
MonitorElement* seedPzErr;
MonitorElement* seedPErr;
MonitorElement* seedPErrVsPhi;
MonitorElement* seedPErrVsEta;
MonitorElement* seedPErrVsPt;
MonitorElement* seedPhiErr;
MonitorElement* seedEtaErr;
};
#endif
|