|
|
Go to the documentation of this file.
33 const auto& me0_ch_ids =
detIds();
34 for (
const auto&
id : me0_ch_ids) {
37 edm::LogInfo(
"ME0SimHitMatcher") <<
"me0chid " <<
ME0DetId(
id) <<
": nHits " << me0_simhits.size() <<
" phi "
52 if (
h.trackId() != track_id)
54 int pdgid =
h.particleType();
70 const auto& detids =
detIds();
71 for (
const auto&
d : detids) {
74 const auto& roll = dynamic_cast<const ME0Geometry*>(
geometry_)->etaPartition(
id);
77 for (
const auto&
h :
hits) {
79 pads.insert(1 + static_cast<int>(roll->padTopology().channel(lp)));
86 std::set<unsigned int>
result;
93 std::set<unsigned int>
result;
100 std::set<unsigned int>
result;
113 set<int> layers_with_hits;
115 for (
const auto&
h :
hits) {
117 layers_with_hits.insert(idd.layer());
119 return layers_with_hits.size();
138 if (sim_hits.empty())
143 for (
const auto&
h : sim_hits) {
146 const auto&
d =
h.detUnitId();
147 s = dynamic_cast<const ME0Geometry*>(
geometry_)->etaPartition(
d)->strip(lp);
160 int max_nstrips = dynamic_cast<const ME0Geometry*>(
geometry_)->etaPartition(
id)->nstrips();
164 1 + static_cast<int>(dynamic_cast<const ME0Geometry*>(
geometry_)->etaPartition(
id)->
topology().channel(lp));
165 int smin = central_strip - margin_n_strips;
166 smin = (smin > 0) ? smin : 1;
167 int smax = central_strip + margin_n_strips;
168 smax = (smax <= max_nstrips) ? smax : max_nstrips;
169 for (
int ss = smin;
ss <= smax; ++
ss)
185 const auto& detids =
detIds();
186 for (
const auto&
id : detids) {
195 const auto& pad_ids =
detIds();
196 for (
const auto&
id : pad_ids) {
float simHitsMeanStrip(const edm::PSimHitContainer &sim_hits) const
void init(const edm::Event &e, const edm::EventSetup &eventSetup)
initialize the event
std::set< unsigned int > superChamberIdsCoincidences(int min_n_layers=4) const
const TrackingGeometry * geometry_
ME0SimHitMatcher(const edm::ParameterSet &iPS, edm::ConsumesCollector &&iC)
std::map< unsigned int, edm::PSimHitContainer > detid_to_hits_
GlobalPoint simHitsMeanPosition(const edm::PSimHitContainer &sim_hits) const
int nCoincidenceChambers(int min_n_layers=4) const
Log< level::Info, false > LogInfo
std::set< unsigned int > superChamberIds() const
edm::PSimHitContainer simHits_
std::set< int > hitStripsInDetId(unsigned int, int margin_n_strips=0) const
std::set< int > hitPartitions() const
void match(const SimTrack &t, const SimVertex &v)
do the matching
const CaloTopology * topology(nullptr)
std::set< unsigned int > chamberIds() const
edm::ParameterSet simHitPSet_
const edm::PSimHitContainer & hitsInSuperChamber(unsigned int) const
std::vector< unsigned > track_ids_
edm::PSimHitContainer no_hits_
std::map< unsigned int, edm::PSimHitContainer > superChamber_to_hits_
edm::ESGetToken< ME0Geometry, MuonGeometryRecord > geomToken_
std::set< int > hitPadsInDetId(unsigned int) const
void match(const SimTrack &t, const SimVertex &v)
do the matching
std::map< unsigned int, edm::PSimHitContainer > chamber_to_hits_
edm::EDGetTokenT< edm::PSimHitContainer > simHitInput_
bool getData(T &iHolder) const
const edm::PSimHitContainer & hitsInDetId(unsigned int) const
void matchSimHitsToSimTrack()
int nLayersWithHitsInSuperChamber(unsigned int) const
std::map< unsigned int, std::set< int > > detids_to_pads_
T getParameter(std::string const &) const
const edm::PSimHitContainer & hitsInChamber(unsigned int) const
Abs< T >::type abs(const T &t)
std::vector< PSimHit > PSimHitContainer
int nPadsWithHits() const
edm::PSimHitContainer hits_
void init(const edm::Event &e, const edm::EventSetup &eventSetup)
initialize the event
strips
#turn off noise in all subdetectors simHcalUnsuppressedDigis.doNoise = False mix.digitizers....
ParameterSet const & getParameterSet(std::string const &) const
std::set< unsigned int > detIds() const