CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
SiStripRecHitsValid Class Reference

#include <SiStripRecHitsValid.h>

Inheritance diagram for SiStripRecHitsValid:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Classes

struct  LayerMEs
 
struct  RecHitProperties
 
struct  StereoAndMatchedMEs
 
struct  SubDetMEs
 
struct  TotalMEs
 

Public Member Functions

 SiStripRecHitsValid (const edm::ParameterSet &conf)
 
 ~SiStripRecHitsValid () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
void bookHistograms (DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es) override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Member Functions

MonitorElementbookME1D (DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
 
void createLayerMEs (DQMStore::IBooker &ibooker, std::string label)
 
void createMEs (DQMStore::IBooker &ibooker, const edm::EventSetup &es)
 
void createStereoAndMatchedMEs (DQMStore::IBooker &ibooker, std::string label)
 
void createSubDetMEs (DQMStore::IBooker &ibooker, std::string label)
 
void createTotalMEs (DQMStore::IBooker &ibooker)
 
void fillME (MonitorElement *ME, float value1)
 
void fillME (MonitorElement *ME, float value1, float value2)
 
void fillME (MonitorElement *ME, float value1, float value2, float value3)
 
void fillME (MonitorElement *ME, float value1, float value2, float value3, float value4)
 
std::pair< LocalPoint, LocalVectorprojectHit (const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
 
void rechitanalysis (SiStripRecHit2D const rechit, const StripTopology &topol, TrackerHitAssociator &associate)
 
void rechitanalysis_matched (SiStripMatchedRecHit2D const rechit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate)
 

Private Attributes

edm::ParameterSet conf_
 
std::map< std::string, std::vector< uint32_t > > LayerDetMap
 
std::map< std::string, LayerMEsLayerMEsMap
 
unsigned long long m_cacheID_
 
edm::EDGetTokenT< SiStripMatchedRecHit2DCollectionmatchedRecHitsToken_
 
RecHitProperties rechitpro
 
edm::EDGetTokenT< SiStripRecHit2DCollectionrphiRecHitsToken_
 
edm::ESHandle< SiStripDetCablingSiStripDetCabling_
 
std::map< std::string, std::vector< uint32_t > > StereoAndMatchedDetMap
 
std::map< std::string, StereoAndMatchedMEsStereoAndMatchedMEsMap
 
edm::EDGetTokenT< SiStripRecHit2DCollectionstereoRecHitsToken_
 
std::vector< std::string > SubDetList_
 
std::map< std::string, SubDetMEsSubDetMEsMap
 
bool switchAdcrphi
 
bool switchAdcStereo
 
bool switchBunchMatched
 
bool switchBunchrphi
 
bool switchBunchStereo
 
bool switchChi2Matched
 
bool switchChi2rphi
 
bool switchChi2Stereo
 
bool switchEventMatched
 
bool switchEventrphi
 
bool switchEventStereo
 
bool switchNsimHitMatched
 
bool switchNsimHitrphi
 
bool switchNsimHitStereo
 
bool switchNumMatched
 
bool switchNumrphi
 
bool switchNumStereo
 
bool switchNumTotMatched
 
bool switchNumTotrphi
 
bool switchNumTotStereo
 
bool switchPosxMatched
 
bool switchPosxrphi
 
bool switchPosxStereo
 
bool switchPosyMatched
 
bool switchPullLFrphi
 
bool switchPullLFStereo
 
bool switchPullMFrphi
 
bool switchPullMFStereo
 
bool switchResolxMatched
 
bool switchResolxrphi
 
bool switchResolxStereo
 
bool switchResolyMatched
 
bool switchResrphi
 
bool switchResStereo
 
bool switchResxMatched
 
bool switchResyMatched
 
bool switchWclusrphi
 
bool switchWclusStereo
 
std::string topFolderName_
 
TotalMEs totalMEs
 
TrackerHitAssociator::Config trackerHitAssociatorConfig_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 47 of file SiStripRecHitsValid.h.

Constructor & Destructor Documentation

◆ SiStripRecHitsValid()

SiStripRecHitsValid::SiStripRecHitsValid ( const edm::ParameterSet conf)

Definition at line 28 of file SiStripRecHitsValid.cc.

29  : conf_(ps),
30  trackerHitAssociatorConfig_(ps, consumesCollector()),
31  m_cacheID_(0)
32 // matchedRecHits_( ps.getParameter<edm::InputTag>("matchedRecHits") ),
33 // rphiRecHits_( ps.getParameter<edm::InputTag>("rphiRecHits") ),
34 // stereoRecHits_( ps.getParameter<edm::InputTag>("stereoRecHits") )
35 {
36  matchedRecHitsToken_ = consumes<SiStripMatchedRecHit2DCollection>(ps.getParameter<edm::InputTag>("matchedRecHits"));
37 
38  rphiRecHitsToken_ = consumes<SiStripRecHit2DCollection>(ps.getParameter<edm::InputTag>("rphiRecHits"));
39 
40  stereoRecHitsToken_ = consumes<SiStripRecHit2DCollection>(ps.getParameter<edm::InputTag>("stereoRecHits"));
41 
42  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
43 
44  SubDetList_ = conf_.getParameter<std::vector<std::string> >("SubDetList");
45 
46  edm::ParameterSet ParametersNumTotrphi = conf_.getParameter<edm::ParameterSet>("TH1NumTotrphi");
47  switchNumTotrphi = ParametersNumTotrphi.getParameter<bool>("switchon");
48 
49  edm::ParameterSet ParametersNumTotStereo = conf_.getParameter<edm::ParameterSet>("TH1NumTotStereo");
50  switchNumTotStereo = ParametersNumTotStereo.getParameter<bool>("switchon");
51 
52  edm::ParameterSet ParametersNumTotMatched = conf_.getParameter<edm::ParameterSet>("TH1NumTotMatched");
53  switchNumTotMatched = ParametersNumTotMatched.getParameter<bool>("switchon");
54 
55  edm::ParameterSet ParametersNumrphi = conf_.getParameter<edm::ParameterSet>("TH1Numrphi");
56  switchNumrphi = ParametersNumrphi.getParameter<bool>("switchon");
57 
58  edm::ParameterSet ParametersBunchrphi = conf_.getParameter<edm::ParameterSet>("TH1Bunchrphi");
59  switchBunchrphi = ParametersBunchrphi.getParameter<bool>("switchon");
60 
61  edm::ParameterSet ParametersEventrphi = conf_.getParameter<edm::ParameterSet>("TH1Eventrphi");
62  switchEventrphi = ParametersEventrphi.getParameter<bool>("switchon");
63 
64  edm::ParameterSet ParametersNumStereo = conf_.getParameter<edm::ParameterSet>("TH1NumStereo");
65  switchNumStereo = ParametersNumStereo.getParameter<bool>("switchon");
66 
67  edm::ParameterSet ParametersBunchStereo = conf_.getParameter<edm::ParameterSet>("TH1BunchStereo");
68  switchBunchStereo = ParametersBunchStereo.getParameter<bool>("switchon");
69 
70  edm::ParameterSet ParametersEventStereo = conf_.getParameter<edm::ParameterSet>("TH1EventStereo");
71  switchEventStereo = ParametersEventStereo.getParameter<bool>("switchon");
72 
73  edm::ParameterSet ParametersNumMatched = conf_.getParameter<edm::ParameterSet>("TH1NumMatched");
74  switchNumMatched = ParametersNumMatched.getParameter<bool>("switchon");
75 
76  edm::ParameterSet ParametersBunchMatched = conf_.getParameter<edm::ParameterSet>("TH1BunchMatched");
77  switchBunchMatched = ParametersBunchMatched.getParameter<bool>("switchon");
78 
79  edm::ParameterSet ParametersEventMatched = conf_.getParameter<edm::ParameterSet>("TH1EventMatched");
80  switchEventMatched = ParametersEventMatched.getParameter<bool>("switchon");
81 
82  edm::ParameterSet ParametersWclusrphi = conf_.getParameter<edm::ParameterSet>("TH1Wclusrphi");
83  switchWclusrphi = ParametersWclusrphi.getParameter<bool>("switchon");
84 
85  edm::ParameterSet ParametersAdcrphi = conf_.getParameter<edm::ParameterSet>("TH1Adcrphi");
86  switchAdcrphi = ParametersAdcrphi.getParameter<bool>("switchon");
87 
88  edm::ParameterSet ParametersPosxrphi = conf_.getParameter<edm::ParameterSet>("TH1Posxrphi");
89  switchPosxrphi = ParametersPosxrphi.getParameter<bool>("switchon");
90 
91  edm::ParameterSet ParametersResolxrphi = conf_.getParameter<edm::ParameterSet>("TH1Resolxrphi");
92  switchResolxrphi = ParametersResolxrphi.getParameter<bool>("switchon");
93 
94  edm::ParameterSet ParametersResrphi = conf_.getParameter<edm::ParameterSet>("TH1Resrphi");
95  switchResrphi = ParametersResrphi.getParameter<bool>("switchon");
96 
97  edm::ParameterSet ParametersPullLFrphi = conf_.getParameter<edm::ParameterSet>("TH1PullLFrphi");
98  switchPullLFrphi = ParametersPullLFrphi.getParameter<bool>("switchon");
99 
100  edm::ParameterSet ParametersPullMFrphi = conf_.getParameter<edm::ParameterSet>("TH1PullMFrphi");
101  switchPullMFrphi = ParametersPullMFrphi.getParameter<bool>("switchon");
102 
103  edm::ParameterSet ParametersChi2rphi = conf_.getParameter<edm::ParameterSet>("TH1Chi2rphi");
104  switchChi2rphi = ParametersChi2rphi.getParameter<bool>("switchon");
105 
106  edm::ParameterSet ParametersNsimHitrphi = conf_.getParameter<edm::ParameterSet>("TH1NsimHitrphi");
107  switchNsimHitrphi = ParametersNsimHitrphi.getParameter<bool>("switchon");
108 
109  edm::ParameterSet ParametersWclusStereo = conf_.getParameter<edm::ParameterSet>("TH1WclusStereo");
110  switchWclusStereo = ParametersWclusStereo.getParameter<bool>("switchon");
111 
112  edm::ParameterSet ParametersAdcStereo = conf_.getParameter<edm::ParameterSet>("TH1AdcStereo");
113  switchAdcStereo = ParametersAdcStereo.getParameter<bool>("switchon");
114 
115  edm::ParameterSet ParametersPosxStereo = conf_.getParameter<edm::ParameterSet>("TH1PosxStereo");
116  switchPosxStereo = ParametersPosxStereo.getParameter<bool>("switchon");
117 
118  edm::ParameterSet ParametersResolxStereo = conf_.getParameter<edm::ParameterSet>("TH1ResolxStereo");
119  switchResolxStereo = ParametersResolxStereo.getParameter<bool>("switchon");
120 
121  edm::ParameterSet ParametersResStereo = conf_.getParameter<edm::ParameterSet>("TH1ResStereo");
122  switchResStereo = ParametersResStereo.getParameter<bool>("switchon");
123 
124  edm::ParameterSet ParametersPullLFStereo = conf_.getParameter<edm::ParameterSet>("TH1PullLFStereo");
125  switchPullLFStereo = ParametersPullLFStereo.getParameter<bool>("switchon");
126 
127  edm::ParameterSet ParametersPullMFStereo = conf_.getParameter<edm::ParameterSet>("TH1PullMFStereo");
128  switchPullMFStereo = ParametersPullMFStereo.getParameter<bool>("switchon");
129 
130  edm::ParameterSet ParametersChi2Stereo = conf_.getParameter<edm::ParameterSet>("TH1Chi2Stereo");
131  switchChi2Stereo = ParametersChi2Stereo.getParameter<bool>("switchon");
132 
133  edm::ParameterSet ParametersNsimHitStereo = conf_.getParameter<edm::ParameterSet>("TH1NsimHitStereo");
134  switchNsimHitStereo = ParametersNsimHitStereo.getParameter<bool>("switchon");
135 
136  edm::ParameterSet ParametersPosxMatched = conf_.getParameter<edm::ParameterSet>("TH1PosxMatched");
137  switchPosxMatched = ParametersPosxMatched.getParameter<bool>("switchon");
138 
139  edm::ParameterSet ParametersPosyMatched = conf_.getParameter<edm::ParameterSet>("TH1PosyMatched");
140  switchPosyMatched = ParametersPosyMatched.getParameter<bool>("switchon");
141 
142  edm::ParameterSet ParametersResolxMatched = conf_.getParameter<edm::ParameterSet>("TH1ResolxMatched");
143  switchResolxMatched = ParametersResolxMatched.getParameter<bool>("switchon");
144 
145  edm::ParameterSet ParametersResolyMatched = conf_.getParameter<edm::ParameterSet>("TH1ResolyMatched");
146  switchResolyMatched = ParametersResolyMatched.getParameter<bool>("switchon");
147 
148  edm::ParameterSet ParametersResxMatched = conf_.getParameter<edm::ParameterSet>("TH1ResxMatched");
149  switchResxMatched = ParametersResxMatched.getParameter<bool>("switchon");
150 
151  edm::ParameterSet ParametersResyMatched = conf_.getParameter<edm::ParameterSet>("TH1ResyMatched");
152  switchResyMatched = ParametersResyMatched.getParameter<bool>("switchon");
153 
154  edm::ParameterSet ParametersChi2Matched = conf_.getParameter<edm::ParameterSet>("TH1Chi2Matched");
155  switchChi2Matched = ParametersChi2Matched.getParameter<bool>("switchon");
156 
157  edm::ParameterSet ParametersNsimHitMatched = conf_.getParameter<edm::ParameterSet>("TH1NsimHitMatched");
158  switchNsimHitMatched = ParametersNsimHitMatched.getParameter<bool>("switchon");
159 }

References conf_, edm::ParameterSet::getParameter(), matchedRecHitsToken_, rphiRecHitsToken_, stereoRecHitsToken_, AlCaHLTBitMon_QueryRunRegistry::string, SubDetList_, switchAdcrphi, switchAdcStereo, switchBunchMatched, switchBunchrphi, switchBunchStereo, switchChi2Matched, switchChi2rphi, switchChi2Stereo, switchEventMatched, switchEventrphi, switchEventStereo, switchNsimHitMatched, switchNsimHitrphi, switchNsimHitStereo, switchNumMatched, switchNumrphi, switchNumStereo, switchNumTotMatched, switchNumTotrphi, switchNumTotStereo, switchPosxMatched, switchPosxrphi, switchPosxStereo, switchPosyMatched, switchPullLFrphi, switchPullLFStereo, switchPullMFrphi, switchPullMFStereo, switchResolxMatched, switchResolxrphi, switchResolxStereo, switchResolyMatched, switchResrphi, switchResStereo, switchResxMatched, switchResyMatched, switchWclusrphi, switchWclusStereo, and topFolderName_.

◆ ~SiStripRecHitsValid()

SiStripRecHitsValid::~SiStripRecHitsValid ( )
override

Definition at line 161 of file SiStripRecHitsValid.cc.

161 {}

Member Function Documentation

◆ analyze()

void SiStripRecHitsValid::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 175 of file SiStripRecHitsValid.cc.

175  {
176  LogInfo("EventInfo") << " Run = " << e.id().run() << " Event = " << e.id().event();
177 
178  //Retrieve tracker topology from geometry
179  edm::ESHandle<TrackerTopology> tTopoHandle;
180  es.get<TrackerTopologyRcd>().get(tTopoHandle);
181  const TrackerTopology* const tTopo = tTopoHandle.product();
182 
183  // Step A: Get Inputs
187  e.getByToken(matchedRecHitsToken_, rechitsmatched);
188  e.getByToken(rphiRecHitsToken_, rechitsrphi);
189  e.getByToken(stereoRecHitsToken_, rechitsstereo);
190 
191  //Variables in order to count total num of rechitrphi,rechitstereo, rechitmatched in subdetectors
192  std::map<std::string, int> totnumrechitrphi;
193  std::map<std::string, int> totnumrechitstereo;
194  std::map<std::string, int> totnumrechitmatched;
195  int totrechitrphi = 0;
196  int totrechitstereo = 0;
197  int totrechitmatched = 0;
198 
200 
202  es.get<TrackerDigiGeometryRecord>().get(pDD);
203  const TrackerGeometry& tracker(*pDD);
204 
205  SiStripHistoId hidmanager;
206  SiStripFolderOrganizer fold_organ;
207  for (auto const& theDetSet : *rechitsrphi) {
208  DetId detid = theDetSet.detId();
209  uint32_t myid = detid.rawId();
210  totrechitrphi += theDetSet.size();
211 
212  std::string label = hidmanager.getSubdetid(myid, tTopo, true);
213  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
214  std::pair<std::string, int32_t> det_lay_pair = fold_organ.GetSubDetAndLayer(myid, tTopo, true);
215 
216  totnumrechitrphi[det_lay_pair.first] = totnumrechitrphi[det_lay_pair.first] + theDetSet.size();
217  //loop over rechits-rphi in the same subdetector
218  if (iLayerME != LayerMEsMap.end()) {
219  for (auto const& rechit : theDetSet) {
220  const GeomDetUnit* det = tracker.idToDetUnit(detid);
221  const StripTopology& topol = static_cast<const StripGeomDetUnit*>(det)->specificTopology();
222  //analyze RecHits
223  rechitanalysis(rechit, topol, associate);
224  // fill the result in a histogram
225  fillME(iLayerME->second.meWclusrphi, rechitpro.clusiz);
226  fillME(iLayerME->second.meAdcrphi, rechitpro.cluchg);
227  fillME(iLayerME->second.mePosxrphi, rechitpro.x);
228  fillME(iLayerME->second.meResolxrphi, rechitpro.resolxx);
229  fillME(iLayerME->second.meNsimHitrphi, rechitpro.NsimHit);
230  if (rechitpro.NsimHit > 0) {
231  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find(det_lay_pair.first);
232  fillME(iSubDetME->second.meBunchrphi, rechitpro.bunch);
233  if (rechitpro.bunch == 0)
234  fillME(iSubDetME->second.meEventrphi, rechitpro.event);
235  }
236  if (rechitpro.resx != -999999. || rechitpro.pullMF != -999999. || rechitpro.chi2 != -999999.) {
237  fillME(iLayerME->second.meResrphi, rechitpro.resx);
238  fillME(iLayerME->second.mePullLFrphi, rechitpro.resx / sqrt(rechitpro.resolxx));
239  fillME(iLayerME->second.mePullMFrphi, rechitpro.pullMF);
240  fillME(iLayerME->second.meChi2rphi, rechitpro.chi2);
241  }
242  }
243  }
244  }
245 
246  // start loops over detectors with detected rechitsstereo
247  for (auto const& theDetSet : *rechitsstereo) {
248  DetId detid = theDetSet.detId();
249  uint32_t myid = detid.rawId();
250  totrechitstereo += theDetSet.size();
251 
252  std::string label = hidmanager.getSubdetid(myid, tTopo, true);
253  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
254  std::pair<std::string, int32_t> det_lay_pair = fold_organ.GetSubDetAndLayer(myid, tTopo, true);
255 
256  totnumrechitstereo[det_lay_pair.first] = totnumrechitstereo[det_lay_pair.first] + theDetSet.size();
257  //loop over rechits-stereo in the same subdetector
258  if (iStereoAndMatchedME != StereoAndMatchedMEsMap.end()) {
259  for (auto const& rechit : theDetSet) {
260  const GeomDetUnit* det = tracker.idToDetUnit(detid);
261  const StripTopology& topol = static_cast<const StripGeomDetUnit*>(det)->specificTopology();
262  //analyze RecHits
263  rechitanalysis(rechit, topol, associate);
264  // fill the result in a histogram
265  fillME(iStereoAndMatchedME->second.meWclusStereo, rechitpro.clusiz);
266  fillME(iStereoAndMatchedME->second.meAdcStereo, rechitpro.cluchg);
267  fillME(iStereoAndMatchedME->second.mePosxStereo, rechitpro.x);
268  fillME(iStereoAndMatchedME->second.meResolxStereo, sqrt(rechitpro.resolxx));
269  fillME(iStereoAndMatchedME->second.meNsimHitStereo, rechitpro.NsimHit);
270  if (rechitpro.NsimHit > 0) {
271  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find(det_lay_pair.first);
272  fillME(iSubDetME->second.meBunchStereo, rechitpro.bunch);
273  if (rechitpro.bunch == 0)
274  fillME(iSubDetME->second.meEventStereo, rechitpro.event);
275  }
276  if (rechitpro.resx != -999999. || rechitpro.pullMF != -999999. || rechitpro.chi2 != -999999.) {
277  fillME(iStereoAndMatchedME->second.meResStereo, rechitpro.resx);
278  fillME(iStereoAndMatchedME->second.mePullLFStereo, rechitpro.resx / sqrt(rechitpro.resolxx));
279  fillME(iStereoAndMatchedME->second.mePullMFStereo, rechitpro.pullMF);
280  fillME(iStereoAndMatchedME->second.meChi2Stereo, rechitpro.chi2);
281  }
282  }
283  }
284  }
285 
286  // start loops over detectors with detected rechitmatched
287  for (auto const& theDetSet : *rechitsmatched) {
288  DetId detid = theDetSet.detId();
289  uint32_t myid = detid.rawId();
290  totrechitmatched += theDetSet.size();
291 
292  std::string label = hidmanager.getSubdetid(myid, tTopo, true);
293  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
294  std::pair<std::string, int32_t> det_lay_pair = fold_organ.GetSubDetAndLayer(myid, tTopo, true);
295 
296  totnumrechitmatched[det_lay_pair.first] = totnumrechitmatched[det_lay_pair.first] + theDetSet.size();
297  //loop over rechits-matched in the same subdetector
298  if (iStereoAndMatchedME != StereoAndMatchedMEsMap.end()) {
299  for (auto const& rechit : theDetSet) {
300  const GluedGeomDet* gluedDet = static_cast<const GluedGeomDet*>(tracker.idToDet(rechit.geographicalId()));
301  //analyze RecHits
302  rechitanalysis_matched(rechit, gluedDet, associate);
303  // fill the result in a histogram
304  fillME(iStereoAndMatchedME->second.mePosxMatched, rechitpro.x);
305  fillME(iStereoAndMatchedME->second.mePosyMatched, rechitpro.y);
306  fillME(iStereoAndMatchedME->second.meResolxMatched, sqrt(rechitpro.resolxx));
307  fillME(iStereoAndMatchedME->second.meResolyMatched, sqrt(rechitpro.resolyy));
308  fillME(iStereoAndMatchedME->second.meNsimHitMatched, rechitpro.NsimHit);
309  if (rechitpro.NsimHit > 0) {
310  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find(det_lay_pair.first);
311  fillME(iSubDetME->second.meBunchMatched, rechitpro.bunch);
312  if (rechitpro.bunch == 0)
313  fillME(iSubDetME->second.meEventMatched, rechitpro.event);
314  }
315  if (rechitpro.resx != -999999. || rechitpro.resy != -999999. || rechitpro.chi2 != -999999.) {
316  fillME(iStereoAndMatchedME->second.meResxMatched, rechitpro.resx);
317  fillME(iStereoAndMatchedME->second.meResyMatched, rechitpro.resy);
318  fillME(iStereoAndMatchedME->second.meChi2Matched, rechitpro.chi2);
319  }
320  }
321  }
322  } //End of loops over detectors
323 
324  //now fill the cumulative histograms of the hits
325  for (std::vector<std::string>::iterator iSubdet = SubDetList_.begin(); iSubdet != SubDetList_.end(); ++iSubdet) {
326  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find((*iSubdet));
327  fillME(iSubDetME->second.meNumrphi, totnumrechitrphi[(*iSubdet)]);
328  fillME(iSubDetME->second.meNumStereo, totnumrechitstereo[(*iSubdet)]);
329  fillME(iSubDetME->second.meNumMatched, totnumrechitmatched[(*iSubdet)]);
330  }
331 
332  fillME(totalMEs.meNumTotrphi, totrechitrphi);
333  fillME(totalMEs.meNumTotStereo, totrechitstereo);
334  fillME(totalMEs.meNumTotMatched, totrechitmatched);
335 }

References SiStripRecHitsValid::RecHitProperties::bunch, SiStripRecHitsValid::RecHitProperties::chi2, SiStripRecHitsValid::RecHitProperties::cluchg, SiStripRecHitsValid::RecHitProperties::clusiz, MillePedeFileConverter_cfg::e, SiStripRecHitsValid::RecHitProperties::event, fillME(), edm::EventSetup::get(), get, SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripHistoId::getSubdetid(), label, LayerMEsMap, matchedRecHitsToken_, SiStripRecHitsValid::TotalMEs::meNumTotMatched, SiStripRecHitsValid::TotalMEs::meNumTotrphi, SiStripRecHitsValid::TotalMEs::meNumTotStereo, SiStripRecHitsValid::RecHitProperties::NsimHit, edm::ESHandle< T >::product(), SiStripRecHitsValid::RecHitProperties::pullMF, DetId::rawId(), rechitanalysis(), rechitanalysis_matched(), rechitpro, SiStripRecHitsValid::RecHitProperties::resolxx, SiStripRecHitsValid::RecHitProperties::resolyy, SiStripRecHitsValid::RecHitProperties::resx, SiStripRecHitsValid::RecHitProperties::resy, rphiRecHitsToken_, mathSSE::sqrt(), StereoAndMatchedMEsMap, stereoRecHitsToken_, AlCaHLTBitMon_QueryRunRegistry::string, SubDetList_, SubDetMEsMap, totalMEs, PbPb_ZMuSkimMuonDPG_cff::tracker, trackerHitAssociatorConfig_, SiStripRecHitsValid::RecHitProperties::x, and SiStripRecHitsValid::RecHitProperties::y.

◆ bookHistograms()

void SiStripRecHitsValid::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run run,
const edm::EventSetup es 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 164 of file SiStripRecHitsValid.cc.

164  {
165  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
166  if (m_cacheID_ != cacheID) {
167  m_cacheID_ = cacheID;
168  edm::LogInfo("SiStripRecHitsValid") << "SiStripRecHitsValid::beginRun: "
169  << " Creating MEs for new Cabling ";
170 
171  createMEs(ibooker, es);
172  }
173 }

References createMEs(), edm::EventSetup::get(), and m_cacheID_.

◆ bookME1D()

SiStripRecHitsValid::MonitorElement * SiStripRecHitsValid::bookME1D ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName,
const char *  HistoTitle 
)
inlineprivate

Definition at line 995 of file SiStripRecHitsValid.cc.

998  {
1000  return ibooker.book1D(HistoName,
1001  HistoTitle,
1002  parameters.getParameter<int32_t>("Nbinx"),
1003  parameters.getParameter<double>("xmin"),
1004  parameters.getParameter<double>("xmax"));
1005 }

References dqm::implementation::IBooker::book1D(), conf_, and edm::ParameterSet::getParameter().

Referenced by createLayerMEs(), createStereoAndMatchedMEs(), createSubDetMEs(), and createTotalMEs().

◆ createLayerMEs()

void SiStripRecHitsValid::createLayerMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 657 of file SiStripRecHitsValid.cc.

657  {
658  SiStripHistoId hidmanager;
659  LayerMEs layerMEs;
660 
661  layerMEs.meWclusrphi = nullptr;
662  layerMEs.meAdcrphi = nullptr;
663  layerMEs.mePosxrphi = nullptr;
664  layerMEs.meResolxrphi = nullptr;
665  layerMEs.meResrphi = nullptr;
666  layerMEs.mePullLFrphi = nullptr;
667  layerMEs.mePullMFrphi = nullptr;
668  layerMEs.meChi2rphi = nullptr;
669  layerMEs.meNsimHitrphi = nullptr;
670 
671  //Wclusrphi
672  if (switchWclusrphi) {
673  layerMEs.meWclusrphi = bookME1D(ibooker,
674  "TH1Wclusrphi",
675  hidmanager.createHistoLayer("Wclus_rphi", "layer", label, "").c_str(),
676  "Cluster Width - Number of strips that belong to the RecHit cluster");
677  layerMEs.meWclusrphi->setAxisTitle("Cluster Width [nr strips] in " + label);
678  }
679  //Adcrphi
680  if (switchAdcrphi) {
681  layerMEs.meAdcrphi = bookME1D(ibooker,
682  "TH1Adcrphi",
683  hidmanager.createHistoLayer("Adc_rphi", "layer", label, "").c_str(),
684  "RecHit Cluster Charge");
685  layerMEs.meAdcrphi->setAxisTitle("cluster charge [ADC] in " + label);
686  }
687  //Posxrphi
688  if (switchPosxrphi) {
689  layerMEs.mePosxrphi = bookME1D(ibooker,
690  "TH1Posxrphi",
691  hidmanager.createHistoLayer("Posx_rphi", "layer", label, "").c_str(),
692  "RecHit x coord.");
693  layerMEs.mePosxrphi->setAxisTitle("x RecHit coord. (local frame) in " + label);
694  }
695  //Resolxrphi
696  if (switchResolxrphi) {
697  layerMEs.meResolxrphi = bookME1D(ibooker,
698  "TH1Resolxrphi",
699  hidmanager.createHistoLayer("Resolx_rphi", "layer", label, "").c_str(),
700  "RecHit resol(x) coord."); //<resolor>~20micron
701  layerMEs.meResolxrphi->setAxisTitle("resol(x) RecHit coord. (local frame) in " + label);
702  }
703  //Resrphi
704  if (switchResrphi) {
705  layerMEs.meResrphi = bookME1D(ibooker,
706  "TH1Resrphi",
707  hidmanager.createHistoLayer("Res_rphi", "layer", label, "").c_str(),
708  "Residuals of the hit x coordinate");
709  layerMEs.meResrphi->setAxisTitle("RecHit Res(x) in " + label);
710  }
711  //PullLFrphi
712  if (switchPullLFrphi) {
713  layerMEs.mePullLFrphi = bookME1D(ibooker,
714  "TH1PullLFrphi",
715  hidmanager.createHistoLayer("Pull_LF_rphi", "layer", label, "").c_str(),
716  "Pull distribution");
717  layerMEs.mePullLFrphi->setAxisTitle("Pull distribution (local frame) in " + label);
718  }
719  //PullMFrphi
720  if (switchPullMFrphi) {
721  layerMEs.mePullMFrphi = bookME1D(ibooker,
722  "TH1PullMFrphi",
723  hidmanager.createHistoLayer("Pull_MF_rphi", "layer", label, "").c_str(),
724  "Pull distribution");
725  layerMEs.mePullMFrphi->setAxisTitle("Pull distribution (measurement frame) in " + label);
726  }
727  //Chi2rphi
728  if (switchChi2rphi) {
729  layerMEs.meChi2rphi = bookME1D(ibooker,
730  "TH1Chi2rphi",
731  hidmanager.createHistoLayer("Chi2_rphi", "layer", label, "").c_str(),
732  "RecHit Chi2 test");
733  layerMEs.meChi2rphi->setAxisTitle("RecHit Chi2 test in " + label);
734  }
735  //NsimHitrphi
736  if (switchNsimHitrphi) {
737  layerMEs.meNsimHitrphi = bookME1D(ibooker,
738  "TH1NsimHitrphi",
739  hidmanager.createHistoLayer("NsimHit_rphi", "layer", label, "").c_str(),
740  "No. of assoc. simHits");
741  layerMEs.meNsimHitrphi->setAxisTitle("Number of assoc. simHits in " + label);
742  }
743 
744  LayerMEsMap[label] = layerMEs;
745 }

References bookME1D(), SiStripHistoId::createHistoLayer(), label, LayerMEsMap, SiStripRecHitsValid::LayerMEs::meAdcrphi, SiStripRecHitsValid::LayerMEs::meChi2rphi, SiStripRecHitsValid::LayerMEs::meNsimHitrphi, SiStripRecHitsValid::LayerMEs::mePosxrphi, SiStripRecHitsValid::LayerMEs::mePullLFrphi, SiStripRecHitsValid::LayerMEs::mePullMFrphi, SiStripRecHitsValid::LayerMEs::meResolxrphi, SiStripRecHitsValid::LayerMEs::meResrphi, SiStripRecHitsValid::LayerMEs::meWclusrphi, dqm::impl::MonitorElement::setAxisTitle(), switchAdcrphi, switchChi2rphi, switchNsimHitrphi, switchPosxrphi, switchPullLFrphi, switchPullMFrphi, switchResolxrphi, switchResrphi, and switchWclusrphi.

Referenced by createMEs().

◆ createMEs()

void SiStripRecHitsValid::createMEs ( DQMStore::IBooker ibooker,
const edm::EventSetup es 
)
private

Definition at line 517 of file SiStripRecHitsValid.cc.

517  {
518  //Retrieve tracker topology from geometry
519  edm::ESHandle<TrackerTopology> tTopoHandle;
520  es.get<TrackerTopologyRcd>().get(tTopoHandle);
521  const TrackerTopology* const tTopo = tTopoHandle.product();
522 
523  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
525 
526  // get list of active detectors from SiStripDetCabling
527  std::vector<uint32_t> activeDets;
529 
530  SiStripFolderOrganizer folder_organizer;
531  // folder_organizer.setSiStripFolderName(topFolderName_);
532  std::string curfold = topFolderName_;
533  folder_organizer.setSiStripFolderName(curfold);
534  folder_organizer.setSiStripFolder();
535 
536  createTotalMEs(ibooker);
537  // loop over detectors and book MEs
538  edm::LogInfo("SiStripTkRecHits|SiStripRecHitsValid") << "nr. of activeDets: " << activeDets.size();
539  const std::string &tec = "TEC", tid = "TID", tob = "TOB", tib = "TIB";
540  for (auto detid_iterator = activeDets.begin(), detid_end = activeDets.end(); detid_iterator != detid_end;
541  ++detid_iterator) {
542  uint32_t detid = (*detid_iterator);
543  // remove any eventual zero elements - there should be none, but just in case
544  if (detid == 0) {
545  activeDets.erase(detid_iterator);
546  continue;
547  }
548 
549  // Create Layer Level MEs
550  std::pair<std::string, int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid, tTopo, true);
551  SiStripHistoId hidmanager;
552  std::string label = hidmanager.getSubdetid(detid, tTopo, true);
553 
554  if (LayerMEsMap.find(label) == LayerMEsMap.end()) {
555  // get detids for the layer
556  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
557  int32_t lnumber = det_layer_pair.second;
558  const std::string& lname = det_layer_pair.first;
559  std::vector<uint32_t> layerDetIds;
560  if (lname == tec) {
561  if (lnumber > 0) {
562  SiStripSubStructure::getTECDetectors(activeDets, layerDetIds, tTopo, 2, 0, 0, 0, abs(lnumber), 0);
563  } else if (lnumber < 0) {
564  SiStripSubStructure::getTECDetectors(activeDets, layerDetIds, tTopo, 1, 0, 0, 0, abs(lnumber), 0);
565  }
566  } else if (lname == tid) {
567  if (lnumber > 0) {
568  SiStripSubStructure::getTIDDetectors(activeDets, layerDetIds, tTopo, 2, 0, abs(lnumber), 0);
569  } else if (lnumber < 0) {
570  SiStripSubStructure::getTIDDetectors(activeDets, layerDetIds, tTopo, 1, 0, abs(lnumber), 0);
571  }
572  } else if (lname == tob) {
573  SiStripSubStructure::getTOBDetectors(activeDets, layerDetIds, tTopo, lnumber, 0, 0);
574  } else if (lname == tib) {
575  SiStripSubStructure::getTIBDetectors(activeDets, layerDetIds, tTopo, lnumber, 0, 0, 0);
576  }
577  LayerDetMap[label] = layerDetIds;
578 
579  // book Layer MEs
580  folder_organizer.setLayerFolder(detid, tTopo, det_layer_pair.second, true);
581  createLayerMEs(ibooker, label);
582  }
583  // book sub-detector plots
584  if (SubDetMEsMap.find(det_layer_pair.first) == SubDetMEsMap.end()) {
585  auto sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo);
586  ibooker.setCurrentFolder(sdet_pair.first);
587  createSubDetMEs(ibooker, det_layer_pair.first);
588  }
589  //Create StereoAndMatchedMEs
591  // get detids for the stereo and matched layer. We are going to need a bool for these layers
592  bool isStereo = false;
593  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
594  std::vector<uint32_t> stereoandmatchedDetIds;
595  int32_t stereolnumber = det_layer_pair.second;
596  const std::string& stereolname = det_layer_pair.first;
597  if (stereolname == tec && (tTopo->tecIsStereo(detid))) {
598  if (stereolnumber > 0) {
600  activeDets, stereoandmatchedDetIds, tTopo, 2, 0, 0, 0, abs(stereolnumber), 1);
601  isStereo = true;
602  } else if (stereolnumber < 0) {
604  activeDets, stereoandmatchedDetIds, tTopo, 1, 0, 0, 0, abs(stereolnumber), 1);
605  isStereo = true;
606  }
607  } else if (stereolname == tid && (tTopo->tidIsStereo(detid))) {
608  if (stereolnumber > 0) {
609  SiStripSubStructure::getTIDDetectors(activeDets, stereoandmatchedDetIds, tTopo, 2, 0, abs(stereolnumber), 1);
610  isStereo = true;
611  } else if (stereolnumber < 0) {
612  SiStripSubStructure::getTIDDetectors(activeDets, stereoandmatchedDetIds, tTopo, 1, 0, abs(stereolnumber), 1);
613  isStereo = true;
614  }
615  } else if (stereolname == tob && (tTopo->tobIsStereo(detid))) {
616  SiStripSubStructure::getTOBDetectors(activeDets, stereoandmatchedDetIds, tTopo, stereolnumber, 0, 0);
617  isStereo = true;
618  } else if (stereolname == tib && (tTopo->tibIsStereo(detid))) {
619  SiStripSubStructure::getTIBDetectors(activeDets, stereoandmatchedDetIds, tTopo, stereolnumber, 0, 0, 0);
620  isStereo = true;
621  }
622 
623  StereoAndMatchedDetMap[label] = stereoandmatchedDetIds;
624 
625  if (isStereo) {
626  //book StereoAndMatched MEs
627  folder_organizer.setLayerFolder(detid, tTopo, det_layer_pair.second, true);
628  //Create the Monitor Elements only when we have a stereo module
630  }
631  }
632  } //end of loop over detectors
633 }

References funct::abs(), SiStripDetCabling::addActiveDetectorsRawIds(), createLayerMEs(), createStereoAndMatchedMEs(), createSubDetMEs(), createTotalMEs(), edm::EventSetup::get(), get, SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), label, LayerDetMap, LayerMEsMap, edm::ESHandle< T >::product(), dqm::implementation::NavigatorBase::setCurrentFolder(), SiStripFolderOrganizer::setLayerFolder(), SiStripFolderOrganizer::setSiStripFolder(), SiStripFolderOrganizer::setSiStripFolderName(), SiStripDetCabling_, StereoAndMatchedDetMap, StereoAndMatchedMEsMap, AlCaHLTBitMon_QueryRunRegistry::string, SubDetMEsMap, TrackerTopology::tecIsStereo(), TrackerTopology::tibIsStereo(), TrackerTopology::tidIsStereo(), TrackerTopology::tobIsStereo(), and topFolderName_.

Referenced by bookHistograms().

◆ createStereoAndMatchedMEs()

void SiStripRecHitsValid::createStereoAndMatchedMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 747 of file SiStripRecHitsValid.cc.

747  {
748  SiStripHistoId hidmanager;
749  StereoAndMatchedMEs stereoandmatchedMEs;
750 
751  stereoandmatchedMEs.meWclusStereo = nullptr;
752  stereoandmatchedMEs.meAdcStereo = nullptr;
753  stereoandmatchedMEs.mePosxStereo = nullptr;
754  stereoandmatchedMEs.meResolxStereo = nullptr;
755  stereoandmatchedMEs.meResStereo = nullptr;
756  stereoandmatchedMEs.mePullLFStereo = nullptr;
757  stereoandmatchedMEs.mePullMFStereo = nullptr;
758  stereoandmatchedMEs.meChi2Stereo = nullptr;
759  stereoandmatchedMEs.meNsimHitStereo = nullptr;
760  stereoandmatchedMEs.mePosxMatched = nullptr;
761  stereoandmatchedMEs.mePosyMatched = nullptr;
762  stereoandmatchedMEs.meResolxMatched = nullptr;
763  stereoandmatchedMEs.meResolyMatched = nullptr;
764  stereoandmatchedMEs.meResxMatched = nullptr;
765  stereoandmatchedMEs.meResyMatched = nullptr;
766  stereoandmatchedMEs.meChi2Matched = nullptr;
767  stereoandmatchedMEs.meNsimHitMatched = nullptr;
768 
769  //WclusStereo
770  if (switchWclusStereo) {
771  stereoandmatchedMEs.meWclusStereo =
772  bookME1D(ibooker,
773  "TH1WclusStereo",
774  hidmanager.createHistoLayer("Wclus_stereo", "layer", label, "").c_str(),
775  "Cluster Width - Number of strips that belong to the RecHit cluster");
776  stereoandmatchedMEs.meWclusStereo->setAxisTitle("Cluster Width [nr strips] in stereo modules in " + label);
777  }
778  //AdcStereo
779  if (switchAdcStereo) {
780  stereoandmatchedMEs.meAdcStereo = bookME1D(ibooker,
781  "TH1AdcStereo",
782  hidmanager.createHistoLayer("Adc_stereo", "layer", label, "").c_str(),
783  "RecHit Cluster Charge");
784  stereoandmatchedMEs.meAdcStereo->setAxisTitle("cluster charge [ADC] in stereo modules in " + label);
785  }
786  //PosxStereo
787  if (switchPosxStereo) {
788  stereoandmatchedMEs.mePosxStereo = bookME1D(ibooker,
789  "TH1PosxStereo",
790  hidmanager.createHistoLayer("Posx_stereo", "layer", label, "").c_str(),
791  "RecHit x coord.");
792  stereoandmatchedMEs.mePosxStereo->setAxisTitle("x RecHit coord. (local frame) in stereo modules in " + label);
793  }
794  //ResolxStereo
795  if (switchResolxStereo) {
796  stereoandmatchedMEs.meResolxStereo =
797  bookME1D(ibooker,
798  "TH1ResolxStereo",
799  hidmanager.createHistoLayer("Resolx_stereo", "layer", label, "").c_str(),
800  "RecHit resol(x) coord.");
801  stereoandmatchedMEs.meResolxStereo->setAxisTitle("resol(x) RecHit coord. (local frame) in stereo modules in " +
802  label);
803  }
804  //ResStereo
805  if (switchResStereo) {
806  stereoandmatchedMEs.meResStereo = bookME1D(ibooker,
807  "TH1ResStereo",
808  hidmanager.createHistoLayer("Res_stereo", "layer", label, "").c_str(),
809  "Residuals of the hit x coordinate");
810  stereoandmatchedMEs.meResStereo->setAxisTitle("RecHit Res(x) in stereo modules in " + label);
811  }
812  //PullLFStereo
813  if (switchPullLFStereo) {
814  stereoandmatchedMEs.mePullLFStereo =
815  bookME1D(ibooker,
816  "TH1PullLFStereo",
817  hidmanager.createHistoLayer("Pull_LF_stereo", "layer", label, "").c_str(),
818  "Pull distribution");
819  stereoandmatchedMEs.mePullLFStereo->setAxisTitle("Pull distribution (local frame) in stereo modules in " + label);
820  }
821  //PullMFStereo
822  if (switchPullMFStereo) {
823  stereoandmatchedMEs.mePullMFStereo =
824  bookME1D(ibooker,
825  "TH1PullMFStereo",
826  hidmanager.createHistoLayer("Pull_MF_stereo", "layer", label, "").c_str(),
827  "Pull distribution");
828  stereoandmatchedMEs.mePullMFStereo->setAxisTitle("Pull distribution (measurement frame) in stereo modules in " +
829  label);
830  }
831  //Chi2Stereo
832  if (switchChi2Stereo) {
833  stereoandmatchedMEs.meChi2Stereo = bookME1D(ibooker,
834  "TH1Chi2Stereo",
835  hidmanager.createHistoLayer("Chi2_stereo", "layer", label, "").c_str(),
836  "RecHit Chi2 test");
837  stereoandmatchedMEs.meChi2Stereo->setAxisTitle("RecHit Chi2 test in stereo modules in " + label);
838  }
839  //NsimHitStereo
840  if (switchNsimHitStereo) {
841  stereoandmatchedMEs.meNsimHitStereo =
842  bookME1D(ibooker,
843  "TH1NsimHitStereo",
844  hidmanager.createHistoLayer("NsimHit_stereo", "layer", label, "").c_str(),
845  "No. of assoc. simHits");
846  stereoandmatchedMEs.meNsimHitStereo->setAxisTitle("Number of assoc. simHits in stereo modules in " + label);
847  }
848  //PosxMatched
849  if (switchPosxMatched) {
850  stereoandmatchedMEs.mePosxMatched =
851  bookME1D(ibooker,
852  "TH1PosxMatched",
853  hidmanager.createHistoLayer("Posx_matched", "layer", label, "").c_str(),
854  "RecHit x coord.");
855  stereoandmatchedMEs.mePosxMatched->setAxisTitle("x coord. matched RecHit (local frame) in " + label);
856  }
857  //PosyMatched
858  if (switchPosyMatched) {
859  stereoandmatchedMEs.mePosyMatched =
860  bookME1D(ibooker,
861  "TH1PosyMatched",
862  hidmanager.createHistoLayer("Posy_matched", "layer", label, "").c_str(),
863  "RecHit y coord.");
864  stereoandmatchedMEs.mePosyMatched->setAxisTitle("y coord. matched RecHit (local frame) in " + label);
865  }
866  //ResolxMatched
867  if (switchResolxMatched) {
868  stereoandmatchedMEs.meResolxMatched =
869  bookME1D(ibooker,
870  "TH1ResolxMatched",
871  hidmanager.createHistoLayer("Resolx_matched", "layer", label, "").c_str(),
872  "RecHit resol(x) coord.");
873  stereoandmatchedMEs.meResolxMatched->setAxisTitle("resol(x) coord. matched RecHit (local frame) in " + label);
874  }
875  //ResolyMatched
876  if (switchResolyMatched) {
877  stereoandmatchedMEs.meResolyMatched =
878  bookME1D(ibooker,
879  "TH1ResolyMatched",
880  hidmanager.createHistoLayer("Resoly_matched", "layer", label, "").c_str(),
881  "RecHit resol(y) coord.");
882  stereoandmatchedMEs.meResolyMatched->setAxisTitle("resol(y) coord. matched RecHit (local frame) in " + label);
883  }
884  //ResxMatched
885  if (switchResxMatched) {
886  stereoandmatchedMEs.meResxMatched =
887  bookME1D(ibooker,
888  "TH1ResxMatched",
889  hidmanager.createHistoLayer("Resx_matched", "layer", label, "").c_str(),
890  "Residuals of the hit x coord.");
891  stereoandmatchedMEs.meResxMatched->setAxisTitle("Res(x) in matched RecHit in " + label);
892  }
893  //ResyMatched
894  if (switchResyMatched) {
895  stereoandmatchedMEs.meResyMatched =
896  bookME1D(ibooker,
897  "TH1ResyMatched",
898  hidmanager.createHistoLayer("Resy_matched", "layer", label, "").c_str(),
899  "Residuals of the hit y coord.");
900  stereoandmatchedMEs.meResyMatched->setAxisTitle("Res(y) in matched RecHit in " + label);
901  }
902  //Chi2Matched
903  if (switchChi2Matched) {
904  stereoandmatchedMEs.meChi2Matched =
905  bookME1D(ibooker,
906  "TH1Chi2Matched",
907  hidmanager.createHistoLayer("Chi2_matched", "layer", label, "").c_str(),
908  "RecHit Chi2 test");
909  stereoandmatchedMEs.meChi2Matched->setAxisTitle("Matched RecHit Chi2 test in " + label);
910  }
911  //NsimHitMatched
912  if (switchNsimHitMatched) {
913  stereoandmatchedMEs.meNsimHitMatched =
914  bookME1D(ibooker,
915  "TH1NsimHitMatched",
916  hidmanager.createHistoLayer("NsimHit_matched", "layer", label, "").c_str(),
917  "No. of assoc. simHits");
918  stereoandmatchedMEs.meNsimHitMatched->setAxisTitle("Number of assoc. simHits in " + label);
919  }
920 
921  StereoAndMatchedMEsMap[label] = stereoandmatchedMEs;
922 }

References bookME1D(), SiStripHistoId::createHistoLayer(), label, SiStripRecHitsValid::StereoAndMatchedMEs::meAdcStereo, SiStripRecHitsValid::StereoAndMatchedMEs::meChi2Matched, SiStripRecHitsValid::StereoAndMatchedMEs::meChi2Stereo, SiStripRecHitsValid::StereoAndMatchedMEs::meNsimHitMatched, SiStripRecHitsValid::StereoAndMatchedMEs::meNsimHitStereo, SiStripRecHitsValid::StereoAndMatchedMEs::mePosxMatched, SiStripRecHitsValid::StereoAndMatchedMEs::mePosxStereo, SiStripRecHitsValid::StereoAndMatchedMEs::mePosyMatched, SiStripRecHitsValid::StereoAndMatchedMEs::mePullLFStereo, SiStripRecHitsValid::StereoAndMatchedMEs::mePullMFStereo, SiStripRecHitsValid::StereoAndMatchedMEs::meResolxMatched, SiStripRecHitsValid::StereoAndMatchedMEs::meResolxStereo, SiStripRecHitsValid::StereoAndMatchedMEs::meResolyMatched, SiStripRecHitsValid::StereoAndMatchedMEs::meResStereo, SiStripRecHitsValid::StereoAndMatchedMEs::meResxMatched, SiStripRecHitsValid::StereoAndMatchedMEs::meResyMatched, SiStripRecHitsValid::StereoAndMatchedMEs::meWclusStereo, dqm::impl::MonitorElement::setAxisTitle(), StereoAndMatchedMEsMap, switchAdcStereo, switchChi2Matched, switchChi2Stereo, switchNsimHitMatched, switchNsimHitStereo, switchPosxMatched, switchPosxStereo, switchPosyMatched, switchPullLFStereo, switchPullMFStereo, switchResolxMatched, switchResolxStereo, switchResolyMatched, switchResStereo, switchResxMatched, switchResyMatched, and switchWclusStereo.

Referenced by createMEs().

◆ createSubDetMEs()

void SiStripRecHitsValid::createSubDetMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 924 of file SiStripRecHitsValid.cc.

924  {
925  SubDetMEs subdetMEs;
926  subdetMEs.meNumrphi = nullptr;
927  subdetMEs.meBunchrphi = nullptr;
928  subdetMEs.meEventrphi = nullptr;
929  subdetMEs.meNumStereo = nullptr;
930  subdetMEs.meBunchStereo = nullptr;
931  subdetMEs.meEventStereo = nullptr;
932  subdetMEs.meNumMatched = nullptr;
933  subdetMEs.meBunchMatched = nullptr;
934  subdetMEs.meEventMatched = nullptr;
935 
937  //Numrphi
938  if (switchNumrphi) {
939  HistoName = "TH1Numrphi__" + label;
940  subdetMEs.meNumrphi = bookME1D(ibooker, "TH1Numrphi", HistoName.c_str(), "Num of RecHits");
941  subdetMEs.meNumrphi->setAxisTitle("Total number of RecHits in " + label);
942  }
943  //Bunchrphi
944  if (switchBunchrphi) {
945  HistoName = "TH1Bunchrphi__" + label;
946  subdetMEs.meBunchrphi = bookME1D(ibooker, "TH1Bunchrphi", HistoName.c_str(), "Bunch Crossing");
947  subdetMEs.meBunchrphi->setAxisTitle("Bunch crossing in " + label);
948  }
949  //Eventrphi
950  if (switchEventrphi) {
951  HistoName = "TH1Eventrphi__" + label;
952  subdetMEs.meEventrphi = bookME1D(ibooker, "TH1Eventrphi", HistoName.c_str(), "Event (in-time bunch)");
953  subdetMEs.meEventrphi->setAxisTitle("Event (in-time bunch) in " + label);
954  }
955  //NumStereo
956  if (switchNumStereo) {
957  HistoName = "TH1NumStereo__" + label;
958  subdetMEs.meNumStereo = bookME1D(ibooker, "TH1NumStereo", HistoName.c_str(), "Num of RecHits in stereo modules");
959  subdetMEs.meNumStereo->setAxisTitle("Total number of RecHits, stereo modules in " + label);
960  }
961  //BunchStereo
962  if (switchBunchStereo) {
963  HistoName = "TH1BunchStereo__" + label;
964  subdetMEs.meBunchStereo = bookME1D(ibooker, "TH1BunchStereo", HistoName.c_str(), "Bunch Crossing");
965  subdetMEs.meBunchStereo->setAxisTitle("Bunch crossing, stereo modules in " + label);
966  }
967  //EventStereo
968  if (switchEventStereo) {
969  HistoName = "TH1EventStereo__" + label;
970  subdetMEs.meEventStereo = bookME1D(ibooker, "TH1EventStereo", HistoName.c_str(), "Event (in-time bunch)");
971  subdetMEs.meEventStereo->setAxisTitle("Event (in-time bunch), stereo modules in " + label);
972  }
973  //NumMatched
974  if (switchNumMatched) {
975  HistoName = "TH1NumMatched__" + label;
976  subdetMEs.meNumMatched = bookME1D(ibooker, "TH1NumMatched", HistoName.c_str(), "Num of matched RecHits");
977  subdetMEs.meNumMatched->setAxisTitle("Total number of matched RecHits in " + label);
978  }
979  //BunchMatched
980  if (switchBunchMatched) {
981  HistoName = "TH1BunchMatched__" + label;
982  subdetMEs.meBunchMatched = bookME1D(ibooker, "TH1BunchMatched", HistoName.c_str(), "Bunch Crossing");
983  subdetMEs.meBunchMatched->setAxisTitle("Bunch crossing, matched RecHits in " + label);
984  }
985  //EventMatched
986  if (switchEventMatched) {
987  HistoName = "TH1EventMatched__" + label;
988  subdetMEs.meEventMatched = bookME1D(ibooker, "TH1EventMatched", HistoName.c_str(), "Event (in-time bunch)");
989  subdetMEs.meEventMatched->setAxisTitle("Event (in-time bunch), matched RecHits in " + label);
990  }
991 
992  SubDetMEsMap[label] = subdetMEs;
993 }

References bookME1D(), label, SiStripRecHitsValid::SubDetMEs::meBunchMatched, SiStripRecHitsValid::SubDetMEs::meBunchrphi, SiStripRecHitsValid::SubDetMEs::meBunchStereo, SiStripRecHitsValid::SubDetMEs::meEventMatched, SiStripRecHitsValid::SubDetMEs::meEventrphi, SiStripRecHitsValid::SubDetMEs::meEventStereo, SiStripRecHitsValid::SubDetMEs::meNumMatched, SiStripRecHitsValid::SubDetMEs::meNumrphi, SiStripRecHitsValid::SubDetMEs::meNumStereo, dqm::impl::MonitorElement::setAxisTitle(), AlCaHLTBitMon_QueryRunRegistry::string, SubDetMEsMap, switchBunchMatched, switchBunchrphi, switchBunchStereo, switchEventMatched, switchEventrphi, switchEventStereo, switchNumMatched, switchNumrphi, and switchNumStereo.

Referenced by createMEs().

◆ createTotalMEs()

void SiStripRecHitsValid::createTotalMEs ( DQMStore::IBooker ibooker)
private

Definition at line 635 of file SiStripRecHitsValid.cc.

635  {
636  totalMEs.meNumTotrphi = nullptr;
637  totalMEs.meNumTotStereo = nullptr;
638  totalMEs.meNumTotMatched = nullptr;
639 
640  //NumTotrphi
641  if (switchNumTotrphi) {
642  totalMEs.meNumTotrphi = bookME1D(ibooker, "TH1NumTotrphi", "TH1NumTotrphi", "Num of RecHits rphi");
643  totalMEs.meNumTotrphi->setAxisTitle("Total number of RecHits");
644  }
645  //NumTotStereo
646  if (switchNumTotStereo) {
647  totalMEs.meNumTotStereo = bookME1D(ibooker, "TH1NumTotStereo", "TH1NumTotStereo", "Num of RecHits stereo");
648  totalMEs.meNumTotStereo->setAxisTitle("Total number of RecHits (stereo)");
649  }
650  //NumTotMatched
651  if (switchNumTotMatched) {
652  totalMEs.meNumTotMatched = bookME1D(ibooker, "TH1NumTotMatched", "TH1NumTotMatched", "Num of RecHits matched");
653  totalMEs.meNumTotMatched->setAxisTitle("Total number of matched RecHits");
654  }
655 }

References bookME1D(), SiStripRecHitsValid::TotalMEs::meNumTotMatched, SiStripRecHitsValid::TotalMEs::meNumTotrphi, SiStripRecHitsValid::TotalMEs::meNumTotStereo, dqm::impl::MonitorElement::setAxisTitle(), switchNumTotMatched, switchNumTotrphi, switchNumTotStereo, and totalMEs.

Referenced by createMEs().

◆ fillME() [1/4]

void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 194 of file SiStripRecHitsValid.h.

194  {
195  if (ME != nullptr)
196  ME->Fill(value1);
197  }

References HLT_FULL_cff::value1.

Referenced by analyze().

◆ fillME() [2/4]

void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2 
)
inlineprivate

Definition at line 198 of file SiStripRecHitsValid.h.

198  {
199  if (ME != nullptr)
200  ME->Fill(value1, value2);
201  }

References HLT_FULL_cff::value1, and HLT_FULL_cff::value2.

◆ fillME() [3/4]

void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3 
)
inlineprivate

Definition at line 202 of file SiStripRecHitsValid.h.

202  {
203  if (ME != nullptr)
204  ME->Fill(value1, value2, value3);
205  }

References HLT_FULL_cff::value1, and HLT_FULL_cff::value2.

◆ fillME() [4/4]

void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3,
float  value4 
)
inlineprivate

Definition at line 206 of file SiStripRecHitsValid.h.

206  {
207  if (ME != nullptr)
208  ME->Fill(value1, value2, value3, value4);
209  }

References HLT_FULL_cff::value1, and HLT_FULL_cff::value2.

◆ projectHit()

std::pair< LocalPoint, LocalVector > SiStripRecHitsValid::projectHit ( const PSimHit hit,
const StripGeomDetUnit stripDet,
const BoundPlane plane 
)
private

Definition at line 338 of file SiStripRecHitsValid.cc.

340  {
341  // const StripGeomDetUnit* stripDet = dynamic_cast<const StripGeomDetUnit*>(hit.det());
342  //if (stripDet == nullptr) throw MeasurementDetException("HitMatcher hit is not on StripGeomDetUnit");
343 
344  const StripTopology& topol = stripDet->specificTopology();
345  GlobalPoint globalpos = stripDet->surface().toGlobal(hit.localPosition());
346  LocalPoint localHit = plane.toLocal(globalpos);
347  //track direction
348  LocalVector locdir = hit.localDirection();
349  //rotate track in new frame
350 
351  GlobalVector globaldir = stripDet->surface().toGlobal(locdir);
352  LocalVector dir = plane.toLocal(globaldir);
353  double scale = -localHit.z() / dir.z();
354 
355  LocalPoint projectedPos = localHit + scale * dir;
356 
357  double selfAngle = topol.stripAngle(topol.strip(hit.localPosition()));
358 
359  LocalVector stripDir(sin(selfAngle), cos(selfAngle), 0); // vector along strip in hit frame
360 
361  LocalVector localStripDir(plane.toLocal(stripDet->surface().toGlobal(stripDir)));
362 
363  return std::pair<LocalPoint, LocalVector>(projectedPos, localStripDir);
364 }

References funct::cos(), DeadROC_duringRun::dir, L1EGammaCrystalsEmulatorProducer_cfi::scale, funct::sin(), StripGeomDetUnit::specificTopology(), StripTopology::strip(), StripTopology::stripAngle(), GeomDet::surface(), Surface::toGlobal(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by rechitanalysis_matched().

◆ rechitanalysis()

void SiStripRecHitsValid::rechitanalysis ( SiStripRecHit2D const  rechit,
const StripTopology topol,
TrackerHitAssociator associate 
)
private

Definition at line 366 of file SiStripRecHitsValid.cc.

368  {
369  rechitpro.resx = -999999.;
370  rechitpro.resy = -999999.;
371  rechitpro.pullMF = -999999.;
372  rechitpro.chi2 = -999999.;
373  rechitpro.bunch = -999999.;
374  rechitpro.event = -999999.;
375 
376  LocalPoint position = rechit.localPosition();
377  LocalError error = rechit.localPositionError();
378  MeasurementPoint Mposition = topol.measurementPosition(position);
380  const auto& amplitudes = (rechit.cluster())->amplitudes();
381  int totcharge = 0;
382  for (auto ia : amplitudes) {
383  totcharge += ia;
384  }
385  rechitpro.x = position.x();
386  rechitpro.y = position.y();
387  //rechitpro.z = position.z();
388  rechitpro.resolxx = error.xx();
389  //rechitpro.resolxy = error.xy();
390  rechitpro.resolyy = error.yy();
391  rechitpro.clusiz = amplitudes.size();
392  rechitpro.cluchg = totcharge;
393 
394  auto const& matched = associate.associateHit(rechit);
395  rechitpro.NsimHit = matched.size();
396 
397  if (!matched.empty()) {
398  float mindist = std::numeric_limits<float>::max();
399  float dist = std::numeric_limits<float>::max();
400  PSimHit const* closest = nullptr;
401 
402  for (auto const& m : matched) {
403  dist = fabs(rechitpro.x - m.localPosition().x());
404  if (dist < mindist) {
405  mindist = dist;
406  closest = &m;
407  }
408  }
409  rechitpro.bunch = closest->eventId().bunchCrossing();
410  rechitpro.event = closest->eventId().event();
411  rechitpro.resx = rechitpro.x - closest->localPosition().x();
412  rechitpro.pullMF = (Mposition.x() - (topol.measurementPosition(closest->localPosition())).x()) / sqrt(Merror.uu());
413 
414  //chi2test compare rechit errors with the simhit position ( using null matrix for the simhit).
415  //Can spot problems in the geometry better than a simple residual. (thanks to BorisM)
416  AlgebraicVector rhparameters(2); //= rechit.parameters();
417  rhparameters[0] = position.x();
418  rhparameters[1] = position.y();
419  AlgebraicVector shparameters(2);
420  shparameters[0] = closest->localPosition().x();
421  shparameters[1] = closest->localPosition().y();
422  AlgebraicVector r(rhparameters - shparameters);
423  AlgebraicSymMatrix R(2); // = rechit.parametersError();
424  R[0][0] = error.xx();
425  R[0][1] = error.xy();
426  R[1][1] = error.yy();
427  int ierr;
428  R.invert(ierr); // if (ierr != 0) throw exception;
429  float est = R.similarity(r);
430  rechitpro.chi2 = est;
431  }
432 }

References TrackerHitAssociator::associateHit(), SiStripRecHitsValid::RecHitProperties::bunch, EncodedEventId::bunchCrossing(), SiStripRecHitsValid::RecHitProperties::chi2, SiStripRecHitsValid::RecHitProperties::cluchg, SiStripRecHitsValid::RecHitProperties::clusiz, SiStripRecHit2D::cluster(), relativeConstraints::error, EncodedEventId::event(), SiStripRecHitsValid::RecHitProperties::event, PSimHit::eventId(), PSimHit::localPosition(), BaseTrackerRecHit::localPosition(), BaseTrackerRecHit::localPositionError(), visualization-live-secondInstance_cfg::m, muonTagProbeFilters_cff::matched, SiStripPI::max, Topology::measurementError(), Topology::measurementPosition(), SiStripRecHitsValid::RecHitProperties::NsimHit, position, SiStripRecHitsValid::RecHitProperties::pullMF, dttmaxenums::R, alignCSCRings::r, rechitpro, SiStripRecHitsValid::RecHitProperties::resolxx, SiStripRecHitsValid::RecHitProperties::resolyy, SiStripRecHitsValid::RecHitProperties::resx, SiStripRecHitsValid::RecHitProperties::resy, mathSSE::sqrt(), MeasurementError::uu(), PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), SiStripRecHitsValid::RecHitProperties::x, PV3DBase< T, PVType, FrameType >::y(), and SiStripRecHitsValid::RecHitProperties::y.

Referenced by analyze().

◆ rechitanalysis_matched()

void SiStripRecHitsValid::rechitanalysis_matched ( SiStripMatchedRecHit2D const  rechit,
const GluedGeomDet gluedDet,
TrackerHitAssociator associate 
)
private

Definition at line 435 of file SiStripRecHitsValid.cc.

437  {
438  rechitpro.resx = -999999.;
439  rechitpro.resy = -999999.;
440  rechitpro.pullMF = -999999.;
441  rechitpro.chi2 = -999999.;
442  rechitpro.bunch = -999999.;
443  rechitpro.event = -999999.;
444  rechitpro.clusiz = -999999.;
445  rechitpro.cluchg = -999999.;
446 
447  LocalPoint position = rechit.localPosition();
448  LocalError error = rechit.localPositionError();
449 
450  rechitpro.x = position.x();
451  rechitpro.y = position.y();
452  //rechitpro.z = position.z();
453  rechitpro.resolxx = error.xx();
454  //rechitpro.resolxy = error.xy();
455  rechitpro.resolyy = error.yy();
456 
457  auto const& matched = associate.associateHit(rechit);
458  rechitpro.NsimHit = matched.size();
459 
460  if (matched.empty())
461  return;
462  float mindist = std::numeric_limits<float>::max();
463  float dist = std::numeric_limits<float>::max();
464  float dist2 = std::numeric_limits<float>::max();
465  float distx = std::numeric_limits<float>::max();
466  float disty = std::numeric_limits<float>::max();
467  PSimHit const* closest = nullptr;
468  std::pair<LocalPoint, LocalVector> closestPair;
469 
470  const StripGeomDetUnit* partnerstripdet = static_cast<const StripGeomDetUnit*>(gluedDet->stereoDet());
471  std::pair<LocalPoint, LocalVector> hitPair;
472 
473  for (auto const& m : matched) {
474  SiStripDetId hitDetId(m.detUnitId());
475  if (hitDetId.stereo()) { // project from the stereo sensor
476  //project simhit;
477  hitPair = projectHit(m, partnerstripdet, gluedDet->surface());
478  distx = rechitpro.x - hitPair.first.x();
479  disty = rechitpro.y - hitPair.first.y();
480  dist2 = distx * distx + disty * disty;
481  dist = sqrt(dist2);
482  if (dist < mindist) {
483  mindist = dist;
484  closestPair = hitPair;
485  closest = &m;
486  }
487  }
488  }
489  if (!closest)
490  return;
491  rechitpro.bunch = closest->eventId().bunchCrossing();
492  rechitpro.event = closest->eventId().event();
493  rechitpro.resx = rechitpro.x - closestPair.first.x();
494  rechitpro.resy = rechitpro.y - closestPair.first.y();
495 
496  //chi2test compare rechit errors with the simhit position ( using null matrix for the simhit).
497  //Can spot problems in the geometry better than a simple residual. (thanks to BorisM)
498  AlgebraicVector rhparameters(2); //= rechit.parameters();
499  rhparameters[0] = position.x();
500  rhparameters[1] = position.y();
501  LocalPoint sh = closestPair.first;
502  AlgebraicVector shparameters(2);
503  shparameters[0] = sh.x();
504  shparameters[1] = sh.y();
505  AlgebraicVector r(rhparameters - shparameters);
506  AlgebraicSymMatrix R(2); // = rechit.parametersError();
507  R[0][0] = error.xx();
508  R[0][1] = error.xy();
509  R[1][1] = error.yy();
510  int ierr;
511  R.invert(ierr); // if (ierr != 0) throw exception;
512  float est = R.similarity(r);
513  rechitpro.chi2 = est;
514 }

References TrackerHitAssociator::associateHit(), SiStripRecHitsValid::RecHitProperties::bunch, EncodedEventId::bunchCrossing(), SiStripRecHitsValid::RecHitProperties::chi2, SiStripRecHitsValid::RecHitProperties::cluchg, SiStripRecHitsValid::RecHitProperties::clusiz, relativeConstraints::error, EncodedEventId::event(), SiStripRecHitsValid::RecHitProperties::event, PSimHit::eventId(), BaseTrackerRecHit::localPosition(), BaseTrackerRecHit::localPositionError(), visualization-live-secondInstance_cfg::m, muonTagProbeFilters_cff::matched, SiStripPI::max, SiStripRecHitsValid::RecHitProperties::NsimHit, position, projectHit(), SiStripRecHitsValid::RecHitProperties::pullMF, dttmaxenums::R, alignCSCRings::r, rechitpro, SiStripRecHitsValid::RecHitProperties::resolxx, SiStripRecHitsValid::RecHitProperties::resolyy, SiStripRecHitsValid::RecHitProperties::resx, SiStripRecHitsValid::RecHitProperties::resy, mathSSE::sqrt(), GluedGeomDet::stereoDet(), GeomDet::surface(), PV3DBase< T, PVType, FrameType >::x(), SiStripRecHitsValid::RecHitProperties::x, PV3DBase< T, PVType, FrameType >::y(), and SiStripRecHitsValid::RecHitProperties::y.

Referenced by analyze().

Member Data Documentation

◆ conf_

edm::ParameterSet SiStripRecHitsValid::conf_
private

Definition at line 211 of file SiStripRecHitsValid.h.

Referenced by bookME1D(), and SiStripRecHitsValid().

◆ LayerDetMap

std::map<std::string, std::vector<uint32_t> > SiStripRecHitsValid::LayerDetMap
private

Definition at line 175 of file SiStripRecHitsValid.h.

Referenced by createMEs().

◆ LayerMEsMap

std::map<std::string, LayerMEs> SiStripRecHitsValid::LayerMEsMap
private

Definition at line 172 of file SiStripRecHitsValid.h.

Referenced by analyze(), createLayerMEs(), and createMEs().

◆ m_cacheID_

unsigned long long SiStripRecHitsValid::m_cacheID_
private

Definition at line 213 of file SiStripRecHitsValid.h.

Referenced by bookHistograms().

◆ matchedRecHitsToken_

edm::EDGetTokenT<SiStripMatchedRecHit2DCollection> SiStripRecHitsValid::matchedRecHitsToken_
private

Definition at line 228 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

◆ rechitpro

RecHitProperties SiStripRecHitsValid::rechitpro
private

Definition at line 221 of file SiStripRecHitsValid.h.

Referenced by analyze(), rechitanalysis(), and rechitanalysis_matched().

◆ rphiRecHitsToken_

edm::EDGetTokenT<SiStripRecHit2DCollection> SiStripRecHitsValid::rphiRecHitsToken_
private

Definition at line 229 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

◆ SiStripDetCabling_

edm::ESHandle<SiStripDetCabling> SiStripRecHitsValid::SiStripDetCabling_
private

Definition at line 178 of file SiStripRecHitsValid.h.

Referenced by createMEs().

◆ StereoAndMatchedDetMap

std::map<std::string, std::vector<uint32_t> > SiStripRecHitsValid::StereoAndMatchedDetMap
private

Definition at line 176 of file SiStripRecHitsValid.h.

Referenced by createMEs().

◆ StereoAndMatchedMEsMap

std::map<std::string, StereoAndMatchedMEs> SiStripRecHitsValid::StereoAndMatchedMEsMap
private

Definition at line 173 of file SiStripRecHitsValid.h.

Referenced by analyze(), createMEs(), and createStereoAndMatchedMEs().

◆ stereoRecHitsToken_

edm::EDGetTokenT<SiStripRecHit2DCollection> SiStripRecHitsValid::stereoRecHitsToken_
private

Definition at line 230 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

◆ SubDetList_

std::vector<std::string> SiStripRecHitsValid::SubDetList_
private

Definition at line 170 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

◆ SubDetMEsMap

std::map<std::string, SubDetMEs> SiStripRecHitsValid::SubDetMEsMap
private

Definition at line 174 of file SiStripRecHitsValid.h.

Referenced by analyze(), createMEs(), and createSubDetMEs().

◆ switchAdcrphi

bool SiStripRecHitsValid::switchAdcrphi
private

Definition at line 143 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchAdcStereo

bool SiStripRecHitsValid::switchAdcStereo
private

Definition at line 152 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchBunchMatched

bool SiStripRecHitsValid::switchBunchMatched
private

Definition at line 139 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchBunchrphi

bool SiStripRecHitsValid::switchBunchrphi
private

Definition at line 133 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchBunchStereo

bool SiStripRecHitsValid::switchBunchStereo
private

Definition at line 136 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchChi2Matched

bool SiStripRecHitsValid::switchChi2Matched
private

Definition at line 166 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchChi2rphi

bool SiStripRecHitsValid::switchChi2rphi
private

Definition at line 149 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchChi2Stereo

bool SiStripRecHitsValid::switchChi2Stereo
private

Definition at line 158 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchEventMatched

bool SiStripRecHitsValid::switchEventMatched
private

Definition at line 140 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchEventrphi

bool SiStripRecHitsValid::switchEventrphi
private

Definition at line 134 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchEventStereo

bool SiStripRecHitsValid::switchEventStereo
private

Definition at line 137 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchNsimHitMatched

bool SiStripRecHitsValid::switchNsimHitMatched
private

Definition at line 167 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchNsimHitrphi

bool SiStripRecHitsValid::switchNsimHitrphi
private

Definition at line 150 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchNsimHitStereo

bool SiStripRecHitsValid::switchNsimHitStereo
private

Definition at line 159 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchNumMatched

bool SiStripRecHitsValid::switchNumMatched
private

Definition at line 138 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchNumrphi

bool SiStripRecHitsValid::switchNumrphi
private

Definition at line 132 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchNumStereo

bool SiStripRecHitsValid::switchNumStereo
private

Definition at line 135 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchNumTotMatched

bool SiStripRecHitsValid::switchNumTotMatched
private

Definition at line 130 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

◆ switchNumTotrphi

bool SiStripRecHitsValid::switchNumTotrphi
private

Definition at line 128 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

◆ switchNumTotStereo

bool SiStripRecHitsValid::switchNumTotStereo
private

Definition at line 129 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

◆ switchPosxMatched

bool SiStripRecHitsValid::switchPosxMatched
private

Definition at line 160 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchPosxrphi

bool SiStripRecHitsValid::switchPosxrphi
private

Definition at line 144 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchPosxStereo

bool SiStripRecHitsValid::switchPosxStereo
private

Definition at line 153 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchPosyMatched

bool SiStripRecHitsValid::switchPosyMatched
private

Definition at line 161 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchPullLFrphi

bool SiStripRecHitsValid::switchPullLFrphi
private

Definition at line 147 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchPullLFStereo

bool SiStripRecHitsValid::switchPullLFStereo
private

Definition at line 156 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchPullMFrphi

bool SiStripRecHitsValid::switchPullMFrphi
private

Definition at line 148 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchPullMFStereo

bool SiStripRecHitsValid::switchPullMFStereo
private

Definition at line 157 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResolxMatched

bool SiStripRecHitsValid::switchResolxMatched
private

Definition at line 162 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResolxrphi

bool SiStripRecHitsValid::switchResolxrphi
private

Definition at line 145 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchResolxStereo

bool SiStripRecHitsValid::switchResolxStereo
private

Definition at line 154 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResolyMatched

bool SiStripRecHitsValid::switchResolyMatched
private

Definition at line 163 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResrphi

bool SiStripRecHitsValid::switchResrphi
private

Definition at line 146 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchResStereo

bool SiStripRecHitsValid::switchResStereo
private

Definition at line 155 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResxMatched

bool SiStripRecHitsValid::switchResxMatched
private

Definition at line 164 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResyMatched

bool SiStripRecHitsValid::switchResyMatched
private

Definition at line 165 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchWclusrphi

bool SiStripRecHitsValid::switchWclusrphi
private

Definition at line 142 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchWclusStereo

bool SiStripRecHitsValid::switchWclusStereo
private

Definition at line 151 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ topFolderName_

std::string SiStripRecHitsValid::topFolderName_
private

Definition at line 169 of file SiStripRecHitsValid.h.

Referenced by createMEs(), and SiStripRecHitsValid().

◆ totalMEs

TotalMEs SiStripRecHitsValid::totalMEs
private

Definition at line 126 of file SiStripRecHitsValid.h.

Referenced by analyze(), and createTotalMEs().

◆ trackerHitAssociatorConfig_

TrackerHitAssociator::Config SiStripRecHitsValid::trackerHitAssociatorConfig_
private

Definition at line 212 of file SiStripRecHitsValid.h.

Referenced by analyze().

Vector3DBase< float, LocalTag >
muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
SiStripRecHitsValid::TotalMEs::meNumTotMatched
MonitorElement * meNumTotMatched
Definition: SiStripRecHitsValid.h:56
SiStripHistoId::createHistoLayer
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
Definition: SiStripHistoId.cc:51
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
Point2DBase
Definition: Point2DBase.h:9
SiStripDetCabling::addActiveDetectorsRawIds
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
Definition: SiStripDetCabling.cc:134
SiStripRecHitsValid::switchPullMFrphi
bool switchPullMFrphi
Definition: SiStripRecHitsValid.h:148
SiStripRecHitsValid::switchEventrphi
bool switchEventrphi
Definition: SiStripRecHitsValid.h:134
BeamSpotPI::parameters
parameters
Definition: BeamSpotPayloadInspectorHelper.h:29
SiStripRecHitsValid::createSubDetMEs
void createSubDetMEs(DQMStore::IBooker &ibooker, std::string label)
Definition: SiStripRecHitsValid.cc:924
SiStripRecHitsValid::projectHit
std::pair< LocalPoint, LocalVector > projectHit(const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
Definition: SiStripRecHitsValid.cc:338
SiStripRecHitsValid::switchBunchStereo
bool switchBunchStereo
Definition: SiStripRecHitsValid.h:136
SiStripRecHitsValid::switchNsimHitMatched
bool switchNsimHitMatched
Definition: SiStripRecHitsValid.h:167
GeomDet
Definition: GeomDet.h:27
SiStripRecHitsValid::rphiRecHitsToken_
edm::EDGetTokenT< SiStripRecHit2DCollection > rphiRecHitsToken_
Definition: SiStripRecHitsValid.h:229
L1EGammaCrystalsEmulatorProducer_cfi.scale
scale
Definition: L1EGammaCrystalsEmulatorProducer_cfi.py:10
SiStripRecHitsValid::switchPullMFStereo
bool switchPullMFStereo
Definition: SiStripRecHitsValid.h:157
SiStripSubStructure::getTIDDetectors
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0)
SiStripRecHitsValid::SubDetList_
std::vector< std::string > SubDetList_
Definition: SiStripRecHitsValid.h:170
SiStripRecHitsValid::createTotalMEs
void createTotalMEs(DQMStore::IBooker &ibooker)
Definition: SiStripRecHitsValid.cc:635
SiStripSubStructure::getTIBDetectors
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0)
SiStripRecHitsValid::matchedRecHitsToken_
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > matchedRecHitsToken_
Definition: SiStripRecHitsValid.h:228
TrackerTopology::tobIsStereo
bool tobIsStereo(const DetId &id) const
Definition: TrackerTopology.h:264
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
SiStripRecHitsValid::LayerMEsMap
std::map< std::string, LayerMEs > LayerMEsMap
Definition: SiStripRecHitsValid.h:172
SiStripRecHitsValid::switchChi2Stereo
bool switchChi2Stereo
Definition: SiStripRecHitsValid.h:158
TrackerTopology
Definition: TrackerTopology.h:16
SiStripRecHitsValid::RecHitProperties::resx
float resx
Definition: SiStripRecHitsValid.h:110
SiStripRecHitsValid::switchResStereo
bool switchResStereo
Definition: SiStripRecHitsValid.h:155
SiStripRecHitsValid::TotalMEs::meNumTotrphi
MonitorElement * meNumTotrphi
Definition: SiStripRecHitsValid.h:54
TrackerHitAssociator::associateHit
std::vector< PSimHit > associateHit(const TrackingRecHit &thit) const
Definition: TrackerHitAssociator.cc:212
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
SiStripRecHitsValid::switchPosxStereo
bool switchPosxStereo
Definition: SiStripRecHitsValid.h:153
TrackerTopology::tecIsStereo
bool tecIsStereo(const DetId &id) const
Definition: TrackerTopology.h:265
SiStripRecHitsValid::m_cacheID_
unsigned long long m_cacheID_
Definition: SiStripRecHitsValid.h:213
SiStripRecHitsValid::switchChi2Matched
bool switchChi2Matched
Definition: SiStripRecHitsValid.h:166
SiStripRecHitsValid::RecHitProperties::cluchg
float cluchg
Definition: SiStripRecHitsValid.h:114
SiStripRecHitsValid::RecHitProperties::resolxx
float resolxx
Definition: SiStripRecHitsValid.h:107
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
SiStripRecHitsValid::SubDetMEsMap
std::map< std::string, SubDetMEs > SubDetMEsMap
Definition: SiStripRecHitsValid.h:174
edm::Handle
Definition: AssociativeIterator.h:50
relativeConstraints.error
error
Definition: relativeConstraints.py:53
SiStripRecHitsValid::switchNsimHitrphi
bool switchNsimHitrphi
Definition: SiStripRecHitsValid.h:150
SiStripRecHitsValid::switchResolxStereo
bool switchResolxStereo
Definition: SiStripRecHitsValid.h:154
SiStripRecHitsValid::switchResolyMatched
bool switchResolyMatched
Definition: SiStripRecHitsValid.h:163
PSimHit::eventId
EncodedEventId eventId() const
Definition: PSimHit.h:108
SiStripRecHitsValid::switchNumTotrphi
bool switchNumTotrphi
Definition: SiStripRecHitsValid.h:128
SiStripRecHitsValid::switchBunchrphi
bool switchBunchrphi
Definition: SiStripRecHitsValid.h:133
SiStripFolderOrganizer::GetSubDetAndLayer
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
Definition: SiStripFolderOrganizer.cc:106
TrackerTopology::tidIsStereo
bool tidIsStereo(const DetId &id) const
Definition: TrackerTopology.h:267
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
SiStripRecHitsValid::SiStripDetCabling_
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
Definition: SiStripRecHitsValid.h:178
SiStripRecHitsValid::fillME
void fillME(MonitorElement *ME, float value1)
Definition: SiStripRecHitsValid.h:194
DetId
Definition: DetId.h:17
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
SiStripRecHitsValid::switchPosxrphi
bool switchPosxrphi
Definition: SiStripRecHitsValid.h:144
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
SiStripRecHitsValid::switchPullLFrphi
bool switchPullLFrphi
Definition: SiStripRecHitsValid.h:147
SiStripRecHitsValid::rechitanalysis_matched
void rechitanalysis_matched(SiStripMatchedRecHit2D const rechit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate)
Definition: SiStripRecHitsValid.cc:435
SiStripRecHitsValid::RecHitProperties::event
int event
Definition: SiStripRecHitsValid.h:118
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
SiStripRecHitsValid::topFolderName_
std::string topFolderName_
Definition: SiStripRecHitsValid.h:169
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
SiStripRecHitsValid::switchNumrphi
bool switchNumrphi
Definition: SiStripRecHitsValid.h:132
MeasurementError
Definition: MeasurementError.h:8
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
SiStripRecHitsValid::switchBunchMatched
bool switchBunchMatched
Definition: SiStripRecHitsValid.h:139
Surface::toGlobal
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
SiStripRecHitsValid::switchPosxMatched
bool switchPosxMatched
Definition: SiStripRecHitsValid.h:160
edm::ESHandle< TrackerTopology >
PSimHit::localPosition
Local3DPoint localPosition() const
Definition: PSimHit.h:52
SiStripSubStructure::getTECDetectors
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0)
SiStripRecHitsValid::switchWclusStereo
bool switchWclusStereo
Definition: SiStripRecHitsValid.h:151
TrackerTopology::tibIsStereo
bool tibIsStereo(const DetId &id) const
Definition: TrackerTopology.h:266
Topology::measurementError
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
SiStripDetCablingRcd
Definition: SiStripDependentRecords.h:19
SiStripRecHitsValid::switchNumTotMatched
bool switchNumTotMatched
Definition: SiStripRecHitsValid.h:130
SiStripFolderOrganizer::getSubDetFolderAndTag
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
Definition: SiStripFolderOrganizer.cc:475
Point3DBase< float, GlobalTag >
StripTopology::strip
virtual float strip(const LocalPoint &) const =0
SiStripRecHitsValid::rechitanalysis
void rechitanalysis(SiStripRecHit2D const rechit, const StripTopology &topol, TrackerHitAssociator &associate)
Definition: SiStripRecHitsValid.cc:366
SiStripRecHitsValid::conf_
edm::ParameterSet conf_
Definition: SiStripRecHitsValid.h:211
GluedGeomDet
Definition: GluedGeomDet.h:7
SiStripRecHitsValid::rechitpro
RecHitProperties rechitpro
Definition: SiStripRecHitsValid.h:221
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
SiStripRecHitsValid::StereoAndMatchedMEsMap
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
Definition: SiStripRecHitsValid.h:173
SiStripRecHitsValid::switchPosyMatched
bool switchPosyMatched
Definition: SiStripRecHitsValid.h:161
SiStripRecHitsValid::RecHitProperties::resolyy
float resolyy
Definition: SiStripRecHitsValid.h:109
SiStripRecHitsValid::switchEventMatched
bool switchEventMatched
Definition: SiStripRecHitsValid.h:140
edm::ParameterSet
Definition: ParameterSet.h:47
SiStripRecHitsValid::switchChi2rphi
bool switchChi2rphi
Definition: SiStripRecHitsValid.h:149
SiStripRecHitsValid::RecHitProperties::NsimHit
int NsimHit
Definition: SiStripRecHitsValid.h:116
SiStripRecHitsValid::RecHitProperties::chi2
float chi2
Definition: SiStripRecHitsValid.h:115
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
LocalError
Definition: LocalError.h:12
SiStripRecHitsValid::switchNumTotStereo
bool switchNumTotStereo
Definition: SiStripRecHitsValid.h:129
HLT_FULL_cff.value2
value2
Definition: HLT_FULL_cff.py:9868
SiStripRecHitsValid::RecHitProperties::bunch
int bunch
Definition: SiStripRecHitsValid.h:117
PV2DBase::x
T x() const
Definition: PV2DBase.h:43
SiStripRecHitsValid::createStereoAndMatchedMEs
void createStereoAndMatchedMEs(DQMStore::IBooker &ibooker, std::string label)
Definition: SiStripRecHitsValid.cc:747
SiStripRecHitsValid::switchResolxMatched
bool switchResolxMatched
Definition: SiStripRecHitsValid.h:162
EncodedEventId::event
int event() const
get the contents of the subdetector field (should be protected?)
Definition: EncodedEventId.h:30
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
SiStripRecHitsValid::createMEs
void createMEs(DQMStore::IBooker &ibooker, const edm::EventSetup &es)
Definition: SiStripRecHitsValid.cc:517
StripTopology::stripAngle
virtual float stripAngle(float strip) const =0
SiStripFolderOrganizer::setSiStripFolderName
void setSiStripFolderName(std::string name)
Definition: SiStripFolderOrganizer.cc:41
SiStripRecHitsValid::switchResyMatched
bool switchResyMatched
Definition: SiStripRecHitsValid.h:165
SiStripRecHitsValid::switchNsimHitStereo
bool switchNsimHitStereo
Definition: SiStripRecHitsValid.h:159
SiStripRecHitsValid::switchWclusrphi
bool switchWclusrphi
Definition: SiStripRecHitsValid.h:142
cscdqm::HistoName
std::string HistoName
Definition: CSCDQM_HistoDef.h:32
SiStripFolderOrganizer::setSiStripFolder
void setSiStripFolder()
Definition: SiStripFolderOrganizer.cc:45
AlgebraicSymMatrix
CLHEP::HepSymMatrix AlgebraicSymMatrix
Definition: AlgebraicObjects.h:15
Topology::measurementPosition
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
get
#define get
SiStripRecHitsValid::switchEventStereo
bool switchEventStereo
Definition: SiStripRecHitsValid.h:137
SiStripRecHitsValid::RecHitProperties::pullMF
float pullMF
Definition: SiStripRecHitsValid.h:112
alignCSCRings.r
r
Definition: alignCSCRings.py:93
SiStripRecHitsValid::switchAdcrphi
bool switchAdcrphi
Definition: SiStripRecHitsValid.h:143
SiStripRecHitsValid::switchResxMatched
bool switchResxMatched
Definition: SiStripRecHitsValid.h:164
GluedGeomDet::stereoDet
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:20
TrackerHitAssociator
Definition: TrackerHitAssociator.h:55
HLT_FULL_cff.value1
value1
Definition: HLT_FULL_cff.py:9869
SiStripHistoId
Definition: SiStripHistoId.h:25
SiStripRecHitsValid::totalMEs
TotalMEs totalMEs
Definition: SiStripRecHitsValid.h:126
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
SiStripRecHitsValid::TotalMEs::meNumTotStereo
MonitorElement * meNumTotStereo
Definition: SiStripRecHitsValid.h:55
SiStripRecHitsValid::LayerDetMap
std::map< std::string, std::vector< uint32_t > > LayerDetMap
Definition: SiStripRecHitsValid.h:175
SiStripSubStructure::getTOBDetectors
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0)
SiStripRecHitsValid::switchResrphi
bool switchResrphi
Definition: SiStripRecHitsValid.h:146
SiStripRecHitsValid::createLayerMEs
void createLayerMEs(DQMStore::IBooker &ibooker, std::string label)
Definition: SiStripRecHitsValid.cc:657
SiStripFolderOrganizer::setLayerFolder
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
Definition: SiStripFolderOrganizer.cc:304
SiStripFolderOrganizer
Definition: SiStripFolderOrganizer.h:27
ME
Definition: ME.h:11
SiStripHistoId::getSubdetid
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
Definition: SiStripHistoId.cc:82
SiStripRecHitsValid::switchNumMatched
bool switchNumMatched
Definition: SiStripRecHitsValid.h:138
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
SiStripRecHitsValid::stereoRecHitsToken_
edm::EDGetTokenT< SiStripRecHit2DCollection > stereoRecHitsToken_
Definition: SiStripRecHitsValid.h:230
SiStripRecHitsValid::switchPullLFStereo
bool switchPullLFStereo
Definition: SiStripRecHitsValid.h:156
SiStripRecHitsValid::trackerHitAssociatorConfig_
TrackerHitAssociator::Config trackerHitAssociatorConfig_
Definition: SiStripRecHitsValid.h:212
StripGeomDetUnit::specificTopology
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
Definition: StripGeomDetUnit.cc:17
SiStripRecHitsValid::RecHitProperties::y
float y
Definition: SiStripRecHitsValid.h:105
SiStripRecHitsValid::switchAdcStereo
bool switchAdcStereo
Definition: SiStripRecHitsValid.h:152
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
MeasurementError::uu
float uu() const
Definition: MeasurementError.h:14
SiStripRecHitsValid::RecHitProperties::x
float x
Definition: SiStripRecHitsValid.h:104
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
SiStripDetId
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:18
PSimHit
Definition: PSimHit.h:15
SiStripRecHitsValid::switchNumStereo
bool switchNumStereo
Definition: SiStripRecHitsValid.h:135
SiStripRecHitsValid::RecHitProperties::clusiz
int clusiz
Definition: SiStripRecHitsValid.h:113
SiStripRecHitsValid::bookME1D
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
Definition: SiStripRecHitsValid.cc:995
SiStripRecHitsValid::switchResolxrphi
bool switchResolxrphi
Definition: SiStripRecHitsValid.h:145
dttmaxenums::R
Definition: DTTMax.h:29
StripTopology
Definition: StripTopology.h:11
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
edm::InputTag
Definition: InputTag.h:15
label
const char * label
Definition: PFTauDecayModeTools.cc:11
SiStripRecHitsValid::RecHitProperties::resy
float resy
Definition: SiStripRecHitsValid.h:111
EncodedEventId::bunchCrossing
int bunchCrossing() const
get the detector field from this detid
Definition: EncodedEventId.h:25
hit
Definition: SiStripHitEffFromCalibTree.cc:88
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
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
StripGeomDetUnit
Definition: StripGeomDetUnit.h:15
TrackerGeometry
Definition: TrackerGeometry.h:14
SiStripRecHitsValid::StereoAndMatchedDetMap
std::map< std::string, std::vector< uint32_t > > StereoAndMatchedDetMap
Definition: SiStripRecHitsValid.h:176