CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
MonitorTrackResidualsBase< pixel_or_strip > Class Template Reference

#include <MonitorTrackResiduals.h>

Inheritance diagram for MonitorTrackResidualsBase< pixel_or_strip >:
one::DQMEDAnalyzer< T > one::dqmimplementation::DQMBaseClass< T... >

Classes

struct  HistoPair
 
struct  HistoXY
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
 MonitorTrackResidualsBase (const edm::ParameterSet &)
 
 ~MonitorTrackResidualsBase () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 

Private Types

typedef std::map< std::pair< std::string, int32_t >, HistoXYHistoSet
 

Private Member Functions

void createMEs (DQMStore::IBooker &, const edm::EventSetup &)
 
std::pair< std::string, int32_t > findSubdetAndLayer (uint32_t ModuleID, const TrackerTopology *tTopo)
 

Private Attributes

TrackerValidationVariables avalidator_
 
edm::ParameterSet conf_
 
GenericTriggerEventFlaggenTriggerEventFlag_
 
unsigned long long m_cacheID_
 
HistoSet m_ModuleResiduals
 
HistoSet m_SubdetLayerResiduals
 
bool ModOn
 
edm::EDGetTokenT< reco::VertexCollectionofflinePrimaryVerticesToken_
 
edm::ParameterSet Parameters
 
std::unique_ptr< TkHistoMaptkhisto_ResidualsMean
 

Detailed Description

template<TrackerType pixel_or_strip>
class MonitorTrackResidualsBase< pixel_or_strip >

Definition at line 39 of file MonitorTrackResiduals.h.

Member Typedef Documentation

template<TrackerType pixel_or_strip>
typedef std::map<std::pair<std::string, int32_t>, HistoXY> MonitorTrackResidualsBase< pixel_or_strip >::HistoSet
private

Definition at line 65 of file MonitorTrackResiduals.h.

Constructor & Destructor Documentation

template<TrackerType pixel_or_strip>
MonitorTrackResidualsBase< pixel_or_strip >::MonitorTrackResidualsBase ( const edm::ParameterSet iConfig)
explicit

Definition at line 20 of file MonitorTrackResiduals.cc.

References MonitorTrackResidualsBase< pixel_or_strip >::conf_, edm::ParameterSet::getParameter(), MonitorTrackResidualsBase< pixel_or_strip >::ModOn, MonitorTrackResidualsBase< pixel_or_strip >::offlinePrimaryVerticesToken_, and AlCaHLTBitMon_QueryRunRegistry::string.

21  : conf_(iConfig),
22  m_cacheID_(0),
24  iConfig.getParameter<edm::ParameterSet>("genericTriggerEventPSet"), consumesCollector(), *this)),
25  avalidator_(iConfig, consumesCollector()) {
26  ModOn = conf_.getParameter<bool>("Mod_On");
27  offlinePrimaryVerticesToken_ = consumes<reco::VertexCollection>(std::string("offlinePrimaryVertices"));
28 }
T getParameter(std::string const &) const
TrackerValidationVariables avalidator_
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
edm::EDGetTokenT< reco::VertexCollection > offlinePrimaryVerticesToken_
GenericTriggerEventFlag * genTriggerEventFlag_
template<TrackerType pixel_or_strip>
MonitorTrackResidualsBase< pixel_or_strip >::~MonitorTrackResidualsBase ( )
override

Definition at line 31 of file MonitorTrackResiduals.cc.

References MonitorTrackResidualsBase< pixel_or_strip >::genTriggerEventFlag_.

31  {
33  delete genTriggerEventFlag_;
34 }
GenericTriggerEventFlag * genTriggerEventFlag_

Member Function Documentation

template<TrackerType pixel_or_strip>
void MonitorTrackResidualsBase< pixel_or_strip >::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 237 of file MonitorTrackResiduals.cc.

References funct::abs(), GenericTriggerEventFlag::accept(), MonitorTrackResidualsBase< pixel_or_strip >::avalidator_, DEFINE_FWK_MODULE, reco::TrackBase::dxy(), reco::TrackBase::dxyError(), TrackerValidationVariables::fillTrackQuantities(), MonitorTrackResidualsBase< pixel_or_strip >::findSubdetAndLayer(), MonitorTrackResidualsBase< pixel_or_strip >::genTriggerEventFlag_, edm::EventSetup::get(), edm::Event::getByToken(), plotFactory::histos, fastTrackerRecHitType::isPixel(), edm::HandleBase::isValid(), MonitorTrackResidualsBase< pixel_or_strip >::m_ModuleResiduals, MonitorTrackResidualsBase< pixel_or_strip >::m_SubdetLayerResiduals, MonitorTrackResidualsBase< pixel_or_strip >::ModOn, MonitorTrackResidualsBase< pixel_or_strip >::offlinePrimaryVerticesToken_, GenericTriggerEventFlag::on(), impactParameterTagInfos_cfi::primaryVertex, edm::ESHandle< T >::product(), reco::TrackBase::pt(), MonitorTrackResidualsBase< pixel_or_strip >::tkhisto_ResidualsMean, HiIsolationCommonParameters_cff::track, TRACKERTYPE_PIXEL, parallelization::uint(), and electrons_cff::vertices.

237  {
238  auto vtracks = std::vector<TrackerValidationVariables::AVTrackStruct>();
239  // Filter out events if Trigger Filtering is requested
240  if (genTriggerEventFlag_->on() && !genTriggerEventFlag_->accept(iEvent, iSetup))
241  return;
242 
244  iEvent.getByToken(offlinePrimaryVerticesToken_, vertices);
245  if (!vertices.isValid() || vertices->empty())
246  return;
247  const auto primaryVertex = vertices->at(0);
248 
249  // Retrieve tracker topology from geometry
250  edm::ESHandle<TrackerTopology> tTopoHandle;
251  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
252  const TrackerTopology *const tTopo = tTopoHandle.product();
253 
255  iSetup,
256  // tell the validator to only look at good tracks
257  [&](const reco::Track &track) -> bool {
258  return track.pt() > 0.75 &&
259  abs(track.dxy(primaryVertex.position())) < 5 * track.dxyError();
260  },
261  vtracks);
262 
263  for (auto &track : vtracks) {
264  for (auto &it : track.hits) {
265  uint RawId = it.rawDetId;
266 
267  auto id = DetId(RawId);
268  auto isPixel = id.subdetId() == 1 || id.subdetId() == 2;
269  if (isPixel != (pixel_or_strip == TRACKERTYPE_PIXEL))
270  continue;
271 
272  if (ModOn) {
273  auto &mod_histos = m_ModuleResiduals[std::make_pair("", RawId)];
274  mod_histos.x.base->Fill(it.resXprime);
275  mod_histos.x.normed->Fill(it.resXprime / it.resXprimeErr);
276  mod_histos.y.base->Fill(it.resYprime);
277  mod_histos.y.normed->Fill(it.resYprime / it.resYprimeErr);
278  }
279 
280  auto subdetandlayer = findSubdetAndLayer(RawId, tTopo);
281  auto histos = m_SubdetLayerResiduals[subdetandlayer];
282  // fill if its error is not zero
283  if (it.resXprimeErr != 0 && histos.x.base) {
284  histos.x.base->Fill(it.resXprime);
285  histos.x.normed->Fill(it.resXprime / it.resXprimeErr);
286  if (!isPixel)
287  tkhisto_ResidualsMean->fill(RawId, it.resXprime);
288  }
289  if (it.resYprimeErr != 0 && histos.y.base) {
290  histos.y.base->Fill(it.resYprime);
291  histos.y.normed->Fill(it.resYprime / it.resYprimeErr);
292  }
293  }
294  }
295 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
double dxyError() const
error on dxy
Definition: TrackBase.h:847
TrackerValidationVariables avalidator_
edm::EDGetTokenT< reco::VertexCollection > offlinePrimaryVerticesToken_
std::unique_ptr< TkHistoMap > tkhisto_ResidualsMean
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
double pt() const
track transverse momentum
Definition: TrackBase.h:660
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
bool isValid() const
Definition: HandleBase.h:74
Definition: DetId.h:18
void fillTrackQuantities(const edm::Event &, const edm::EventSetup &, std::vector< AVTrackStruct > &v_avtrackout)
GenericTriggerEventFlag * genTriggerEventFlag_
def uint(string)
T get() const
Definition: EventSetup.h:71
bool isPixel(HitType hitType)
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:630
std::pair< std::string, int32_t > findSubdetAndLayer(uint32_t ModuleID, const TrackerTopology *tTopo)
T const * product() const
Definition: ESHandle.h:86
template<TrackerType pixel_or_strip>
void MonitorTrackResidualsBase< pixel_or_strip >::bookHistograms ( DQMStore::IBooker ,
edm::Run const &  ,
edm::EventSetup const &   
)
override

Definition at line 37 of file MonitorTrackResiduals.cc.

References MonitorTrackResidualsBase< pixel_or_strip >::createMEs(), edm::EventSetup::get(), MonitorTrackResidualsBase< pixel_or_strip >::m_cacheID_, edm::ESHandle< T >::product(), SiStripFolderOrganizer::setSiStripFolderName(), AlCaHLTBitMon_QueryRunRegistry::string, and MonitorTrackResidualsBase< pixel_or_strip >::tkhisto_ResidualsMean.

39  {
40  unsigned long long cacheID = iSetup.get<TrackerDigiGeometryRecord>().cacheIdentifier();
41  if (m_cacheID_ != cacheID) {
42  m_cacheID_ = cacheID;
43  this->createMEs(ibooker, iSetup);
44  }
45  std::string topFolderName_ = "SiStrip";
46  SiStripFolderOrganizer folder_organizer;
47  folder_organizer.setSiStripFolderName(topFolderName_);
48  edm::ESHandle<TkDetMap> tkDetMapHandle;
49  iSetup.get<TrackerTopologyRcd>().get(tkDetMapHandle);
50  tkhisto_ResidualsMean = std::make_unique<TkHistoMap>(
51  tkDetMapHandle.product(), ibooker, topFolderName_, "TkHMap_ResidualsMean", 0.0, true);
52 }
void setSiStripFolderName(std::string name)
std::unique_ptr< TkHistoMap > tkhisto_ResidualsMean
void createMEs(DQMStore::IBooker &, const edm::EventSetup &)
T const * product() const
Definition: ESHandle.h:86
template<TrackerType pixel_or_strip>
void MonitorTrackResidualsBase< pixel_or_strip >::createMEs ( DQMStore::IBooker ibooker,
const edm::EventSetup iSetup 
)
private

Definition at line 103 of file MonitorTrackResiduals.cc.

References funct::abs(), DQMStore::IBooker::book1D(), MonitorTrackResidualsBase< pixel_or_strip >::conf_, TrackerGeometry::detIds(), MonitorTrackResidualsBase< pixel_or_strip >::findSubdetAndLayer(), edm::EventSetup::get(), edm::ParameterSet::getParameter(), plotFactory::histos, GeomDetEnumerators::isBarrel(), fastTrackerRecHitType::isPixel(), MonitorTrackResidualsBase< pixel_or_strip >::m_ModuleResiduals, MonitorTrackResidualsBase< pixel_or_strip >::m_SubdetLayerResiduals, MonitorTrackResidualsBase< pixel_or_strip >::ModOn, edm::ESHandle< T >::product(), MonitorElement::setAxisTitle(), DQMStore::IBooker::setCurrentFolder(), SiStripFolderOrganizer::setDetectorFolder(), SiStripFolderOrganizer::setLayerFolder(), AlCaHLTBitMon_QueryRunRegistry::string, TRACKERTYPE_PIXEL, and geometryCSVtoXML::xy.

Referenced by MonitorTrackResidualsBase< pixel_or_strip >::bookHistograms().

103  {
104  // Retrieve tracker topology and geometry
105  edm::ESHandle<TrackerTopology> tTopoHandle;
106  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
107  const TrackerTopology *const tTopo = tTopoHandle.product();
108 
110  iSetup.get<TrackerDigiGeometryRecord>().get(TG);
111 
112  Parameters = conf_.getParameter<edm::ParameterSet>("TH1ResModules");
113  int32_t i_residuals_Nbins = Parameters.getParameter<int32_t>("Nbinx");
114  double d_residual_xmin = Parameters.getParameter<double>("xmin");
115  double d_residual_xmax = Parameters.getParameter<double>("xmax");
116  Parameters = conf_.getParameter<edm::ParameterSet>("TH1NormResModules");
117  int32_t i_normres_Nbins = Parameters.getParameter<int32_t>("Nbinx");
118  double d_normres_xmin = Parameters.getParameter<double>("xmin");
119  double d_normres_xmax = Parameters.getParameter<double>("xmax");
120 
121  // use SistripHistoId for producing histogram id (and title)
122  SiStripHistoId hidmanager;
123 
124  SiStripFolderOrganizer strip_organizer;
125  auto pixel_organizer = SiPixelFolderOrganizer(false);
126 
127  // Collect list of modules from Tracker Geometry
128  // book histo per each detector module
129  auto ids = TG->detIds(); // or detUnitIds?
130  for (DetId id : ids) {
131  auto ModuleID = id.rawId();
132  auto isPixel = id.subdetId() == 1 || id.subdetId() == 2;
133  if (isPixel != (pixel_or_strip == TRACKERTYPE_PIXEL))
134  continue;
135 
136  // Book module histogramms?
137  if (ModOn) {
138  switch (id.subdetId()) {
139  case 1:
140  pixel_organizer.setModuleFolder(ibooker, ModuleID, 0);
141  break;
142  case 2:
143  pixel_organizer.setModuleFolder(ibooker, ModuleID, 0);
144  break;
145  default:
146  strip_organizer.setDetectorFolder(ModuleID, tTopo);
147  }
148  {
149  // this sounds strip specific but also works for pixel
150  std::string hid = hidmanager.createHistoId("HitResidualsX", "det", ModuleID);
151  std::string normhid = hidmanager.createHistoId("NormalizedHitResidualsX", "det", ModuleID);
152  auto &histos = m_ModuleResiduals[std::make_pair("", ModuleID)];
153  histos.x.base = ibooker.book1D(hid, hid, i_residuals_Nbins, d_residual_xmin, d_residual_xmax);
154  histos.x.base->setAxisTitle("(x_{pred} - x_{rec})' [cm]");
155  histos.x.normed = ibooker.book1D(normhid, normhid, i_normres_Nbins, d_normres_xmin, d_normres_xmax);
156  histos.x.normed->setAxisTitle("(x_{pred} - x_{rec})'/#sigma");
157  }
158  {
159  std::string hid = hidmanager.createHistoId("HitResidualsY", "det", ModuleID);
160  std::string normhid = hidmanager.createHistoId("NormalizedHitResidualsY", "det", ModuleID);
161  auto &histos = m_ModuleResiduals[std::make_pair("", ModuleID)];
162  histos.y.base = ibooker.book1D(hid, hid, i_residuals_Nbins, d_residual_xmin, d_residual_xmax);
163  histos.y.base->setAxisTitle("(y_{pred} - y_{rec})' [cm]");
164  histos.y.normed = ibooker.book1D(normhid, normhid, i_normres_Nbins, d_normres_xmin, d_normres_xmax);
165  histos.y.normed->setAxisTitle("(y_{pred} - y_{rec})'/#sigma");
166  }
167  }
168 
169  auto subdetandlayer = findSubdetAndLayer(ModuleID, tTopo);
170  if (m_SubdetLayerResiduals.find(subdetandlayer) == m_SubdetLayerResiduals.end()) {
171  // add new histograms
172  auto &histos = m_SubdetLayerResiduals[subdetandlayer];
173  switch (id.subdetId()) {
174  // Pixel Barrel, Endcap
175  // We can't use the folder organizer here (SiPixelActionExecutor.cc#1638
176  // does the same)
177  case 1:
178  ibooker.setCurrentFolder("Pixel/Barrel");
179  break;
180  case 2:
181  ibooker.setCurrentFolder("Pixel/Endcap");
182  break;
183  // All strip
184  default:
185  strip_organizer.setLayerFolder(ModuleID, tTopo, subdetandlayer.second);
186  }
187 
188  auto isBarrel = subdetandlayer.first.find("B") != std::string::npos;
189 
190  auto xy = std::vector<std::pair<HistoPair &, const char *>>{std::make_pair(std::ref(histos.x), "X"),
191  std::make_pair(std::ref(histos.y), "Y")};
192  for (auto &histopair : xy) {
193  // book histogramms on layer level, check for barrel/pixel only for
194  // correct labeling
195 
196  // Skip the Y plots for strips.
197  if (!isPixel && histopair.second[0] == 'Y')
198  continue;
199 
200  std::string histoname = isPixel ? ( // Pixel name
201  Form("HitResiduals%s_%s%d",
202  histopair.second,
203  isBarrel ? "L" : (subdetandlayer.second > 0 ? "Dp" : "Dm"),
204  std::abs(subdetandlayer.second)))
205  : (Form("HitResiduals_%s__%s__%d", // Strip TODO: We use a
206  // legacy name.
207  subdetandlayer.first.c_str(),
208  isBarrel ? "Layer" : "wheel",
209  std::abs(subdetandlayer.second)));
210 
211  std::string histotitle = Form("HitResiduals %s on %s%s full %s %d",
212  histopair.second,
213  subdetandlayer.first.c_str(),
214  isBarrel ? "" : (subdetandlayer.second > 0 ? "+" : "-"),
215  isBarrel ? "Layer" : (isPixel ? "Disk" : "Wheel"),
216  std::abs(subdetandlayer.second));
217 
218  std::string normhistoname = Form("Normalized%s", histoname.c_str());
219  std::string normhistotitle = Form("Normalized%s", histotitle.c_str());
220 
221  // std::cout << "##### Booking: " << ibooker.pwd() << " title " <<
222  // histoname << std::endl;
223 
224  histopair.first.base =
225  ibooker.book1D(histoname.c_str(), histotitle.c_str(), i_residuals_Nbins, d_residual_xmin, d_residual_xmax);
226  histopair.first.base->setAxisTitle("(x_{pred} - x_{rec})' [cm]");
227 
228  histopair.first.normed = ibooker.book1D(
229  normhistoname.c_str(), normhistotitle.c_str(), i_normres_Nbins, d_normres_xmin, d_normres_xmax);
230  histopair.first.normed->setAxisTitle("(x_{pred} - x_{rec})'/#sigma");
231  }
232  }
233  } // end loop over activeDets
234 }
T getParameter(std::string const &) const
bool isBarrel(GeomDetEnumerators::SubDetector m)
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
vector< ParameterSet > Parameters
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
const DetIdContainer & detIds() const override
Returm a vector of all GeomDet DetIds (including those of GeomDetUnits)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
Definition: DetId.h:18
T get() const
Definition: EventSetup.h:71
bool isPixel(HitType hitType)
std::pair< std::string, int32_t > findSubdetAndLayer(uint32_t ModuleID, const TrackerTopology *tTopo)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
T const * product() const
Definition: ESHandle.h:86
template<TrackerType pixel_or_strip>
void MonitorTrackResidualsBase< pixel_or_strip >::dqmBeginRun ( const edm::Run ,
const edm::EventSetup  
)
override

Definition at line 55 of file MonitorTrackResiduals.cc.

References MonitorTrackResidualsBase< pixel_or_strip >::genTriggerEventFlag_, GenericTriggerEventFlag::initRun(), and GenericTriggerEventFlag::on().

55  {
56  // Initialize the GenericTriggerEventFlag
57  if (genTriggerEventFlag_->on())
59 }
GenericTriggerEventFlag * genTriggerEventFlag_
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
template<TrackerType pixel_or_strip>
std::pair< std::string, int32_t > MonitorTrackResidualsBase< pixel_or_strip >::findSubdetAndLayer ( uint32_t  ModuleID,
const TrackerTopology tTopo 
)
private

Definition at line 62 of file MonitorTrackResiduals.cc.

References TrackerTopology::pxbLayer(), TrackerTopology::pxfDisk(), TrackerTopology::pxfSide(), AlCaHLTBitMon_QueryRunRegistry::string, TrackerTopology::tecSide(), TrackerTopology::tecWheel(), TrackerTopology::tibLayer(), TrackerTopology::tidSide(), TrackerTopology::tidWheel(), and TrackerTopology::tobLayer().

Referenced by MonitorTrackResidualsBase< pixel_or_strip >::analyze(), and MonitorTrackResidualsBase< pixel_or_strip >::createMEs().

63  {
64  std::string subdet = "";
65  int32_t layer = 0;
66  auto id = DetId(ModuleID);
67  switch (id.subdetId()) {
68  // Pixel Barrel, Endcap
69  case 1:
70  subdet = "BPIX";
71  layer = tTopo->pxbLayer(id);
72  break;
73  case 2:
74  subdet = "FPIX";
75  layer = tTopo->pxfDisk(id) * (tTopo->pxfSide(ModuleID) == 1 ? -1 : +1);
76  break;
77  // Strip TIB, TID, TOB, TEC
78  case 3:
79  subdet = "TIB";
80  layer = tTopo->tibLayer(id);
81  break;
82  case 4:
83  subdet = "TID";
84  layer = tTopo->tidWheel(id) * (tTopo->tidSide(ModuleID) == 1 ? -1 : +1);
85  break;
86  case 5:
87  subdet = "TOB";
88  layer = tTopo->tobLayer(id);
89  break;
90  case 6:
91  subdet = "TEC";
92  layer = tTopo->tecWheel(id) * (tTopo->tecSide(ModuleID) == 1 ? -1 : +1);
93  break;
94  default:
95  // TODO: Fail loudly.
96  subdet = "UNKNOWN";
97  layer = 0;
98  }
99  return std::make_pair(subdet, layer);
100 }
unsigned int tibLayer(const DetId &id) const
unsigned int pxfDisk(const DetId &id) const
unsigned int tidWheel(const DetId &id) const
unsigned int tidSide(const DetId &id) const
unsigned int pxbLayer(const DetId &id) const
Definition: DetId.h:18
unsigned int pxfSide(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const

Member Data Documentation

template<TrackerType pixel_or_strip>
TrackerValidationVariables MonitorTrackResidualsBase< pixel_or_strip >::avalidator_
private
template<TrackerType pixel_or_strip>
edm::ParameterSet MonitorTrackResidualsBase< pixel_or_strip >::conf_
private
template<TrackerType pixel_or_strip>
GenericTriggerEventFlag* MonitorTrackResidualsBase< pixel_or_strip >::genTriggerEventFlag_
private
template<TrackerType pixel_or_strip>
unsigned long long MonitorTrackResidualsBase< pixel_or_strip >::m_cacheID_
private
template<TrackerType pixel_or_strip>
HistoSet MonitorTrackResidualsBase< pixel_or_strip >::m_ModuleResiduals
private
template<TrackerType pixel_or_strip>
HistoSet MonitorTrackResidualsBase< pixel_or_strip >::m_SubdetLayerResiduals
private
template<TrackerType pixel_or_strip>
bool MonitorTrackResidualsBase< pixel_or_strip >::ModOn
private
template<TrackerType pixel_or_strip>
edm::EDGetTokenT<reco::VertexCollection> MonitorTrackResidualsBase< pixel_or_strip >::offlinePrimaryVerticesToken_
private
template<TrackerType pixel_or_strip>
edm::ParameterSet MonitorTrackResidualsBase< pixel_or_strip >::Parameters
private

Definition at line 72 of file MonitorTrackResiduals.h.

template<TrackerType pixel_or_strip>
std::unique_ptr<TkHistoMap> MonitorTrackResidualsBase< pixel_or_strip >::tkhisto_ResidualsMean
private