CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
MuonTruth Class Reference

#include <MuonTruth.h>

Public Types

typedef edm::DetSetVector< StripDigiSimLinkDigiSimLinks
 
typedef edm::DetSet< StripDigiSimLinkLayerLinks
 
typedef std::pair< uint32_t, EncodedEventIdSimHitIdpr
 
typedef edm::DetSetVector< StripDigiSimLinkWireDigiSimLinks
 

Public Member Functions

void analyze (const CSCRecHit2D &recHit)
 
void analyze (const CSCStripDigi &stripDigi, int rawDetIdCorrespondingToCSCLayer)
 
void analyze (const CSCWireDigi &wireDigi, int rawDetIdCorrespondingToCSCLayer)
 
void initEvent (const edm::Event &, const edm::EventSetup &)
 
float muonFraction ()
 analyze() must be called before any of the following More...
 
std::vector< PSimHitmuonHits ()
 
 MuonTruth (const edm::Event &, const edm::EventSetup &, const edm::ParameterSet &, edm::ConsumesCollector &)
 
 MuonTruth (const edm::ParameterSet &, edm::ConsumesCollector &&iC)
 
std::vector< PSimHitsimHits ()
 

Public Attributes

const CSCBadChamberscscBadChambers
 

Private Member Functions

void addChannel (const LayerLinks &layerLinks, int channel, float weight=1.)
 
std::vector< PSimHithitsFromSimTrack (SimHitIdpr truthId)
 
int particleType (SimHitIdpr truthId)
 

Private Attributes

const edm::ESGetToken< CSCBadChambers, CSCBadChambersRcdbadToken_
 
const bool crossingframe
 
const CSCGeometrycscgeom
 
const edm::InputTag CSCsimHitsTag
 
const edm::InputTag CSCsimHitsXFTag
 
const edm::ESGetToken< CSCGeometry, MuonGeometryRecordgeomToken_
 
const edm::InputTag linksTag
 
const edm::EDGetTokenT< DigiSimLinkslinksToken_
 
edm::EDGetTokenT< edm::PSimHitContainersimHitsToken_
 
edm::EDGetTokenT< CrossingFrame< PSimHit > > simHitsXFToken_
 
std::map< SimHitIdpr, float > theChargeMap
 
unsigned int theDetId
 
const DigiSimLinkstheDigiSimLinks
 
std::map< unsigned int, edm::PSimHitContainertheSimHitMap
 
float theTotalCharge
 
const DigiSimLinkstheWireDigiSimLinks
 
const edm::InputTag wireLinksTag
 
const edm::EDGetTokenT< DigiSimLinkswireLinksToken_
 

Detailed Description

Definition at line 25 of file MuonTruth.h.

Member Typedef Documentation

◆ DigiSimLinks

Definition at line 27 of file MuonTruth.h.

◆ LayerLinks

Definition at line 29 of file MuonTruth.h.

◆ SimHitIdpr

typedef std::pair<uint32_t, EncodedEventId> MuonTruth::SimHitIdpr

Definition at line 30 of file MuonTruth.h.

◆ WireDigiSimLinks

Definition at line 28 of file MuonTruth.h.

Constructor & Destructor Documentation

◆ MuonTruth() [1/2]

MuonTruth::MuonTruth ( const edm::Event event,
const edm::EventSetup setup,
const edm::ParameterSet conf,
edm::ConsumesCollector iC 
)

Definition at line 7 of file MuonTruth.cc.

References initEvent(), and singleTopDQM_cfi::setup.

11  : theDigiSimLinks(nullptr),
12  theWireDigiSimLinks(nullptr),
13  linksTag(conf.getParameter<edm::InputTag>("CSClinksTag")),
14  wireLinksTag(conf.getParameter<edm::InputTag>("CSCwireLinksTag")),
15  // CrossingFrame used or not ?
16  crossingframe(conf.getParameter<bool>("crossingframe")),
17  CSCsimHitsTag(conf.getParameter<edm::InputTag>("CSCsimHitsTag")),
18  CSCsimHitsXFTag(conf.getParameter<edm::InputTag>("CSCsimHitsXFTag")),
24 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const DigiSimLinks * theWireDigiSimLinks
Definition: MuonTruth.h:63
const edm::ESGetToken< CSCGeometry, MuonGeometryRecord > geomToken_
Definition: MuonTruth.h:72
const edm::InputTag wireLinksTag
Definition: MuonTruth.h:66
const edm::EDGetTokenT< DigiSimLinks > wireLinksToken_
Definition: MuonTruth.h:76
const edm::InputTag CSCsimHitsXFTag
Definition: MuonTruth.h:70
const edm::InputTag linksTag
Definition: MuonTruth.h:65
const edm::InputTag CSCsimHitsTag
Definition: MuonTruth.h:69
const edm::EDGetTokenT< DigiSimLinks > linksToken_
Definition: MuonTruth.h:75
edm::DetSetVector< StripDigiSimLink > DigiSimLinks
Definition: MuonTruth.h:27
const DigiSimLinks * theDigiSimLinks
Definition: MuonTruth.h:62
const bool crossingframe
Definition: MuonTruth.h:68
const edm::ESGetToken< CSCBadChambers, CSCBadChambersRcd > badToken_
Definition: MuonTruth.h:73
Definition: event.py:1
void initEvent(const edm::Event &, const edm::EventSetup &)
Definition: MuonTruth.cc:44

◆ MuonTruth() [2/2]

MuonTruth::MuonTruth ( const edm::ParameterSet conf,
edm::ConsumesCollector &&  iC 
)

Definition at line 26 of file MuonTruth.cc.

References crossingframe, CSCsimHitsTag, CSCsimHitsXFTag, edm::InputTag::label(), simHitsToken_, and simHitsXFToken_.

27  : theDigiSimLinks(nullptr),
28  theWireDigiSimLinks(nullptr),
29  linksTag(conf.getParameter<edm::InputTag>("CSClinksTag")),
30  wireLinksTag(conf.getParameter<edm::InputTag>("CSCwireLinksTag")),
31  // CrossingFrame used or not ?
32  crossingframe(conf.getParameter<bool>("crossingframe")),
33  CSCsimHitsTag(conf.getParameter<edm::InputTag>("CSCsimHitsTag")),
34  CSCsimHitsXFTag(conf.getParameter<edm::InputTag>("CSCsimHitsXFTag")),
37  if (crossingframe) {
39  } else if (!CSCsimHitsTag.label().empty()) {
41  }
42 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const DigiSimLinks * theWireDigiSimLinks
Definition: MuonTruth.h:63
edm::EDGetTokenT< edm::PSimHitContainer > simHitsToken_
Definition: MuonTruth.h:78
std::string const & label() const
Definition: InputTag.h:36
const edm::InputTag wireLinksTag
Definition: MuonTruth.h:66
const edm::EDGetTokenT< DigiSimLinks > wireLinksToken_
Definition: MuonTruth.h:76
const edm::InputTag CSCsimHitsXFTag
Definition: MuonTruth.h:70
const edm::InputTag linksTag
Definition: MuonTruth.h:65
const edm::InputTag CSCsimHitsTag
Definition: MuonTruth.h:69
const edm::EDGetTokenT< DigiSimLinks > linksToken_
Definition: MuonTruth.h:75
edm::EDGetTokenT< CrossingFrame< PSimHit > > simHitsXFToken_
Definition: MuonTruth.h:77
edm::DetSetVector< StripDigiSimLink > DigiSimLinks
Definition: MuonTruth.h:27
std::vector< PSimHit > PSimHitContainer
const DigiSimLinks * theDigiSimLinks
Definition: MuonTruth.h:62
const bool crossingframe
Definition: MuonTruth.h:68

Member Function Documentation

◆ addChannel()

void MuonTruth::addChannel ( const LayerLinks layerLinks,
int  channel,
float  weight = 1. 
)
private

Definition at line 202 of file MuonTruth.cc.

References edm::DetSet< T >::begin(), ALCARECOTkAlJpsiMuMu_cff::charge, edm::DetSet< T >::end(), theChargeMap, theTotalCharge, and mps_merge::weight.

Referenced by analyze().

202  {
203  LayerLinks::const_iterator linkItr = layerLinks.begin(), lastLayerLink = layerLinks.end();
204 
205  for (; linkItr != lastLayerLink; ++linkItr) {
206  int linkChannel = linkItr->channel();
207  if (linkChannel == channel) {
208  float charge = linkItr->fraction() * weight;
210  // see if it's in the map
211  SimHitIdpr truthId(linkItr->SimTrackId(), linkItr->eventId());
212  std::map<SimHitIdpr, float>::const_iterator chargeMapItr = theChargeMap.find(truthId);
213  if (chargeMapItr == theChargeMap.end()) {
214  theChargeMap[truthId] = charge;
215  } else {
216  theChargeMap[truthId] += charge;
217  }
218  }
219  }
220 }
std::map< SimHitIdpr, float > theChargeMap
Definition: MuonTruth.h:57
float theTotalCharge
Definition: MuonTruth.h:58
std::pair< uint32_t, EncodedEventId > SimHitIdpr
collection_type::const_iterator const_iterator
Definition: DetSet.h:31

◆ analyze() [1/3]

void MuonTruth::analyze ( const CSCRecHit2D recHit)

Definition at line 152 of file MuonTruth.cc.

References addChannel(), CSCLayerGeometry::channel(), cscgeom, edm::DetSetVector< T >::end(), edm::DetSetVector< T >::find(), relativeConstraints::geometry, CSCGeometry::layer(), rpcPointValidation_cfi::recHit, theChargeMap, theDetId, theDigiSimLinks, and theTotalCharge.

Referenced by CSCTruthTest::analyze().

152  {
153  theChargeMap.clear();
154  theTotalCharge = 0.;
155  theDetId = recHit.geographicalId().rawId();
156 
157  int nchannels = recHit.nStrips();
158  const CSCLayerGeometry *laygeom = cscgeom->layer(recHit.cscDetId())->geometry();
159 
160  for (int idigi = 0; idigi < nchannels; ++idigi) {
161  // strip and readout channel numbers may differ in ME1/1A
162  int istrip = recHit.channels(idigi);
163  int channel = laygeom->channel(istrip);
164  float weight = recHit.adcs(idigi, 0); // DL: I think this is wrong before and after...seems to
165  // assume one time binadcContainer[idigi];
166 
168 
169  if (layerLinks != theDigiSimLinks->end()) {
170  addChannel(*layerLinks, channel, weight);
171  }
172  }
173 }
iterator find(det_id_type id)
Definition: DetSetVector.h:264
Definition: weight.py:1
const CSCGeometry * cscgeom
Definition: MuonTruth.h:82
std::map< SimHitIdpr, float > theChargeMap
Definition: MuonTruth.h:57
int channel(int strip) const
unsigned int theDetId
Definition: MuonTruth.h:60
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:325
float theTotalCharge
Definition: MuonTruth.h:58
const DigiSimLinks * theDigiSimLinks
Definition: MuonTruth.h:62
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
const CSCLayer * layer(CSCDetId id) const
Return the layer corresponding to given DetId.
Definition: CSCGeometry.cc:105
void addChannel(const LayerLinks &layerLinks, int channel, float weight=1.)
Definition: MuonTruth.cc:202

◆ analyze() [2/3]

void MuonTruth::analyze ( const CSCStripDigi stripDigi,
int  rawDetIdCorrespondingToCSCLayer 
)

Definition at line 175 of file MuonTruth.cc.

References addChannel(), edm::DetSetVector< T >::end(), edm::DetSetVector< T >::find(), CSCStripDigi::getStrip(), theChargeMap, theDetId, theDigiSimLinks, and theTotalCharge.

175  {
176  theDetId = rawDetIdCorrespondingToCSCLayer;
177  theChargeMap.clear();
178  theTotalCharge = 0.;
179 
181  if (layerLinks != theDigiSimLinks->end()) {
182  addChannel(*layerLinks, stripDigi.getStrip(), 1.);
183  }
184 }
iterator find(det_id_type id)
Definition: DetSetVector.h:264
std::map< SimHitIdpr, float > theChargeMap
Definition: MuonTruth.h:57
int getStrip() const
Definition: CSCStripDigi.h:41
unsigned int theDetId
Definition: MuonTruth.h:60
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:325
float theTotalCharge
Definition: MuonTruth.h:58
const DigiSimLinks * theDigiSimLinks
Definition: MuonTruth.h:62
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
void addChannel(const LayerLinks &layerLinks, int channel, float weight=1.)
Definition: MuonTruth.cc:202

◆ analyze() [3/3]

void MuonTruth::analyze ( const CSCWireDigi wireDigi,
int  rawDetIdCorrespondingToCSCLayer 
)

Definition at line 186 of file MuonTruth.cc.

References addChannel(), edm::DetSetVector< T >::end(), edm::DetSetVector< T >::find(), CSCWireDigi::getWireGroup(), theChargeMap, theDetId, theDigiSimLinks, theTotalCharge, and theWireDigiSimLinks.

186  {
187  theDetId = rawDetIdCorrespondingToCSCLayer;
188  theChargeMap.clear();
189  theTotalCharge = 0.;
190 
192 
193  if (layerLinks != theDigiSimLinks->end()) {
194  // In the simulation digis, the channel labels for wires and strips must be
195  // distinct, therefore:
196  int wireDigiInSimulation = wireDigi.getWireGroup() + 100;
197  //
198  addChannel(*layerLinks, wireDigiInSimulation, 1.);
199  }
200 }
iterator find(det_id_type id)
Definition: DetSetVector.h:264
const DigiSimLinks * theWireDigiSimLinks
Definition: MuonTruth.h:63
std::map< SimHitIdpr, float > theChargeMap
Definition: MuonTruth.h:57
unsigned int theDetId
Definition: MuonTruth.h:60
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:325
float theTotalCharge
Definition: MuonTruth.h:58
const DigiSimLinks * theDigiSimLinks
Definition: MuonTruth.h:62
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
void addChannel(const LayerLinks &layerLinks, int channel, float weight=1.)
Definition: MuonTruth.cc:202
int getWireGroup() const
default
Definition: CSCWireDigi.h:22

◆ hitsFromSimTrack()

std::vector< PSimHit > MuonTruth::hitsFromSimTrack ( MuonTruth::SimHitIdpr  truthId)
private

Definition at line 126 of file MuonTruth.cc.

References newFWLiteAna::found, mps_fire::result, theDetId, and theSimHitMap.

Referenced by particleType(), and simHits().

126  {
127  std::vector<PSimHit> result;
128 
129  auto found = theSimHitMap.find(theDetId);
130  if (found != theSimHitMap.end()) {
131  for (auto const &hit : found->second) {
132  unsigned int hitTrack = hit.trackId();
133  EncodedEventId hitEvId = hit.eventId();
134 
135  if (hitTrack == truthId.first && hitEvId == truthId.second) {
136  result.push_back(hit);
137  }
138  }
139  }
140  return result;
141 }
std::map< unsigned int, edm::PSimHitContainer > theSimHitMap
Definition: MuonTruth.h:80
unsigned int theDetId
Definition: MuonTruth.h:60

◆ initEvent()

void MuonTruth::initEvent ( const edm::Event event,
const edm::EventSetup setup 
)

Definition at line 44 of file MuonTruth.cc.

References badToken_, crossingframe, cscBadChambers, cscgeom, CSCsimHitsTag, CSCsimHitsXFTag, TTClusterAssociation_cfi::digiSimLinks, geomToken_, edm::InputTag::label(), linksTag, linksToken_, LogTrace, edm::Handle< T >::product(), edm::ESHandle< T >::product(), singleTopDQM_cfi::setup, simHitsToken_, simHitsXFToken_, theDigiSimLinks, theSimHitMap, theWireDigiSimLinks, wireLinksTag, and wireLinksToken_.

Referenced by MuonTruth().

44  {
45  LogTrace("MuonTruth") << "getting CSC Strip DigiSimLink collection - " << linksTag;
46  const edm::Handle<DigiSimLinks> &digiSimLinks = event.getHandle(linksToken_);
47  theDigiSimLinks = digiSimLinks.product();
48 
49  LogTrace("MuonTruth") << "getting CSC Wire DigiSimLink collection - " << wireLinksTag;
50  const edm::Handle<DigiSimLinks> &wireDigiSimLinks = event.getHandle(wireLinksToken_);
51  theWireDigiSimLinks = wireDigiSimLinks.product();
52 
53  // get CSC Geometry to use CSCLayer methods
54  const edm::ESHandle<CSCGeometry> &mugeom = setup.getHandle(geomToken_);
55  cscgeom = mugeom.product();
56 
57  // get CSC Bad Chambers (ME4/2)
58  const edm::ESHandle<CSCBadChambers> &badChambers = setup.getHandle(badToken_);
59  cscBadChambers = badChambers.product();
60 
61  theSimHitMap.clear();
62 
63  if (crossingframe) {
64  LogTrace("MuonTruth") << "getting CrossingFrame<PSimHit> collection - " << CSCsimHitsXFTag;
65  const edm::Handle<CrossingFrame<PSimHit>> &cf = event.getHandle(simHitsXFToken_);
66 
67  std::unique_ptr<MixCollection<PSimHit>> CSCsimhits(new MixCollection<PSimHit>(cf.product()));
68  LogTrace("MuonTruth") << "... size = " << CSCsimhits->size();
69 
70  for (MixCollection<PSimHit>::MixItr hitItr = CSCsimhits->begin(); hitItr != CSCsimhits->end(); ++hitItr) {
71  theSimHitMap[hitItr->detUnitId()].push_back(*hitItr);
72  }
73 
74  } else if (!CSCsimHitsTag.label().empty()) {
75  LogTrace("MuonTruth") << "getting PSimHit collection - " << CSCsimHitsTag;
76  const edm::Handle<edm::PSimHitContainer> &CSCsimhits = event.getHandle(simHitsToken_);
77  LogTrace("MuonTruth") << "... size = " << CSCsimhits->size();
78 
79  for (edm::PSimHitContainer::const_iterator hitItr = CSCsimhits->begin(); hitItr != CSCsimhits->end(); ++hitItr) {
80  theSimHitMap[hitItr->detUnitId()].push_back(*hitItr);
81  }
82  }
83 }
std::map< unsigned int, edm::PSimHitContainer > theSimHitMap
Definition: MuonTruth.h:80
T const * product() const
Definition: Handle.h:70
const DigiSimLinks * theWireDigiSimLinks
Definition: MuonTruth.h:63
edm::EDGetTokenT< edm::PSimHitContainer > simHitsToken_
Definition: MuonTruth.h:78
const CSCGeometry * cscgeom
Definition: MuonTruth.h:82
std::string const & label() const
Definition: InputTag.h:36
const edm::ESGetToken< CSCGeometry, MuonGeometryRecord > geomToken_
Definition: MuonTruth.h:72
#define LogTrace(id)
T const * product() const
Definition: ESHandle.h:86
const CSCBadChambers * cscBadChambers
Definition: MuonTruth.h:48
const edm::InputTag wireLinksTag
Definition: MuonTruth.h:66
const edm::EDGetTokenT< DigiSimLinks > wireLinksToken_
Definition: MuonTruth.h:76
const edm::InputTag CSCsimHitsXFTag
Definition: MuonTruth.h:70
const edm::InputTag linksTag
Definition: MuonTruth.h:65
const edm::InputTag CSCsimHitsTag
Definition: MuonTruth.h:69
const edm::EDGetTokenT< DigiSimLinks > linksToken_
Definition: MuonTruth.h:75
edm::EDGetTokenT< CrossingFrame< PSimHit > > simHitsXFToken_
Definition: MuonTruth.h:77
const DigiSimLinks * theDigiSimLinks
Definition: MuonTruth.h:62
const bool crossingframe
Definition: MuonTruth.h:68
const edm::ESGetToken< CSCBadChambers, CSCBadChambersRcd > badToken_
Definition: MuonTruth.h:73

◆ muonFraction()

float MuonTruth::muonFraction ( )

analyze() must be called before any of the following

Definition at line 85 of file MuonTruth.cc.

References funct::abs(), particleType(), theChargeMap, and theTotalCharge.

Referenced by CSCTruthTest::analyze().

85  {
86  if (theChargeMap.empty())
87  return 0.;
88 
89  float muonCharge = 0.;
90  for (std::map<SimHitIdpr, float>::const_iterator chargeMapItr = theChargeMap.begin();
91  chargeMapItr != theChargeMap.end();
92  ++chargeMapItr) {
93  if (abs(particleType(chargeMapItr->first)) == 13) {
94  muonCharge += chargeMapItr->second;
95  }
96  }
97 
98  return muonCharge / theTotalCharge;
99 }
int particleType(SimHitIdpr truthId)
Definition: MuonTruth.cc:143
std::map< SimHitIdpr, float > theChargeMap
Definition: MuonTruth.h:57
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
float theTotalCharge
Definition: MuonTruth.h:58

◆ muonHits()

std::vector< PSimHit > MuonTruth::muonHits ( )

Definition at line 113 of file MuonTruth.cc.

References funct::abs(), mps_fire::result, and simHits().

113  {
114  std::vector<PSimHit> result;
115  std::vector<PSimHit> allHits = simHits();
116  std::vector<PSimHit>::const_iterator hitItr = allHits.begin(), lastHit = allHits.end();
117 
118  for (; hitItr != lastHit; ++hitItr) {
119  if (abs((*hitItr).particleType()) == 13) {
120  result.push_back(*hitItr);
121  }
122  }
123  return result;
124 }
std::vector< PSimHit > simHits()
Definition: MuonTruth.cc:101
Abs< T >::type abs(const T &t)
Definition: Abs.h:22

◆ particleType()

int MuonTruth::particleType ( MuonTruth::SimHitIdpr  truthId)
private

Definition at line 143 of file MuonTruth.cc.

References hfClusterShapes_cfi::hits, hitsFromSimTrack(), and mps_fire::result.

Referenced by muonFraction().

143  {
144  int result = 0;
145  const std::vector<PSimHit> &hits = hitsFromSimTrack(truthId);
146  if (!hits.empty()) {
147  result = hits[0].particleType();
148  }
149  return result;
150 }
std::vector< PSimHit > hitsFromSimTrack(SimHitIdpr truthId)
Definition: MuonTruth.cc:126

◆ simHits()

std::vector< PSimHit > MuonTruth::simHits ( )

Definition at line 101 of file MuonTruth.cc.

References hitsFromSimTrack(), mps_fire::result, and theChargeMap.

Referenced by ntupleDataFormat.TrackingParticle::bestMatchingTrack(), and muonHits().

101  {
102  std::vector<PSimHit> result;
103  for (std::map<SimHitIdpr, float>::const_iterator chargeMapItr = theChargeMap.begin();
104  chargeMapItr != theChargeMap.end();
105  ++chargeMapItr) {
106  std::vector<PSimHit> trackHits = hitsFromSimTrack(chargeMapItr->first);
107  result.insert(result.end(), trackHits.begin(), trackHits.end());
108  }
109 
110  return result;
111 }
std::map< SimHitIdpr, float > theChargeMap
Definition: MuonTruth.h:57
std::vector< PSimHit > hitsFromSimTrack(SimHitIdpr truthId)
Definition: MuonTruth.cc:126

Member Data Documentation

◆ badToken_

const edm::ESGetToken<CSCBadChambers, CSCBadChambersRcd> MuonTruth::badToken_
private

Definition at line 73 of file MuonTruth.h.

Referenced by initEvent().

◆ crossingframe

const bool MuonTruth::crossingframe
private

Definition at line 68 of file MuonTruth.h.

Referenced by initEvent(), and MuonTruth().

◆ cscBadChambers

const CSCBadChambers* MuonTruth::cscBadChambers

Definition at line 48 of file MuonTruth.h.

Referenced by initEvent().

◆ cscgeom

const CSCGeometry* MuonTruth::cscgeom
private

Definition at line 82 of file MuonTruth.h.

Referenced by analyze(), and initEvent().

◆ CSCsimHitsTag

const edm::InputTag MuonTruth::CSCsimHitsTag
private

Definition at line 69 of file MuonTruth.h.

Referenced by initEvent(), and MuonTruth().

◆ CSCsimHitsXFTag

const edm::InputTag MuonTruth::CSCsimHitsXFTag
private

Definition at line 70 of file MuonTruth.h.

Referenced by initEvent(), and MuonTruth().

◆ geomToken_

const edm::ESGetToken<CSCGeometry, MuonGeometryRecord> MuonTruth::geomToken_
private

Definition at line 72 of file MuonTruth.h.

Referenced by initEvent().

◆ linksTag

const edm::InputTag MuonTruth::linksTag
private

Definition at line 65 of file MuonTruth.h.

Referenced by initEvent().

◆ linksToken_

const edm::EDGetTokenT<DigiSimLinks> MuonTruth::linksToken_
private

Definition at line 75 of file MuonTruth.h.

Referenced by initEvent().

◆ simHitsToken_

edm::EDGetTokenT<edm::PSimHitContainer> MuonTruth::simHitsToken_
private

Definition at line 78 of file MuonTruth.h.

Referenced by initEvent(), and MuonTruth().

◆ simHitsXFToken_

edm::EDGetTokenT<CrossingFrame<PSimHit> > MuonTruth::simHitsXFToken_
private

Definition at line 77 of file MuonTruth.h.

Referenced by initEvent(), and MuonTruth().

◆ theChargeMap

std::map<SimHitIdpr, float> MuonTruth::theChargeMap
private

Definition at line 57 of file MuonTruth.h.

Referenced by addChannel(), analyze(), muonFraction(), and simHits().

◆ theDetId

unsigned int MuonTruth::theDetId
private

Definition at line 60 of file MuonTruth.h.

Referenced by analyze(), and hitsFromSimTrack().

◆ theDigiSimLinks

const DigiSimLinks* MuonTruth::theDigiSimLinks
private

Definition at line 62 of file MuonTruth.h.

Referenced by analyze(), and initEvent().

◆ theSimHitMap

std::map<unsigned int, edm::PSimHitContainer> MuonTruth::theSimHitMap
private

Definition at line 80 of file MuonTruth.h.

Referenced by hitsFromSimTrack(), and initEvent().

◆ theTotalCharge

float MuonTruth::theTotalCharge
private

Definition at line 58 of file MuonTruth.h.

Referenced by addChannel(), analyze(), and muonFraction().

◆ theWireDigiSimLinks

const DigiSimLinks* MuonTruth::theWireDigiSimLinks
private

Definition at line 63 of file MuonTruth.h.

Referenced by analyze(), and initEvent().

◆ wireLinksTag

const edm::InputTag MuonTruth::wireLinksTag
private

Definition at line 66 of file MuonTruth.h.

Referenced by initEvent().

◆ wireLinksToken_

const edm::EDGetTokenT<DigiSimLinks> MuonTruth::wireLinksToken_
private

Definition at line 76 of file MuonTruth.h.

Referenced by initEvent().