CMS 3D CMS Logo

BtlLocalRecoValidation.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Validation/MtdValidation
4 // Class: BtlLocalRecoValidation
5 //
14 #include <string>
15 
20 
23 
29 
33 
38 
41 
43 
44 struct MTDHit {
45  float energy;
46  float time;
47  float x_local;
48  float y_local;
49  float z_local;
50 };
51 
53 public:
55  ~BtlLocalRecoValidation() override;
56 
57  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
58 
59 private:
60  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
61 
62  void analyze(const edm::Event&, const edm::EventSetup&) override;
63 
64  // ------------ member data ------------
65 
67  const float hitMinEnergy_;
68 
72 
73  // --- histograms declaration
74 
76 
79 
81 
87 
97 
102 
109 };
110 
111 // ------------ constructor and destructor --------------
113  : folder_(iConfig.getParameter<std::string>("folder")),
114  hitMinEnergy_(iConfig.getParameter<double>("hitMinimumEnergy")) {
115  btlRecHitsToken_ = consumes<FTLRecHitCollection>(iConfig.getParameter<edm::InputTag>("recHitsTag"));
116  btlSimHitsToken_ = consumes<CrossingFrame<PSimHit> >(iConfig.getParameter<edm::InputTag>("simHitsTag"));
117  btlRecCluToken_ = consumes<FTLClusterCollection>(iConfig.getParameter<edm::InputTag>("recCluTag"));
118 }
119 
121 
122 // ------------ method called for each event ------------
124  using namespace edm;
125  using namespace std;
126  using namespace geant_units::operators;
127 
128  edm::ESHandle<MTDGeometry> geometryHandle;
129  iSetup.get<MTDDigiGeometryRecord>().get(geometryHandle);
130  const MTDGeometry* geom = geometryHandle.product();
131 
132  edm::ESHandle<MTDTopology> topologyHandle;
133  iSetup.get<MTDTopologyRcd>().get(topologyHandle);
134  const MTDTopology* topology = topologyHandle.product();
135 
136  auto btlRecHitsHandle = makeValid(iEvent.getHandle(btlRecHitsToken_));
137  auto btlSimHitsHandle = makeValid(iEvent.getHandle(btlSimHitsToken_));
138  auto btlRecCluHandle = makeValid(iEvent.getHandle(btlRecCluToken_));
139  MixCollection<PSimHit> btlSimHits(btlSimHitsHandle.product());
140 
141  // --- Loop over the BTL SIM hits
142  std::unordered_map<uint32_t, MTDHit> m_btlSimHits;
143  for (auto const& simHit : btlSimHits) {
144  // --- Use only hits compatible with the in-time bunch-crossing
145  if (simHit.tof() < 0 || simHit.tof() > 25.)
146  continue;
147 
148  DetId id = simHit.detUnitId();
149 
150  auto simHitIt = m_btlSimHits.emplace(id.rawId(), MTDHit()).first;
151 
152  // --- Accumulate the energy (in MeV) of SIM hits in the same detector cell
153  (simHitIt->second).energy += convertUnitsTo(0.001_MeV, simHit.energyLoss());
154 
155  // --- Get the time of the first SIM hit in the cell
156  if ((simHitIt->second).time == 0 || simHit.tof() < (simHitIt->second).time) {
157  (simHitIt->second).time = simHit.tof();
158 
159  auto hit_pos = simHit.entryPoint();
160  (simHitIt->second).x_local = hit_pos.x();
161  (simHitIt->second).y_local = hit_pos.y();
162  (simHitIt->second).z_local = hit_pos.z();
163  }
164 
165  } // simHit loop
166 
167  // --- Loop over the BTL RECO hits
168  unsigned int n_reco_btl = 0;
169 
170  for (const auto& recHit : *btlRecHitsHandle) {
171  BTLDetId detId = recHit.id();
172  DetId geoId = detId.geographicalId(MTDTopologyMode::crysLayoutFromTopoMode(topology->getMTDTopologyMode()));
173  const MTDGeomDet* thedet = geom->idToDet(geoId);
174  if (thedet == nullptr)
175  throw cms::Exception("BtlLocalRecoValidation") << "GeographicalID: " << std::hex << geoId.rawId() << " ("
176  << detId.rawId() << ") is invalid!" << std::dec << std::endl;
177  const ProxyMTDTopology& topoproxy = static_cast<const ProxyMTDTopology&>(thedet->topology());
178  const RectangularMTDTopology& topo = static_cast<const RectangularMTDTopology&>(topoproxy.specificTopology());
179 
180  Local3DPoint local_point(0., 0., 0.);
181  local_point = topo.pixelToModuleLocalPoint(local_point, detId.row(topo.nrows()), detId.column(topo.nrows()));
182  const auto& global_point = thedet->toGlobal(local_point);
183 
184  meHitEnergy_->Fill(recHit.energy());
185  meHitTime_->Fill(recHit.time());
186  meHitLongPos_->Fill(recHit.position());
187  meHitLongPosErr_->Fill(recHit.positionError());
188 
189  meOccupancy_->Fill(global_point.z(), global_point.phi());
190 
191  meHitX_->Fill(global_point.x());
192  meHitY_->Fill(global_point.y());
193  meHitZ_->Fill(global_point.z());
194  meHitPhi_->Fill(global_point.phi());
195  meHitEta_->Fill(global_point.eta());
196 
197  meHitTvsE_->Fill(recHit.energy(), recHit.time());
198  meHitEvsPhi_->Fill(global_point.phi(), recHit.energy());
199  meHitEvsEta_->Fill(global_point.eta(), recHit.energy());
200  meHitEvsZ_->Fill(global_point.z(), recHit.energy());
201  meHitTvsPhi_->Fill(global_point.phi(), recHit.time());
202  meHitTvsEta_->Fill(global_point.eta(), recHit.time());
203  meHitTvsZ_->Fill(global_point.z(), recHit.time());
204 
205  // Resolution histograms
206  if (m_btlSimHits.count(detId.rawId()) == 1 && m_btlSimHits[detId.rawId()].energy > hitMinEnergy_) {
207  float time_res = recHit.time() - m_btlSimHits[detId.rawId()].time;
208  float energy_res = recHit.energy() - m_btlSimHits[detId.rawId()].energy;
209 
210  meTimeRes_->Fill(time_res);
211  meEnergyRes_->Fill(energy_res);
212 
213  meTresvsE_->Fill(m_btlSimHits[detId.rawId()].energy, time_res);
214  meEresvsE_->Fill(m_btlSimHits[detId.rawId()].energy, energy_res);
215  }
216 
217  n_reco_btl++;
218 
219  } // recHit loop
220 
221  if (n_reco_btl > 0)
222  meNhits_->Fill(log10(n_reco_btl));
223 
224  // --- Loop over the BTL RECO clusters ---
225  for (const auto& DetSetClu : *btlRecCluHandle) {
226  for (const auto& cluster : DetSetClu) {
227  if (cluster.energy() < hitMinEnergy_)
228  continue;
229  BTLDetId cluId = cluster.id();
230  DetId detIdObject(cluId);
231  const auto& genericDet = geom->idToDetUnit(detIdObject);
232  if (genericDet == nullptr) {
233  throw cms::Exception("BtlLocalRecoValidation")
234  << "GeographicalID: " << std::hex << cluId << " is invalid!" << std::dec << std::endl;
235  }
236 
237  const ProxyMTDTopology& topoproxy = static_cast<const ProxyMTDTopology&>(genericDet->topology());
238  const RectangularMTDTopology& topo = static_cast<const RectangularMTDTopology&>(topoproxy.specificTopology());
239 
240  Local3DPoint local_point(cluster.x() * 5.7, cluster.y() * 0.3, 0.);
241  local_point = topo.pixelToModuleLocalPoint(local_point, cluId.row(topo.nrows()), cluId.column(topo.ncolumns()));
242  const auto& global_point = genericDet->toGlobal(local_point);
243 
244  meCluEnergy_->Fill(cluster.energy());
245  meCluTime_->Fill(cluster.time());
246  meCluPhi_->Fill(global_point.phi());
247  meCluEta_->Fill(global_point.eta());
248  meCluZvsPhi_->Fill(global_point.z(), global_point.phi());
249  meCluHits_->Fill(cluster.size());
250  }
251  }
252 }
253 
254 // ------------ method for histogram booking ------------
256  edm::Run const& run,
257  edm::EventSetup const& iSetup) {
258  ibook.setCurrentFolder(folder_);
259 
260  // --- histograms booking
261 
262  meNhits_ = ibook.book1D("BtlNhits", "Number of BTL RECO hits;log_{10}(N_{RECO})", 100, 0., 5.25);
263 
264  meHitEnergy_ = ibook.book1D("BtlHitEnergy", "BTL RECO hits energy;E_{RECO} [MeV]", 100, 0., 20.);
265  meHitTime_ = ibook.book1D("BtlHitTime", "BTL RECO hits ToA;ToA_{RECO} [ns]", 100, 0., 25.);
266 
267  meOccupancy_ = ibook.book2D(
268  "BtlOccupancy", "BTL RECO hits occupancy;Z_{RECO} [cm]; #phi_{RECO} [rad]", 65, -260., 260., 126, -3.2, 3.2);
269 
270  meHitX_ = ibook.book1D("BtlHitX", "BTL RECO hits X;X_{RECO} [cm]", 60, -120., 120.);
271  meHitY_ = ibook.book1D("BtlHitY", "BTL RECO hits Y;Y_{RECO} [cm]", 60, -120., 120.);
272  meHitZ_ = ibook.book1D("BtlHitZ", "BTL RECO hits Z;Z_{RECO} [cm]", 100, -260., 260.);
273  meHitPhi_ = ibook.book1D("BtlHitPhi", "BTL RECO hits #phi;#phi_{RECO} [rad]", 126, -3.2, 3.2);
274  meHitEta_ = ibook.book1D("BtlHitEta", "BTL RECO hits #eta;#eta_{RECO}", 100, -1.55, 1.55);
275 
276  meHitTvsE_ =
277  ibook.bookProfile("BtlHitTvsE", "BTL RECO ToA vs energy;E_{RECO} [MeV];ToA_{RECO} [ns]", 50, 0., 20., 0., 100.);
278  meHitEvsPhi_ = ibook.bookProfile(
279  "BtlHitEvsPhi", "BTL RECO energy vs #phi;#phi_{RECO} [rad];E_{RECO} [MeV]", 50, -3.2, 3.2, 0., 100.);
280  meHitEvsEta_ = ibook.bookProfile(
281  "BtlHitEvsEta", "BTL RECO energy vs #eta;#eta_{RECO};E_{RECO} [MeV]", 50, -1.55, 1.55, 0., 100.);
282  meHitEvsZ_ =
283  ibook.bookProfile("BtlHitEvsZ", "BTL RECO energy vs Z;Z_{RECO} [cm];E_{RECO} [MeV]", 50, -260., 260., 0., 100.);
284  meHitTvsPhi_ = ibook.bookProfile(
285  "BtlHitTvsPhi", "BTL RECO ToA vs #phi;#phi_{RECO} [rad];ToA_{RECO} [ns]", 50, -3.2, 3.2, 0., 100.);
286  meHitTvsEta_ =
287  ibook.bookProfile("BtlHitTvsEta", "BTL RECO ToA vs #eta;#eta_{RECO};ToA_{RECO} [ns]", 50, -1.6, 1.6, 0., 100.);
288  meHitTvsZ_ =
289  ibook.bookProfile("BtlHitTvsZ", "BTL RECO ToA vs Z;Z_{RECO} [cm];ToA_{RECO} [ns]", 50, -260., 260., 0., 100.);
290  meHitLongPos_ = ibook.book1D("BtlLongPos", "BTL RECO hits longitudinal position;long. pos._{RECO}", 100, -10, 10);
292  ibook.book1D("BtlLongPosErr", "BTL RECO hits longitudinal position error; long. pos. error_{RECO}", 100, -1, 1);
293 
294  meTimeRes_ = ibook.book1D("BtlTimeRes", "BTL time resolution;T_{RECO} - T_{SIM} [ns]", 100, -0.5, 0.5);
295  meEnergyRes_ = ibook.book1D("BtlEnergyRes", "BTL energy resolution;E_{RECO} - E_{SIM} [MeV]", 100, -0.5, 0.5);
296 
297  meTresvsE_ = ibook.bookProfile(
298  "BtlTresvsE", "BTL time resolution vs E;E_{SIM} [MeV];T_{RECO}-T_{SIM} [ns]", 50, 0., 20., 0., 100.);
299  meEresvsE_ = ibook.bookProfile(
300  "BtlEresvsE", "BTL energy resolution vs E;E_{SIM} [MeV];E_{RECO}-E_{SIM} [MeV]", 50, 0., 20., 0., 100.);
301  meCluTime_ = ibook.book1D("BtlCluTime", "BTL cluster time ToA;ToA [ns]", 250, 0, 25);
302  meCluEnergy_ = ibook.book1D("BtlCluEnergy", "BTL cluster energy;E_{RECO} [MeV]", 100, 0, 20);
303  meCluPhi_ = ibook.book1D("BtlCluPhi", "BTL cluster #phi;#phi_{RECO} [rad]", 144, -3.2, 3.2);
304  meCluEta_ = ibook.book1D("BtlCluEta", "BTL cluster #eta;#eta_{RECO}", 100, -1.6, 1.6);
305  meCluHits_ = ibook.book1D("BtlCluHitNumber", "BTL hits per cluster; Cluster size", 10, 0, 10);
306  meCluZvsPhi_ = ibook.book2D(
307  "BtlOccupancy", "BTL cluster Z vs #phi;Z_{RECO} [cm]; #phi_{RECO} [rad]", 144, -260., 260., 50, -3.2, 3.2);
308 }
309 
310 // ------------ method fills 'descriptions' with the allowed parameters for the module ------------
313 
314  desc.add<std::string>("folder", "MTD/BTL/LocalReco");
315  desc.add<edm::InputTag>("recHitsTag", edm::InputTag("mtdRecHits", "FTLBarrel"));
316  desc.add<edm::InputTag>("simHitsTag", edm::InputTag("mix", "g4SimHitsFastTimerHitsBarrel"));
317  desc.add<edm::InputTag>("recCluTag", edm::InputTag("mtdClusters", "FTLBarrel"));
318  desc.add<double>("hitMinimumEnergy", 1.); // [MeV]
319 
320  descriptions.add("btlLocalReco", desc);
321 }
322 
MTDDigiGeometryRecord
Definition: MTDDigiGeometryRecord.h:15
BtlLocalRecoValidation::meCluHits_
MonitorElement * meCluHits_
Definition: BtlLocalRecoValidation.cc:107
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
BtlLocalRecoValidation::meHitX_
MonitorElement * meHitX_
Definition: BtlLocalRecoValidation.cc:82
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
BTLDetId.h
BtlLocalRecoValidation::BtlLocalRecoValidation
BtlLocalRecoValidation(const edm::ParameterSet &)
Definition: BtlLocalRecoValidation.cc:112
BtlLocalRecoValidation::meTresvsE_
MonitorElement * meTresvsE_
Definition: BtlLocalRecoValidation.cc:100
BtlLocalRecoValidation::meEnergyRes_
MonitorElement * meEnergyRes_
Definition: BtlLocalRecoValidation.cc:99
edm::Run
Definition: Run.h:45
BtlLocalRecoValidation::meHitEta_
MonitorElement * meHitEta_
Definition: BtlLocalRecoValidation.cc:86
edm::EDGetTokenT
Definition: EDGetToken.h:33
geant_units::operators::convertUnitsTo
constexpr NumType convertUnitsTo(long double desiredUnits, NumType val)
Definition: GeantUnits.h:87
edm
HLT enums.
Definition: AlignableModifier.h:19
CrossingFrame.h
BtlLocalRecoValidation::meHitTvsEta_
MonitorElement * meHitTvsEta_
Definition: BtlLocalRecoValidation.cc:93
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:85964
MTDGeometry.h
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
TrackerGeomDet
Definition: TrackerGeomDet.h:6
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
MTDDigiGeometryRecord.h
BtlLocalRecoValidation::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: BtlLocalRecoValidation.cc:123
BtlLocalRecoValidation::folder_
const std::string folder_
Definition: BtlLocalRecoValidation.cc:66
ProxyMTDTopology::specificTopology
virtual const PixelTopology & specificTopology() const
Definition: ProxyMTDTopology.h:89
BtlLocalRecoValidation::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: BtlLocalRecoValidation.cc:255
DQMStore.h
GeomDet::topology
virtual const Topology & topology() const
Definition: GeomDet.cc:67
BtlLocalRecoValidation::meHitEvsPhi_
MonitorElement * meHitEvsPhi_
Definition: BtlLocalRecoValidation.cc:89
geant_units::operators
Definition: GeantUnits.h:18
BtlLocalRecoValidation::meCluEnergy_
MonitorElement * meCluEnergy_
Definition: BtlLocalRecoValidation.cc:104
MTDTopologyMode.h
BtlLocalRecoValidation::btlRecHitsToken_
edm::EDGetTokenT< FTLRecHitCollection > btlRecHitsToken_
Definition: BtlLocalRecoValidation.cc:69
BtlLocalRecoValidation::meHitEvsZ_
MonitorElement * meHitEvsZ_
Definition: BtlLocalRecoValidation.cc:91
rpcPointValidation_cfi.recHit
recHit
Definition: rpcPointValidation_cfi.py:7
BtlLocalRecoValidation::meEresvsE_
MonitorElement * meEresvsE_
Definition: BtlLocalRecoValidation.cc:101
BtlLocalRecoValidation::meHitEvsEta_
MonitorElement * meHitEvsEta_
Definition: BtlLocalRecoValidation.cc:90
DetId
Definition: DetId.h:17
MakerMacros.h
BtlLocalRecoValidation::meHitY_
MonitorElement * meHitY_
Definition: BtlLocalRecoValidation.cc:83
BTLDetId
Detector identifier class for the Barrel Timing Layer. The crystal count must start from 0,...
Definition: BTLDetId.h:18
PSimHit.h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
BtlLocalRecoValidation::meHitTvsE_
MonitorElement * meHitTvsE_
Definition: BtlLocalRecoValidation.cc:88
BtlLocalRecoValidation::btlSimHitsToken_
edm::EDGetTokenT< CrossingFrame< PSimHit > > btlSimHitsToken_
Definition: BtlLocalRecoValidation.cc:70
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
BtlLocalRecoValidation::meOccupancy_
MonitorElement * meOccupancy_
Definition: BtlLocalRecoValidation.cc:80
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
MixCollection.h
MixCollection
Definition: MixCollection.h:11
ecaldqm::topology
const CaloTopology * topology(nullptr)
rpcPointValidation_cfi.simHit
simHit
Definition: rpcPointValidation_cfi.py:24
BtlLocalRecoValidation
Definition: BtlLocalRecoValidation.cc:52
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
BTLDetId::row
int row(unsigned nrows=16) const
Definition: BTLDetId.h:105
edm::ESHandle
Definition: DTSurvey.h:22
MTDHit::time
float time
Definition: BtlLocalRecoValidation.cc:46
dqm::implementation::IBooker::bookProfile
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
BtlLocalRecoValidation::meHitPhi_
MonitorElement * meHitPhi_
Definition: BtlLocalRecoValidation.cc:85
RectangularMTDTopology.h
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
BtlLocalRecoValidation::meHitTvsZ_
MonitorElement * meHitTvsZ_
Definition: BtlLocalRecoValidation.cc:94
Point3DBase< float, LocalTag >
DQMEDAnalyzer.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
ValidHandle.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
folder_
std::string folder_
Definition: DQMEDAnalyzer.cc:60
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
MTDTopology
Definition: MTDTopology.h:16
GeomDet::toGlobal
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
edm::ParameterSet
Definition: ParameterSet.h:47
MTDTopologyRcd
Definition: MTDTopologyRcd.h:10
Event.h
MTDTopologyMode::crysLayoutFromTopoMode
BTLDetId::CrysLayout crysLayoutFromTopoMode(const int &topoMode)
Definition: MTDTopologyMode.h:19
MTDHit::energy
float energy
Definition: BtlLocalRecoValidation.cc:45
BtlLocalRecoValidation::meHitEnergy_
MonitorElement * meHitEnergy_
Definition: BtlLocalRecoValidation.cc:77
GeantUnits.h
BtlLocalRecoValidation::meNhits_
MonitorElement * meNhits_
Definition: BtlLocalRecoValidation.cc:75
BtlLocalRecoValidation::meHitLongPos_
MonitorElement * meHitLongPos_
Definition: BtlLocalRecoValidation.cc:95
iEvent
int iEvent
Definition: GenABIO.cc:224
BtlLocalRecoValidation::meHitZ_
MonitorElement * meHitZ_
Definition: BtlLocalRecoValidation.cc:84
BtlLocalRecoValidation::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: BtlLocalRecoValidation.cc:311
edm::EventSetup
Definition: EventSetup.h:57
MTDHit::z_local
float z_local
Definition: BtlLocalRecoValidation.cc:49
edm::makeValid
auto makeValid(const U &iOtherHandleType) noexcept(false)
Definition: ValidHandle.h:52
get
#define get
BtlLocalRecoValidation::meCluZvsPhi_
MonitorElement * meCluZvsPhi_
Definition: BtlLocalRecoValidation.cc:108
BtlLocalRecoValidation::meCluEta_
MonitorElement * meCluEta_
Definition: BtlLocalRecoValidation.cc:106
RectangularMTDTopology
Definition: RectangularMTDTopology.h:39
FTLRecHitCollections.h
ProxyMTDTopology
Definition: ProxyMTDTopology.h:28
ProxyMTDTopology.h
MTDGeometry
Definition: MTDGeometry.h:14
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
std
Definition: JetResolutionObject.h:76
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
writedatasetfile.run
run
Definition: writedatasetfile.py:27
MTDHit::y_local
float y_local
Definition: BtlLocalRecoValidation.cc:48
MTDTopologyRcd.h
Frameworkfwd.h
BtlLocalRecoValidation::meCluPhi_
MonitorElement * meCluPhi_
Definition: BtlLocalRecoValidation.cc:105
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
Exception
Definition: hltDiff.cc:246
BtlLocalRecoValidation::meHitTvsPhi_
MonitorElement * meHitTvsPhi_
Definition: BtlLocalRecoValidation.cc:92
BtlLocalRecoValidation::meCluTime_
MonitorElement * meCluTime_
Definition: BtlLocalRecoValidation.cc:103
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
dqm::implementation::IBooker
Definition: DQMStore.h:43
BtlLocalRecoValidation::hitMinEnergy_
const float hitMinEnergy_
Definition: BtlLocalRecoValidation.cc:67
ParameterSet.h
BtlLocalRecoValidation::meTimeRes_
MonitorElement * meTimeRes_
Definition: BtlLocalRecoValidation.cc:98
BTLDetId::geographicalId
BTLDetId geographicalId(CrysLayout lay) const
Definition: BTLDetId.cc:171
ntuplemaker.time
time
Definition: ntuplemaker.py:310
edm::Event
Definition: Event.h:73
FTLClusterCollections.h
BtlLocalRecoValidation::btlRecCluToken_
edm::EDGetTokenT< FTLClusterCollection > btlRecCluToken_
Definition: BtlLocalRecoValidation.cc:71
BtlLocalRecoValidation::~BtlLocalRecoValidation
~BtlLocalRecoValidation() override
Definition: BtlLocalRecoValidation.cc:120
BtlLocalRecoValidation::meHitLongPosErr_
MonitorElement * meHitLongPosErr_
Definition: BtlLocalRecoValidation.cc:96
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
edm::InputTag
Definition: InputTag.h:15
BtlLocalRecoValidation::meHitTime_
MonitorElement * meHitTime_
Definition: BtlLocalRecoValidation.cc:78
MTDHit::x_local
float x_local
Definition: BtlLocalRecoValidation.cc:47
MTDTopology.h
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
BTLDetId::column
int column(unsigned nrows=16) const
Definition: BTLDetId.h:110
MTDHit
Definition: BtlLocalRecoValidation.cc:44