30 theMuonCollectionLabel_ = consumes<reco::MuonCollection>(
parameters.getParameter<
InputTag>(
"MuonCollection"));
33 emNoBin =
parameters.getParameter<
int>(
"emSizeBin");
34 emNoMin =
parameters.getParameter<
double>(
"emSizeMin");
35 emNoMax =
parameters.getParameter<
double>(
"emSizeMax");
37 hadNoBin =
parameters.getParameter<
int>(
"hadSizeBin");
38 hadNoMin =
parameters.getParameter<
double>(
"hadSizeMin");
39 hadNoMax =
parameters.getParameter<
double>(
"hadSizeMax");
41 emS9NoBin =
parameters.getParameter<
int>(
"emS9SizeBin");
42 emS9NoMin =
parameters.getParameter<
double>(
"emS9SizeMin");
43 emS9NoMax =
parameters.getParameter<
double>(
"emS9SizeMax");
45 hadS9NoBin =
parameters.getParameter<
int>(
"hadS9SizeBin");
46 hadS9NoMin =
parameters.getParameter<
double>(
"hadS9SizeMin");
47 hadS9NoMax =
parameters.getParameter<
double>(
"hadS9SizeMax");
49 hoNoBin =
parameters.getParameter<
int>(
"hoSizeBin");
50 hoNoMin =
parameters.getParameter<
double>(
"hoSizeMin");
51 hoNoMax =
parameters.getParameter<
double>(
"hoSizeMax");
53 hoS9NoBin =
parameters.getParameter<
int>(
"hoS9SizeBin");
54 hoS9NoMin =
parameters.getParameter<
double>(
"hoS9SizeMin");
55 hoS9NoMax =
parameters.getParameter<
double>(
"hoS9SizeMax");
64 std::string histname =
"ecalDepositedEnergyBarrel_";
66 ibooker.
book1D(histname +
AlgoName,
"Energy deposited in the ECAL barrel cells", emNoBin, emNoMin, emNoMax);
69 histname =
"ecalDepositedEnergyEndcap_";
71 ibooker.
book1D(histname +
AlgoName,
"Energy deposited in the ECAL endcap cells", emNoBin, emNoMin, emNoMax);
74 histname =
"ecalS9DepositedEnergyBarrel_";
75 ecalS9DepEnergyBarrel = ibooker.
book1D(
76 histname +
AlgoName,
"Energy deposited in the ECAL barrel 3*3 towers", emS9NoBin, emS9NoMin, emS9NoMax);
78 histname =
"ecalS9DepositedEnergyEndcap_";
79 ecalS9DepEnergyEndcap = ibooker.
book1D(
80 histname +
AlgoName,
"Energy deposited in the ECAL endcap 3*3 towers", emS9NoBin, emS9NoMin, emS9NoMax);
82 histname =
"ecalS9PointingMuDepositedEnergy_Glb_";
83 ecalS9PointingMuDepEnergy_Glb = ibooker.
book1D(histname +
AlgoName,
84 "Pointing glb muons energy deposited in the ECAL 3*3 towers",
89 histname =
"ecalS9PointingMuDepositedEnergy_Tk_";
90 ecalS9PointingMuDepEnergy_Tk = ibooker.
book1D(
91 histname +
AlgoName,
"Pointing tk muons energy deposited in the ECAL 3*3 towers", emS9NoBin, emS9NoMin, emS9NoMax);
93 histname =
"ecalS9PointingMuDepositedEnergy_Sta_";
94 ecalS9PointingMuDepEnergy_Sta = ibooker.
book1D(histname +
AlgoName,
95 "Pointing sta muons energy deposited in the ECAL 3*3 towers",
101 histname =
"hadDepositedEnergyBarrel_";
102 hcalDepEnergyBarrel =
103 ibooker.
book1D(histname +
AlgoName,
"Energy deposited in the HCAL barrel cells", hadNoBin, hadNoMin, hadNoMax);
105 histname =
"hadDepositedEnergyEndcap_";
106 hcalDepEnergyEndcap =
107 ibooker.
book1D(histname +
AlgoName,
"Energy deposited in the HCAL endcap cells", hadNoBin, hadNoMin, hadNoMax);
110 histname =
"hadS9DepositedEnergyBarrel_";
111 hcalS9DepEnergyBarrel = ibooker.
book1D(
112 histname +
AlgoName,
"Energy deposited in the HCAL barrel 3*3 towers", hadS9NoBin, hadS9NoMin, hadS9NoMax);
114 histname =
"hadS9DepositedEnergyEndcap_";
115 hcalS9DepEnergyEndcap = ibooker.
book1D(
116 histname +
AlgoName,
"Energy deposited in the HCAL endcap 3*3 towers", hadS9NoBin, hadS9NoMin, hadS9NoMax);
118 histname =
"hadS9PointingMuDepositedEnergy_Glb_";
119 hcalS9PointingMuDepEnergy_Glb = ibooker.
book1D(histname +
AlgoName,
120 "Pointing glb muons energy deposited in the HCAL endcap 3*3 towers",
125 histname =
"hadS9PointingMuDepositedEnergy_Tk_";
126 hcalS9PointingMuDepEnergy_Tk = ibooker.
book1D(histname +
AlgoName,
127 "Pointing tk muons energy deposited in the HCAL endcap 3*3 towers",
132 histname =
"hadS9PointingMuDepositedEnergy_Sta_";
133 hcalS9PointingMuDepEnergy_Sta = ibooker.
book1D(histname +
AlgoName,
134 "Pointing sta muons energy deposited in the HCAL endcap 3*3 towers",
140 histname =
"hoDepositedEnergy_";
141 hoDepEnergy = ibooker.
book1D(histname +
AlgoName,
"Energy deposited in the HO cells", hoNoBin, hoNoMin, hoNoMax);
144 histname =
"hoS9DepositedEnergy_";
146 ibooker.
book1D(histname +
AlgoName,
"Energy deposited in the HO 3*3 towers", hoS9NoBin, hoS9NoMin, hoS9NoMax);
148 histname =
"hoS9PointingMuDepositedEnergy_Glb_";
149 hoS9PointingMuDepEnergy_Glb = ibooker.
book1D(
150 histname +
AlgoName,
"Pointing glb muons energy deposited in the HO 3*3 towers", hoS9NoBin, hoS9NoMin, hoS9NoMax);
152 histname =
"hoS9PointingMuDepositedEnergy_Tk_";
153 hoS9PointingMuDepEnergy_Tk = ibooker.
book1D(
154 histname +
AlgoName,
"Pointing tk muons energy deposited in the HO 3*3 towers", hoS9NoBin, hoS9NoMin, hoS9NoMax);
156 histname =
"hoS9PointingMuDepositedEnergy_Sta_";
157 hoS9PointingMuDepEnergy_Sta = ibooker.
book1D(
158 histname +
AlgoName,
"Pointing sta muons energy deposited in the HO 3*3 towers", hoS9NoBin, hoS9NoMin, hoS9NoMax);
163 theService->update(iSetup);
167 iEvent.
getByToken(theMuonCollectionLabel_, muons);
172 for (reco::MuonCollection::const_iterator recoMu = muons->begin(); recoMu != muons->end(); ++recoMu) {
178 if (fabs(recoMu->eta()) > 1.479)
179 ecalDepEnergyEndcap->Fill(muEnergy.
em);
181 ecalDepEnergyBarrel->Fill(muEnergy.
em);
185 if (fabs(recoMu->eta()) > 1.4)
186 hcalDepEnergyEndcap->Fill(muEnergy.
had);
188 hcalDepEnergyBarrel->Fill(muEnergy.
had);
192 if (fabs(recoMu->eta()) < 1.26)
193 hoDepEnergy->Fill(muEnergy.
ho);
197 if (fabs(recoMu->eta()) > 1.479)
198 ecalS9DepEnergyEndcap->Fill(muEnergy.
emS9);
200 ecalS9DepEnergyBarrel->Fill(muEnergy.
emS9);
204 if (fabs(recoMu->eta()) > 1.4)
205 hcalS9DepEnergyEndcap->Fill(muEnergy.
hadS9);
207 hcalS9DepEnergyBarrel->Fill(muEnergy.
hadS9);
211 if (fabs(recoMu->eta()) < 1.26)
212 hoS9DepEnergy->Fill(muEnergy.
hoS9);
219 if (recoMu->isGlobalMuon())
220 TransTrack = theB->
build(recoMu->globalTrack());
221 else if ((recoMu->isTrackerMuon() || recoMu->isRPCMuon()))
222 TransTrack = theB->
build(recoMu->innerTrack());
223 else if (recoMu->isStandAloneMuon())
224 TransTrack = theB->
build(recoMu->outerTrack());
233 if (recoMu->isGlobalMuon()) {
234 ecalS9PointingMuDepEnergy_Glb->Fill(muEnergy.
emS9);
235 hcalS9PointingMuDepEnergy_Glb->Fill(muEnergy.
hadS9);
236 hoS9PointingMuDepEnergy_Glb->Fill(muEnergy.
hoS9);
239 else if (recoMu->isTrackerMuon()) {
240 ecalS9PointingMuDepEnergy_Tk->Fill(muEnergy.
emS9);
241 hcalS9PointingMuDepEnergy_Tk->Fill(muEnergy.
hadS9);
242 hoS9PointingMuDepEnergy_Tk->Fill(muEnergy.
hoS9);
245 else if (recoMu->isStandAloneMuon()) {
246 ecalS9PointingMuDepEnergy_Sta->Fill(muEnergy.
emS9);
247 hcalS9PointingMuDepEnergy_Sta->Fill(muEnergy.
hadS9);
248 hoS9PointingMuDepEnergy_Sta->Fill(muEnergy.
hoS9);
MuonEnergyDepositAnalyzer(const edm::ParameterSet &)
Constructor.
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const std::string metname
void setCurrentFolder(std::string const &fullpath)
reco::TransientTrack build(const reco::Track *p) const
~MuonEnergyDepositAnalyzer() override
Destructor.
float emS9
energy deposited in 3x3 ECAL crystal shape around central crystal
GlobalPoint globalPosition() const
float ho
energy deposited in crossed HO towers
Abs< T >::type abs(const T &t)
float hoS9
energy deposited in 3x3 HO tower shape around central tower
TrajectoryStateOnSurface TSOS
TrajectoryStateOnSurface impactPointState() const
void analyze(const edm::Event &, const edm::EventSetup &) override
float hadS9
energy deposited in 3x3 HCAL tower shape around central tower
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)