41 theSeedsCollectionLabel_ = consumes<TrajectorySeedCollection>(
parameters.getParameter<
InputTag>(
"SeedCollection"));
43 seedHitBin =
parameters.getParameter<
int>(
"RecHitBin");
44 seedHitMin =
parameters.getParameter<
double>(
"RecHitMin");
45 seedHitMax =
parameters.getParameter<
double>(
"RecHitMax");
46 PhiBin =
parameters.getParameter<
int>(
"PhiBin");
47 PhiMin =
parameters.getParameter<
double>(
"PhiMin");
48 PhiMax =
parameters.getParameter<
double>(
"PhiMax");
49 EtaBin =
parameters.getParameter<
int>(
"EtaBin");
52 ThetaBin =
parameters.getParameter<
int>(
"ThetaBin");
53 ThetaMin =
parameters.getParameter<
double>(
"ThetaMin");
54 ThetaMax =
parameters.getParameter<
double>(
"ThetaMax");
55 seedPtBin =
parameters.getParameter<
int>(
"seedPtBin");
56 seedPtMin =
parameters.getParameter<
double>(
"seedPtMin");
57 seedPtMax =
parameters.getParameter<
double>(
"seedPtMax");
58 seedPxyzBin =
parameters.getParameter<
int>(
"seedPxyzBin");
59 seedPxyzMin =
parameters.getParameter<
double>(
"seedPxyzMin");
60 seedPxyzMax =
parameters.getParameter<
double>(
"seedPxyzMax");
61 pErrBin =
parameters.getParameter<
int>(
"pErrBin");
62 pErrMin =
parameters.getParameter<
double>(
"pErrMin");
63 pErrMax =
parameters.getParameter<
double>(
"pErrMax");
64 pxyzErrBin =
parameters.getParameter<
int>(
"pxyzErrBin");
65 pxyzErrMin =
parameters.getParameter<
double>(
"pxyzErrMin");
66 pxyzErrMax =
parameters.getParameter<
double>(
"pxyzErrMax");
67 phiErrBin =
parameters.getParameter<
int>(
"phiErrBin");
68 phiErrMin =
parameters.getParameter<
double>(
"phiErrMin");
69 phiErrMax =
parameters.getParameter<
double>(
"phiErrMax");
70 etaErrBin =
parameters.getParameter<
int>(
"etaErrBin");
71 etaErrMin =
parameters.getParameter<
double>(
"etaErrMin");
72 etaErrMax =
parameters.getParameter<
double>(
"etaErrMax");
79 string histname =
"NumberOfRecHitsPerSeed_";
80 NumberOfRecHitsPerSeed = ibooker.
book1D(histname,
"Number of seed recHits", seedHitBin, seedHitMin, seedHitMax);
82 histname =
"seedPhi_";
83 seedPhi = ibooker.
book1D(histname,
"Seed #phi", PhiBin, PhiMin, PhiMax);
86 histname =
"seedEta_";
89 histname =
"seedTheta_";
90 seedTheta = ibooker.
book1D(histname,
"Seed #theta", ThetaBin, ThetaMin, ThetaMax);
94 seedPt = ibooker.
book1D(histname,
"Seed p_{t}", seedPtBin, seedPtMin, seedPtMax);
98 seedPx = ibooker.
book1D(histname,
"Seed p_{x}", seedPxyzBin, seedPxyzMin, seedPxyzMax);
100 histname =
"seedPy_";
101 seedPy = ibooker.
book1D(histname,
"Seed p_{y}", seedPxyzBin, seedPxyzMin, seedPxyzMax);
103 histname =
"seedPz_";
104 seedPz = ibooker.
book1D(histname,
"Seed p_{z}", seedPxyzBin, seedPxyzMin, seedPxyzMax);
107 histname =
"seedPtErrOverPt_";
108 seedPtErr = ibooker.
book1D(histname,
"Seed p_{t}Err/p_{t}", pErrBin, pErrMin, pErrMax);
109 histname =
"seedPtErrOverPtVsPhi_";
111 ibooker.
book2D(histname,
"Seed p_{t}Err/p_{t} vs #phi", PhiBin, PhiMin, PhiMax, pErrBin, pErrMin, pErrMax);
113 histname =
"seedPtErrOverPtVsEta_";
115 ibooker.
book2D(histname,
"Seed p_{t}Err/p_{t} vs #eta", EtaBin,
EtaMin,
EtaMax, pErrBin, pErrMin, pErrMax);
116 histname =
"seedPtErrOverPtVsPt_";
117 seedPtErrVsPt = ibooker.
book2D(
118 histname,
"Seed p_{t}Err/p_{t} vs p_{t}", seedPtBin / 5, seedPtMin, seedPtMax, pErrBin, pErrMin, pErrMax);
120 histname =
"seedPErrOverP_";
121 seedPErr = ibooker.
book1D(histname,
"Seed pErr/p", pErrBin, pErrMin, pErrMax);
122 histname =
"seedPErrOverPVsPhi_";
123 seedPErrVsPhi = ibooker.
book2D(histname,
"Seed pErr/p vs #phi", PhiBin, PhiMin, PhiMax, pErrBin, pErrMin, pErrMax);
125 histname =
"seedPErrOverPVsEta_";
126 seedPErrVsEta = ibooker.
book2D(histname,
"Seed pErr/p vs #eta", EtaBin,
EtaMin,
EtaMax, pErrBin, pErrMin, pErrMax);
127 histname =
"seedPErrOverPVsPt_";
129 ibooker.
book2D(histname,
"Seed pErr/p vs p_{t}", seedPtBin / 5, seedPtMin, seedPtMax, pErrBin, pErrMin, pErrMax);
132 histname =
"seedPxErrOverPx_";
133 seedPxErr = ibooker.
book1D(histname,
"Seed p_{x}Err/p_{x}", pxyzErrBin, pxyzErrMin, pxyzErrMax);
134 histname =
"seedPyErrOverPy_";
135 seedPyErr = ibooker.
book1D(histname,
"Seed p_{y}Err/p_{y}", pxyzErrBin, pxyzErrMin, pxyzErrMax);
136 histname =
"seedPzErrOverPz_";
137 seedPzErr = ibooker.
book1D(histname,
"Seed p_{z}Err/p_{z}", pxyzErrBin, pxyzErrMin, pxyzErrMax);
139 histname =
"seedPhiErr_";
140 seedPhiErr = ibooker.
book1D(histname,
"Seed #phi error", phiErrBin, phiErrMin, phiErrMax);
142 histname =
"seedEtaErr_";
143 seedEtaErr = ibooker.
book1D(histname,
"Seed #eta error", etaErrBin, etaErrMin, etaErrMax);
147 theService->update(iSetup);
151 iEvent.
getByToken(theSeedsCollectionLabel_, seeds);
157 for (TrajectorySeedCollection::const_iterator
seed = seeds->begin();
seed != seeds->end(); ++
seed) {
165 const GeomDet* gdet = theService->trackingGeometry()->idToDet(seedDetId);
169 double partialPterror =
176 NumberOfRecHitsPerSeed->Fill(
seed->nHits());
~MuonSeedsAnalyzer() override
Destructor.
virtual void setCurrentFolder(std::string const &fullpath)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const std::string metname
const CurvilinearTrajectoryError & curvilinearError() const
Sin< T >::type sin(const T &t)
Geom::Phi< T > phi() const
const CartesianTrajectoryError cartesianError() const
Geom::Theta< T > theta() const
Abs< T >::type abs(const T &t)
unsigned int detId() const
const double EtaMin[kNumberCalorimeter]
const AlgebraicSymMatrix66 & matrix() const
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
void analyze(const edm::Event &, const edm::EventSetup &) override
const AlgebraicSymMatrix55 & matrix() const
GlobalVector globalMomentum() const
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Power< A, B >::type pow(const A &a, const B &b)
MuonSeedsAnalyzer(const edm::ParameterSet &)
Constructor.
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)