CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
BtlSimHitsValidation Class Reference

#include <Validation/MtdValidation/plugins/BtlSimHitsValidation.cc>

Inheritance diagram for BtlSimHitsValidation:
DQMEDAnalyzer edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 BtlSimHitsValidation (const edm::ParameterSet &)
 
 ~BtlSimHitsValidation () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 

Private Attributes

edm::EDGetTokenT< CrossingFrame< PSimHit > > btlSimHitsToken_
 
const std::string folder_
 
const float hitMinEnergy_
 
MonitorElementmeHitEnergy_
 
MonitorElementmeHitEta_
 
MonitorElementmeHitEvsEta_
 
MonitorElementmeHitEvsPhi_
 
MonitorElementmeHitEvsZ_
 
MonitorElementmeHitLogEnergy_
 
MonitorElementmeHitPhi_
 
MonitorElementmeHitTime_
 
MonitorElementmeHitTvsE_
 
MonitorElementmeHitTvsEta_
 
MonitorElementmeHitTvsPhi_
 
MonitorElementmeHitTvsZ_
 
MonitorElementmeHitX_
 
MonitorElementmeHitXlocal_
 
MonitorElementmeHitY_
 
MonitorElementmeHitYlocal_
 
MonitorElementmeHitZ_
 
MonitorElementmeHitZlocal_
 
MonitorElementmeNevents_
 
MonitorElementmeNhits_
 
MonitorElementmeNtrkPerCell_
 
MonitorElementmeOccupancy_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Description: BTL SIM hits validation

Implementation: [Notes on implementation]

Definition at line 48 of file BtlSimHitsValidation.cc.

Constructor & Destructor Documentation

BtlSimHitsValidation::BtlSimHitsValidation ( const edm::ParameterSet iConfig)
explicit

Definition at line 100 of file BtlSimHitsValidation.cc.

References btlSimHitsToken_, and edm::ParameterSet::getParameter().

101  : folder_(iConfig.getParameter<std::string>("folder")),
102  hitMinEnergy_(iConfig.getParameter<double>("hitMinimumEnergy")) {
103  btlSimHitsToken_ = consumes<CrossingFrame<PSimHit> >(iConfig.getParameter<edm::InputTag>("inputTag"));
104 }
T getParameter(std::string const &) const
const std::string folder_
edm::EDGetTokenT< CrossingFrame< PSimHit > > btlSimHitsToken_
BtlSimHitsValidation::~BtlSimHitsValidation ( )
override

Definition at line 106 of file BtlSimHitsValidation.cc.

106 {}

Member Function Documentation

void BtlSimHitsValidation::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 109 of file BtlSimHitsValidation.cc.

References btlSimHitsToken_, BTLDetId::column(), geant_units::operators::convertMmToCm(), geant_units::operators::convertUnitsTo(), TauDecayModes::dec, HCALHighEnergyHPDFilter_cfi::energy, Exception, dqm::impl::MonitorElement::Fill(), BTLDetId::geographicalId(), relativeConstraints::geom, edm::EventSetup::get(), edm::Event::getHandle(), MTDTopology::getMTDTopologyMode(), hitMinEnergy_, MTDGeometry::idToDet(), edm::makeValid(), meHitEnergy_, meHitEta_, meHitEvsEta_, meHitEvsPhi_, meHitEvsZ_, meHitLogEnergy_, meHitPhi_, meHitTime_, meHitTvsE_, meHitTvsEta_, meHitTvsPhi_, meHitTvsZ_, meHitX_, meHitXlocal_, meHitY_, meHitYlocal_, meHitZ_, meHitZlocal_, meNevents_, meNhits_, meNtrkPerCell_, meOccupancy_, RectangularMTDTopology::nrows(), RectangularMTDTopology::pixelToModuleLocalPoint(), edm::ESHandle< T >::product(), DetId::rawId(), BTLDetId::row(), rpcPointValidation_cfi::simHit, ProxyMTDTopology::specificTopology(), ntuplemaker::time, GeomDet::toGlobal(), GeomDet::topology(), ecaldqm::topology(), x, y, and z.

109  {
110  using namespace edm;
111  using namespace geant_units::operators;
112 
113  edm::ESHandle<MTDGeometry> geometryHandle;
114  iSetup.get<MTDDigiGeometryRecord>().get(geometryHandle);
115  const MTDGeometry* geom = geometryHandle.product();
116 
117  edm::ESHandle<MTDTopology> topologyHandle;
118  iSetup.get<MTDTopologyRcd>().get(topologyHandle);
119  const MTDTopology* topology = topologyHandle.product();
120 
121  auto btlSimHitsHandle = makeValid(iEvent.getHandle(btlSimHitsToken_));
122  MixCollection<PSimHit> btlSimHits(btlSimHitsHandle.product());
123 
124  std::unordered_map<uint32_t, MTDHit> m_btlHits;
125  std::unordered_map<uint32_t, std::set<int> > m_btlTrkPerCell;
126 
127  // --- Loop over the BLT SIM hits
128  for (auto const& simHit : btlSimHits) {
129  // --- Use only hits compatible with the in-time bunch-crossing
130  if (simHit.tof() < 0 || simHit.tof() > 25.)
131  continue;
132 
133  DetId id = simHit.detUnitId();
134 
135  m_btlTrkPerCell[id.rawId()].insert(simHit.trackId());
136 
137  auto simHitIt = m_btlHits.emplace(id.rawId(), MTDHit()).first;
138 
139  // --- Accumulate the energy (in MeV) of SIM hits in the same detector cell
140  (simHitIt->second).energy += convertUnitsTo(0.001_MeV, simHit.energyLoss());
141 
142  // --- Get the time of the first SIM hit in the cell
143  if ((simHitIt->second).time == 0 || simHit.tof() < (simHitIt->second).time) {
144  (simHitIt->second).time = simHit.tof();
145 
146  auto hit_pos = simHit.entryPoint();
147  (simHitIt->second).x = hit_pos.x();
148  (simHitIt->second).y = hit_pos.y();
149  (simHitIt->second).z = hit_pos.z();
150  }
151 
152  } // simHit loop
153 
154  // ==============================================================================
155  // Histogram filling
156  // ==============================================================================
157 
158  if (!m_btlHits.empty())
159  meNhits_->Fill(log10(m_btlHits.size()));
160 
161  for (auto const& hit : m_btlTrkPerCell)
162  meNtrkPerCell_->Fill((hit.second).size());
163 
164  for (auto const& hit : m_btlHits) {
165  meHitLogEnergy_->Fill(log10((hit.second).energy));
166 
167  if ((hit.second).energy < hitMinEnergy_)
168  continue;
169 
170  // --- Get the SIM hit global position
171  BTLDetId detId(hit.first);
172  DetId geoId = detId.geographicalId(static_cast<BTLDetId::CrysLayout>(topology->getMTDTopologyMode()));
173  const MTDGeomDet* thedet = geom->idToDet(geoId);
174  if (thedet == nullptr)
175  throw cms::Exception("BtlSimHitsValidation") << "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(
181  convertMmToCm((hit.second).x), convertMmToCm((hit.second).y), convertMmToCm((hit.second).z));
182 
183  local_point = topo.pixelToModuleLocalPoint(local_point, detId.row(topo.nrows()), detId.column(topo.nrows()));
184  const auto& global_point = thedet->toGlobal(local_point);
185 
186  // --- Fill the histograms
187  meHitEnergy_->Fill((hit.second).energy);
188  meHitTime_->Fill((hit.second).time);
189 
190  meHitXlocal_->Fill((hit.second).x);
191  meHitYlocal_->Fill((hit.second).y);
192  meHitZlocal_->Fill((hit.second).z);
193 
194  meOccupancy_->Fill(global_point.z(), global_point.phi());
195 
196  meHitX_->Fill(global_point.x());
197  meHitY_->Fill(global_point.y());
198  meHitZ_->Fill(global_point.z());
199  meHitPhi_->Fill(global_point.phi());
200  meHitEta_->Fill(global_point.eta());
201 
202  meHitTvsE_->Fill((hit.second).energy, (hit.second).time);
203  meHitEvsPhi_->Fill(global_point.phi(), (hit.second).energy);
204  meHitEvsEta_->Fill(global_point.eta(), (hit.second).energy);
205  meHitEvsZ_->Fill(global_point.z(), (hit.second).energy);
206  meHitTvsPhi_->Fill(global_point.phi(), (hit.second).time);
207  meHitTvsEta_->Fill(global_point.eta(), (hit.second).time);
208  meHitTvsZ_->Fill(global_point.z(), (hit.second).time);
209 
210  } // hit loop
211 
212  // --- This is to count the number of processed events, needed in the harvesting step
213  meNevents_->Fill(0.5);
214 }
MonitorElement * meHitEta_
MonitorElement * meHitZlocal_
MonitorElement * meHitPhi_
constexpr NumType convertUnitsTo(long double desiredUnits, NumType val)
Definition: GeantUnits.h:87
MonitorElement * meHitXlocal_
MonitorElement * meNtrkPerCell_
CaloTopology const * topology(0)
virtual const Topology & topology() const
Definition: GeomDet.cc:67
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
int getMTDTopologyMode() const
Definition: MTDTopology.h:73
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
int nrows() const override
void Fill(long long x)
MonitorElement * meHitEvsPhi_
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
Definition: Event.h:547
const MTDGeomDet * idToDet(DetId) const override
Definition: MTDGeometry.cc:160
MonitorElement * meHitEnergy_
MonitorElement * meOccupancy_
virtual const PixelTopology & specificTopology() const
MonitorElement * meHitEvsEta_
LocalPoint pixelToModuleLocalPoint(const LocalPoint &plp, int row, int col) const
MonitorElement * meHitEvsZ_
MonitorElement * meHitYlocal_
MonitorElement * meHitTvsPhi_
MonitorElement * meNevents_
MonitorElement * meHitTvsE_
Definition: DetId.h:17
MonitorElement * meHitLogEnergy_
MonitorElement * meHitTvsZ_
MonitorElement * meHitTime_
HLT enums.
edm::EDGetTokenT< CrossingFrame< PSimHit > > btlSimHitsToken_
T get() const
Definition: EventSetup.h:73
Detector identifier class for the Barrel Timing Layer. The crystal count must start from 0...
Definition: BTLDetId.h:18
constexpr NumType convertMmToCm(NumType millimeters)
Definition: GeantUnits.h:62
MonitorElement * meHitTvsEta_
auto makeValid(const U &iOtherHandleType) noexcept(false)
Definition: ValidHandle.h:52
T const * product() const
Definition: ESHandle.h:86
void BtlSimHitsValidation::bookHistograms ( DQMStore::IBooker ibook,
edm::Run const &  run,
edm::EventSetup const &  iSetup 
)
overrideprivatevirtual

Implements DQMEDAnalyzer.

Definition at line 217 of file BtlSimHitsValidation.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile(), folder_, meHitEnergy_, meHitEta_, meHitEvsEta_, meHitEvsPhi_, meHitEvsZ_, meHitLogEnergy_, meHitPhi_, meHitTime_, meHitTvsE_, meHitTvsEta_, meHitTvsPhi_, meHitTvsZ_, meHitX_, meHitXlocal_, meHitY_, meHitYlocal_, meHitZ_, meHitZlocal_, meNevents_, meNhits_, meNtrkPerCell_, meOccupancy_, and dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder().

219  {
220  ibook.setCurrentFolder(folder_);
221 
222  // --- histograms booking
223 
224  meNevents_ = ibook.book1D("BtlNevents", "Number of events", 1, 0., 1.);
225 
226  meNhits_ = ibook.book1D("BtlNhits", "Number of BTL cells with SIM hits;log_{10}(N_{BTL cells})", 100, 0., 5.25);
227  meNtrkPerCell_ = ibook.book1D("BtlNtrkPerCell", "Number of tracks per BTL cell;N_{trk}", 10, 0., 10.);
228 
229  meHitEnergy_ = ibook.book1D("BtlHitEnergy", "BTL SIM hits energy;E_{SIM} [MeV]", 100, 0., 20.);
230  meHitLogEnergy_ = ibook.book1D("BtlHitLogEnergy", "BTL SIM hits energy;log_{10}(E_{SIM} [MeV])", 200, -6., 3.);
231  meHitTime_ = ibook.book1D("BtlHitTime", "BTL SIM hits ToA;ToA_{SIM} [ns]", 100, 0., 25.);
232 
233  meHitXlocal_ = ibook.book1D("BtlHitXlocal", "BTL SIM local X;X_{SIM}^{LOC} [mm]", 100, -30., 30.);
234  meHitYlocal_ = ibook.book1D("BtlHitYlocal", "BTL SIM local Y;Y_{SIM}^{LOC} [mm]", 100, -1.65, 1.65);
235  meHitZlocal_ = ibook.book1D("BtlHitZlocal", "BTL SIM local z;z_{SIM}^{LOC} [mm]", 100, -2., 2.);
236 
237  meOccupancy_ = ibook.book2D(
238  "BtlOccupancy", "BTL SIM hits occupancy;z_{SIM} [cm];#phi_{SIM} [rad]", 130, -260., 260., 200, -3.15, 3.15);
239 
240  meHitX_ = ibook.book1D("BtlHitX", "BTL SIM hits X;X_{SIM} [cm]", 100, -120., 120.);
241  meHitY_ = ibook.book1D("BtlHitY", "BTL SIM hits Y;Y_{SIM} [cm]", 100, -120., 120.);
242  meHitZ_ = ibook.book1D("BtlHitZ", "BTL SIM hits Z;Z_{SIM} [cm]", 100, -260., 260.);
243  meHitPhi_ = ibook.book1D("BtlHitPhi", "BTL SIM hits #phi;#phi_{SIM} [rad]", 200, -3.15, 3.15);
244  meHitEta_ = ibook.book1D("BtlHitEta", "BTL SIM hits #eta;#eta_{SIM}", 100, -1.55, 1.55);
245 
246  meHitTvsE_ =
247  ibook.bookProfile("BtlHitTvsE", "BTL SIM time vs energy;E_{SIM} [MeV];T_{SIM} [ns]", 50, 0., 20., 0., 100.);
248  meHitEvsPhi_ = ibook.bookProfile(
249  "BtlHitEvsPhi", "BTL SIM energy vs #phi;#phi_{SIM} [rad];E_{SIM} [MeV]", 50, -3.15, 3.15, 0., 100.);
250  meHitEvsEta_ =
251  ibook.bookProfile("BtlHitEvsEta", "BTL SIM energy vs #eta;#eta_{SIM};E_{SIM} [MeV]", 50, -1.55, 1.55, 0., 100.);
252  meHitEvsZ_ =
253  ibook.bookProfile("BtlHitEvsZ", "BTL SIM energy vs Z;Z_{SIM} [cm];E_{SIM} [MeV]", 50, -260., 260., 0., 100.);
254  meHitTvsPhi_ = ibook.bookProfile(
255  "BtlHitTvsPhi", "BTL SIM time vs #phi;#phi_{SIM} [rad];T_{SIM} [ns]", 50, -3.15, 3.15, 0., 100.);
256  meHitTvsEta_ =
257  ibook.bookProfile("BtlHitTvsEta", "BTL SIM time vs #eta;#eta_{SIM};T_{SIM} [ns]", 50, -1.55, 1.55, 0., 100.);
258  meHitTvsZ_ =
259  ibook.bookProfile("BtlHitTvsZ", "BTL SIM time vs Z;Z_{SIM} [cm];T_{SIM} [ns]", 50, -260., 260., 0., 100.);
260 }
MonitorElement * meHitEta_
MonitorElement * meHitZlocal_
MonitorElement * meHitPhi_
MonitorElement * meHitXlocal_
MonitorElement * meNtrkPerCell_
MonitorElement * meHitEvsPhi_
const std::string folder_
MonitorElement * meHitEnergy_
MonitorElement * meOccupancy_
MonitorElement * meHitEvsEta_
MonitorElement * meHitEvsZ_
MonitorElement * meHitYlocal_
MonitorElement * meHitTvsPhi_
MonitorElement * meNevents_
MonitorElement * meHitTvsE_
MonitorElement * meHitLogEnergy_
MonitorElement * meHitTvsZ_
MonitorElement * meHitTime_
MonitorElement * meHitTvsEta_
void BtlSimHitsValidation::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 263 of file BtlSimHitsValidation.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), DEFINE_FWK_MODULE, HLT_2018_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

263  {
265 
266  desc.add<std::string>("folder", "MTD/BTL/SimHits");
267  desc.add<edm::InputTag>("inputTag", edm::InputTag("mix", "g4SimHitsFastTimerHitsBarrel"));
268  desc.add<double>("hitMinimumEnergy", 1.); // [MeV]
269 
270  descriptions.add("btlSimHits", desc);
271 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)

Member Data Documentation

edm::EDGetTokenT<CrossingFrame<PSimHit> > BtlSimHitsValidation::btlSimHitsToken_
private

Definition at line 65 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and BtlSimHitsValidation().

const std::string BtlSimHitsValidation::folder_
private

Definition at line 62 of file BtlSimHitsValidation.cc.

Referenced by bookHistograms().

const float BtlSimHitsValidation::hitMinEnergy_
private

Definition at line 63 of file BtlSimHitsValidation.cc.

Referenced by analyze().

MonitorElement* BtlSimHitsValidation::meHitEnergy_
private

Definition at line 74 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitEta_
private

Definition at line 88 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitEvsEta_
private

Definition at line 92 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitEvsPhi_
private

Definition at line 91 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitEvsZ_
private

Definition at line 93 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitLogEnergy_
private

Definition at line 75 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitPhi_
private

Definition at line 87 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitTime_
private

Definition at line 76 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitTvsE_
private

Definition at line 90 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitTvsEta_
private

Definition at line 95 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitTvsPhi_
private

Definition at line 94 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitTvsZ_
private

Definition at line 96 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitX_
private

Definition at line 84 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitXlocal_
private

Definition at line 78 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitY_
private

Definition at line 85 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitYlocal_
private

Definition at line 79 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitZ_
private

Definition at line 86 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meHitZlocal_
private

Definition at line 80 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meNevents_
private

Definition at line 69 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meNhits_
private

Definition at line 71 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meNtrkPerCell_
private

Definition at line 72 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* BtlSimHitsValidation::meOccupancy_
private

Definition at line 82 of file BtlSimHitsValidation.cc.

Referenced by analyze(), and bookHistograms().