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
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

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
 
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordm_geomToken
 
const edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcdm_SiStripDetCablingToken
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdm_topoToken
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdm_topoTokenBR
 
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_
 
edm::ESWatcher< SiStripDetCablingRcdwatchSiStripDetCablingRcd_
 

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 >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::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 54 of file SiStripRecHitsValid.h.

Constructor & Destructor Documentation

◆ SiStripRecHitsValid()

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

Definition at line 24 of file SiStripRecHitsValid.cc.

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

References edm::BeginRun, 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 160 of file SiStripRecHitsValid.cc.

160 {}

Member Function Documentation

◆ analyze()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 172 of file SiStripRecHitsValid.cc.

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

References SiStripRecHitsValid::RecHitProperties::bunch, SiStripRecHitsValid::RecHitProperties::chi2, SiStripRecHitsValid::RecHitProperties::cluchg, SiStripRecHitsValid::RecHitProperties::clusiz, MillePedeFileConverter_cfg::e, SiStripRecHitsValid::RecHitProperties::event, fillME(), edm::EventSetup::getData(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripHistoId::getSubdetid(), label, LayerMEsMap, m_geomToken, m_topoToken, matchedRecHitsToken_, SiStripRecHitsValid::TotalMEs::meNumTotMatched, SiStripRecHitsValid::TotalMEs::meNumTotrphi, SiStripRecHitsValid::TotalMEs::meNumTotStereo, SiStripRecHitsValid::RecHitProperties::NsimHit, 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 163 of file SiStripRecHitsValid.cc.

163  {
165  edm::LogInfo("SiStripRecHitsValid") << "SiStripRecHitsValid::beginRun: "
166  << " Creating MEs for new Cabling ";
167 
168  createMEs(ibooker, es);
169  }
170 }

References edm::ESWatcher< T >::check(), createMEs(), and watchSiStripDetCablingRcd_.

◆ bookME1D()

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

Definition at line 990 of file SiStripRecHitsValid.cc.

993  {
995  return ibooker.book1D(HistoName,
996  HistoTitle,
997  parameters.getParameter<int32_t>("Nbinx"),
998  parameters.getParameter<double>("xmin"),
999  parameters.getParameter<double>("xmax"));
1000 }

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 652 of file SiStripRecHitsValid.cc.

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

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 514 of file SiStripRecHitsValid.cc.

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

References funct::abs(), SiStripDetCabling::addActiveDetectorsRawIds(), createLayerMEs(), createStereoAndMatchedMEs(), createSubDetMEs(), createTotalMEs(), edm::EventSetup::getData(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), label, LayerDetMap, LayerMEsMap, m_SiStripDetCablingToken, m_topoTokenBR, 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 742 of file SiStripRecHitsValid.cc.

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

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 919 of file SiStripRecHitsValid.cc.

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

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 630 of file SiStripRecHitsValid.cc.

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

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 207 of file SiStripRecHitsValid.h.

207  {
208  if (ME != nullptr)
209  ME->Fill(value1);
210  }

References HLT_FULL_cff::value1.

Referenced by analyze().

◆ fillME() [2/4]

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

Definition at line 211 of file SiStripRecHitsValid.h.

211  {
212  if (ME != nullptr)
213  ME->Fill(value1, value2);
214  }

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 215 of file SiStripRecHitsValid.h.

215  {
216  if (ME != nullptr)
217  ME->Fill(value1, value2, value3);
218  }

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 219 of file SiStripRecHitsValid.h.

219  {
220  if (ME != nullptr)
221  ME->Fill(value1, value2, value3, value4);
222  }

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 331 of file SiStripRecHitsValid.cc.

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

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 359 of file SiStripRecHitsValid.cc.

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

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 432 of file SiStripRecHitsValid.cc.

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

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 224 of file SiStripRecHitsValid.h.

Referenced by bookME1D(), and SiStripRecHitsValid().

◆ LayerDetMap

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

Definition at line 188 of file SiStripRecHitsValid.h.

Referenced by createMEs().

◆ LayerMEsMap

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

Definition at line 185 of file SiStripRecHitsValid.h.

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

◆ m_geomToken

const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> SiStripRecHitsValid::m_geomToken
private

Definition at line 133 of file SiStripRecHitsValid.h.

Referenced by analyze().

◆ m_SiStripDetCablingToken

const edm::ESGetToken<SiStripDetCabling, SiStripDetCablingRcd> SiStripRecHitsValid::m_SiStripDetCablingToken
private

Definition at line 135 of file SiStripRecHitsValid.h.

Referenced by createMEs().

◆ m_topoToken

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiStripRecHitsValid::m_topoToken
private

Definition at line 134 of file SiStripRecHitsValid.h.

Referenced by analyze().

◆ m_topoTokenBR

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiStripRecHitsValid::m_topoTokenBR
private

Definition at line 134 of file SiStripRecHitsValid.h.

Referenced by createMEs().

◆ matchedRecHitsToken_

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

Definition at line 240 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

◆ rechitpro

RecHitProperties SiStripRecHitsValid::rechitpro
private

Definition at line 233 of file SiStripRecHitsValid.h.

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

◆ rphiRecHitsToken_

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

Definition at line 241 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

◆ SiStripDetCabling_

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

Definition at line 191 of file SiStripRecHitsValid.h.

Referenced by createMEs().

◆ StereoAndMatchedDetMap

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

Definition at line 189 of file SiStripRecHitsValid.h.

Referenced by createMEs().

◆ StereoAndMatchedMEsMap

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

Definition at line 186 of file SiStripRecHitsValid.h.

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

◆ stereoRecHitsToken_

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

Definition at line 242 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

◆ SubDetList_

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

Definition at line 183 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

◆ SubDetMEsMap

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

Definition at line 187 of file SiStripRecHitsValid.h.

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

◆ switchAdcrphi

bool SiStripRecHitsValid::switchAdcrphi
private

Definition at line 156 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchAdcStereo

bool SiStripRecHitsValid::switchAdcStereo
private

Definition at line 165 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchBunchMatched

bool SiStripRecHitsValid::switchBunchMatched
private

Definition at line 152 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchBunchrphi

bool SiStripRecHitsValid::switchBunchrphi
private

Definition at line 146 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchBunchStereo

bool SiStripRecHitsValid::switchBunchStereo
private

Definition at line 149 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchChi2Matched

bool SiStripRecHitsValid::switchChi2Matched
private

Definition at line 179 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchChi2rphi

bool SiStripRecHitsValid::switchChi2rphi
private

Definition at line 162 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchChi2Stereo

bool SiStripRecHitsValid::switchChi2Stereo
private

Definition at line 171 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchEventMatched

bool SiStripRecHitsValid::switchEventMatched
private

Definition at line 153 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchEventrphi

bool SiStripRecHitsValid::switchEventrphi
private

Definition at line 147 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchEventStereo

bool SiStripRecHitsValid::switchEventStereo
private

Definition at line 150 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchNsimHitMatched

bool SiStripRecHitsValid::switchNsimHitMatched
private

Definition at line 180 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchNsimHitrphi

bool SiStripRecHitsValid::switchNsimHitrphi
private

Definition at line 163 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchNsimHitStereo

bool SiStripRecHitsValid::switchNsimHitStereo
private

Definition at line 172 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchNumMatched

bool SiStripRecHitsValid::switchNumMatched
private

Definition at line 151 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchNumrphi

bool SiStripRecHitsValid::switchNumrphi
private

Definition at line 145 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchNumStereo

bool SiStripRecHitsValid::switchNumStereo
private

Definition at line 148 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

◆ switchNumTotMatched

bool SiStripRecHitsValid::switchNumTotMatched
private

Definition at line 143 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

◆ switchNumTotrphi

bool SiStripRecHitsValid::switchNumTotrphi
private

Definition at line 141 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

◆ switchNumTotStereo

bool SiStripRecHitsValid::switchNumTotStereo
private

Definition at line 142 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

◆ switchPosxMatched

bool SiStripRecHitsValid::switchPosxMatched
private

Definition at line 173 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchPosxrphi

bool SiStripRecHitsValid::switchPosxrphi
private

Definition at line 157 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchPosxStereo

bool SiStripRecHitsValid::switchPosxStereo
private

Definition at line 166 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchPosyMatched

bool SiStripRecHitsValid::switchPosyMatched
private

Definition at line 174 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchPullLFrphi

bool SiStripRecHitsValid::switchPullLFrphi
private

Definition at line 160 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchPullLFStereo

bool SiStripRecHitsValid::switchPullLFStereo
private

Definition at line 169 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchPullMFrphi

bool SiStripRecHitsValid::switchPullMFrphi
private

Definition at line 161 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchPullMFStereo

bool SiStripRecHitsValid::switchPullMFStereo
private

Definition at line 170 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResolxMatched

bool SiStripRecHitsValid::switchResolxMatched
private

Definition at line 175 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResolxrphi

bool SiStripRecHitsValid::switchResolxrphi
private

Definition at line 158 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchResolxStereo

bool SiStripRecHitsValid::switchResolxStereo
private

Definition at line 167 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResolyMatched

bool SiStripRecHitsValid::switchResolyMatched
private

Definition at line 176 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResrphi

bool SiStripRecHitsValid::switchResrphi
private

Definition at line 159 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchResStereo

bool SiStripRecHitsValid::switchResStereo
private

Definition at line 168 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResxMatched

bool SiStripRecHitsValid::switchResxMatched
private

Definition at line 177 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchResyMatched

bool SiStripRecHitsValid::switchResyMatched
private

Definition at line 178 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ switchWclusrphi

bool SiStripRecHitsValid::switchWclusrphi
private

Definition at line 155 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

◆ switchWclusStereo

bool SiStripRecHitsValid::switchWclusStereo
private

Definition at line 164 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

◆ topFolderName_

std::string SiStripRecHitsValid::topFolderName_
private

Definition at line 182 of file SiStripRecHitsValid.h.

Referenced by createMEs(), and SiStripRecHitsValid().

◆ totalMEs

TotalMEs SiStripRecHitsValid::totalMEs
private

Definition at line 139 of file SiStripRecHitsValid.h.

Referenced by analyze(), and createTotalMEs().

◆ trackerHitAssociatorConfig_

TrackerHitAssociator::Config SiStripRecHitsValid::trackerHitAssociatorConfig_
private

Definition at line 225 of file SiStripRecHitsValid.h.

Referenced by analyze().

◆ watchSiStripDetCablingRcd_

edm::ESWatcher<SiStripDetCablingRcd> SiStripRecHitsValid::watchSiStripDetCablingRcd_
private

Definition at line 137 of file SiStripRecHitsValid.h.

Referenced by bookHistograms().

Vector3DBase< float, LocalTag >
muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
SiStripRecHitsValid::TotalMEs::meNumTotMatched
MonitorElement * meNumTotMatched
Definition: SiStripRecHitsValid.h:63
SiStripHistoId::createHistoLayer
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
Definition: SiStripHistoId.cc:51
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
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:161
SiStripRecHitsValid::switchEventrphi
bool switchEventrphi
Definition: SiStripRecHitsValid.h:147
BeamSpotPI::parameters
parameters
Definition: BeamSpotPayloadInspectorHelper.h:30
SiStripRecHitsValid::createSubDetMEs
void createSubDetMEs(DQMStore::IBooker &ibooker, std::string label)
Definition: SiStripRecHitsValid.cc:919
SiStripRecHitsValid::m_geomToken
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > m_geomToken
Definition: SiStripRecHitsValid.h:133
SiStripRecHitsValid::projectHit
std::pair< LocalPoint, LocalVector > projectHit(const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
Definition: SiStripRecHitsValid.cc:331
SiStripRecHitsValid::switchBunchStereo
bool switchBunchStereo
Definition: SiStripRecHitsValid.h:149
SiStripRecHitsValid::switchNsimHitMatched
bool switchNsimHitMatched
Definition: SiStripRecHitsValid.h:180
GeomDet
Definition: GeomDet.h:27
SiStripRecHitsValid::rphiRecHitsToken_
edm::EDGetTokenT< SiStripRecHit2DCollection > rphiRecHitsToken_
Definition: SiStripRecHitsValid.h:241
L1EGammaCrystalsEmulatorProducer_cfi.scale
scale
Definition: L1EGammaCrystalsEmulatorProducer_cfi.py:10
SiStripRecHitsValid::switchPullMFStereo
bool switchPullMFStereo
Definition: SiStripRecHitsValid.h:170
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:183
SiStripRecHitsValid::createTotalMEs
void createTotalMEs(DQMStore::IBooker &ibooker)
Definition: SiStripRecHitsValid.cc:630
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:240
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:185
SiStripRecHitsValid::switchChi2Stereo
bool switchChi2Stereo
Definition: SiStripRecHitsValid.h:171
TrackerTopology
Definition: TrackerTopology.h:16
SiStripRecHitsValid::RecHitProperties::resx
float resx
Definition: SiStripRecHitsValid.h:117
SiStripRecHitsValid::switchResStereo
bool switchResStereo
Definition: SiStripRecHitsValid.h:168
SiStripRecHitsValid::TotalMEs::meNumTotrphi
MonitorElement * meNumTotrphi
Definition: SiStripRecHitsValid.h:61
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:166
TrackerTopology::tecIsStereo
bool tecIsStereo(const DetId &id) const
Definition: TrackerTopology.h:265
SiStripRecHitsValid::switchChi2Matched
bool switchChi2Matched
Definition: SiStripRecHitsValid.h:179
SiStripRecHitsValid::RecHitProperties::cluchg
float cluchg
Definition: SiStripRecHitsValid.h:121
SiStripRecHitsValid::RecHitProperties::resolxx
float resolxx
Definition: SiStripRecHitsValid.h:114
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
SiStripRecHitsValid::SubDetMEsMap
std::map< std::string, SubDetMEs > SubDetMEsMap
Definition: SiStripRecHitsValid.h:187
SiStripRecHitsValid::m_topoTokenBR
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > m_topoTokenBR
Definition: SiStripRecHitsValid.h:134
edm::Handle
Definition: AssociativeIterator.h:50
relativeConstraints.error
error
Definition: relativeConstraints.py:53
SiStripRecHitsValid::switchNsimHitrphi
bool switchNsimHitrphi
Definition: SiStripRecHitsValid.h:163
SiStripRecHitsValid::switchResolxStereo
bool switchResolxStereo
Definition: SiStripRecHitsValid.h:167
SiStripRecHitsValid::switchResolyMatched
bool switchResolyMatched
Definition: SiStripRecHitsValid.h:176
PSimHit::eventId
EncodedEventId eventId() const
Definition: PSimHit.h:108
SiStripRecHitsValid::switchNumTotrphi
bool switchNumTotrphi
Definition: SiStripRecHitsValid.h:141
SiStripRecHitsValid::switchBunchrphi
bool switchBunchrphi
Definition: SiStripRecHitsValid.h:146
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:191
SiStripRecHitsValid::fillME
void fillME(MonitorElement *ME, float value1)
Definition: SiStripRecHitsValid.h:207
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:157
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
SiStripRecHitsValid::switchPullLFrphi
bool switchPullLFrphi
Definition: SiStripRecHitsValid.h:160
SiStripRecHitsValid::rechitanalysis_matched
void rechitanalysis_matched(SiStripMatchedRecHit2D const rechit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate)
Definition: SiStripRecHitsValid.cc:432
SiStripRecHitsValid::RecHitProperties::event
int event
Definition: SiStripRecHitsValid.h:125
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
SiStripRecHitsValid::topFolderName_
std::string topFolderName_
Definition: SiStripRecHitsValid.h:182
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:79
SiStripRecHitsValid::switchNumrphi
bool switchNumrphi
Definition: SiStripRecHitsValid.h:145
MeasurementError
Definition: MeasurementError.h:8
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
SiStripRecHitsValid::switchBunchMatched
bool switchBunchMatched
Definition: SiStripRecHitsValid.h:152
Surface::toGlobal
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
SiStripRecHitsValid::switchPosxMatched
bool switchPosxMatched
Definition: SiStripRecHitsValid.h:173
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:164
TrackerTopology::tibIsStereo
bool tibIsStereo(const DetId &id) const
Definition: TrackerTopology.h:266
Topology::measurementError
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
SiStripRecHitsValid::switchNumTotMatched
bool switchNumTotMatched
Definition: SiStripRecHitsValid.h:143
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:359
SiStripRecHitsValid::conf_
edm::ParameterSet conf_
Definition: SiStripRecHitsValid.h:224
GluedGeomDet
Definition: GluedGeomDet.h:7
SiStripRecHitsValid::rechitpro
RecHitProperties rechitpro
Definition: SiStripRecHitsValid.h:233
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
SiStripRecHitsValid::StereoAndMatchedMEsMap
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
Definition: SiStripRecHitsValid.h:186
SiStripRecHitsValid::switchPosyMatched
bool switchPosyMatched
Definition: SiStripRecHitsValid.h:174
SiStripRecHitsValid::RecHitProperties::resolyy
float resolyy
Definition: SiStripRecHitsValid.h:116
SiStripRecHitsValid::switchEventMatched
bool switchEventMatched
Definition: SiStripRecHitsValid.h:153
edm::ParameterSet
Definition: ParameterSet.h:47
SiStripRecHitsValid::switchChi2rphi
bool switchChi2rphi
Definition: SiStripRecHitsValid.h:162
SiStripRecHitsValid::RecHitProperties::NsimHit
int NsimHit
Definition: SiStripRecHitsValid.h:123
SiStripRecHitsValid::RecHitProperties::chi2
float chi2
Definition: SiStripRecHitsValid.h:122
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
LocalError
Definition: LocalError.h:12
SiStripRecHitsValid::switchNumTotStereo
bool switchNumTotStereo
Definition: SiStripRecHitsValid.h:142
HLT_FULL_cff.value2
value2
Definition: HLT_FULL_cff.py:9891
SiStripRecHitsValid::RecHitProperties::bunch
int bunch
Definition: SiStripRecHitsValid.h:124
PV2DBase::x
T x() const
Definition: PV2DBase.h:43
SiStripRecHitsValid::createStereoAndMatchedMEs
void createStereoAndMatchedMEs(DQMStore::IBooker &ibooker, std::string label)
Definition: SiStripRecHitsValid.cc:742
SiStripRecHitsValid::switchResolxMatched
bool switchResolxMatched
Definition: SiStripRecHitsValid.h:175
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:514
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:178
SiStripRecHitsValid::switchNsimHitStereo
bool switchNsimHitStereo
Definition: SiStripRecHitsValid.h:172
SiStripRecHitsValid::switchWclusrphi
bool switchWclusrphi
Definition: SiStripRecHitsValid.h:155
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
SiStripRecHitsValid::switchEventStereo
bool switchEventStereo
Definition: SiStripRecHitsValid.h:150
SiStripRecHitsValid::RecHitProperties::pullMF
float pullMF
Definition: SiStripRecHitsValid.h:119
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
alignCSCRings.r
r
Definition: alignCSCRings.py:93
SiStripRecHitsValid::switchAdcrphi
bool switchAdcrphi
Definition: SiStripRecHitsValid.h:156
SiStripRecHitsValid::switchResxMatched
bool switchResxMatched
Definition: SiStripRecHitsValid.h:177
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:9892
SiStripHistoId
Definition: SiStripHistoId.h:25
SiStripRecHitsValid::totalMEs
TotalMEs totalMEs
Definition: SiStripRecHitsValid.h:139
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
SiStripRecHitsValid::TotalMEs::meNumTotStereo
MonitorElement * meNumTotStereo
Definition: SiStripRecHitsValid.h:62
SiStripRecHitsValid::m_topoToken
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > m_topoToken
Definition: SiStripRecHitsValid.h:134
SiStripRecHitsValid::LayerDetMap
std::map< std::string, std::vector< uint32_t > > LayerDetMap
Definition: SiStripRecHitsValid.h:188
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:159
SiStripRecHitsValid::watchSiStripDetCablingRcd_
edm::ESWatcher< SiStripDetCablingRcd > watchSiStripDetCablingRcd_
Definition: SiStripRecHitsValid.h:137
SiStripRecHitsValid::createLayerMEs
void createLayerMEs(DQMStore::IBooker &ibooker, std::string label)
Definition: SiStripRecHitsValid.cc:652
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:151
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
SiStripRecHitsValid::stereoRecHitsToken_
edm::EDGetTokenT< SiStripRecHit2DCollection > stereoRecHitsToken_
Definition: SiStripRecHitsValid.h:242
SiStripRecHitsValid::switchPullLFStereo
bool switchPullLFStereo
Definition: SiStripRecHitsValid.h:169
SiStripRecHitsValid::trackerHitAssociatorConfig_
TrackerHitAssociator::Config trackerHitAssociatorConfig_
Definition: SiStripRecHitsValid.h:225
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:112
SiStripRecHitsValid::switchAdcStereo
bool switchAdcStereo
Definition: SiStripRecHitsValid.h:165
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:111
SiStripDetId
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:18
PSimHit
Definition: PSimHit.h:15
SiStripRecHitsValid::m_SiStripDetCablingToken
const edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > m_SiStripDetCablingToken
Definition: SiStripRecHitsValid.h:135
SiStripRecHitsValid::switchNumStereo
bool switchNumStereo
Definition: SiStripRecHitsValid.h:148
SiStripRecHitsValid::RecHitProperties::clusiz
int clusiz
Definition: SiStripRecHitsValid.h:120
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
SiStripRecHitsValid::bookME1D
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
Definition: SiStripRecHitsValid.cc:990
SiStripRecHitsValid::switchResolxrphi
bool switchResolxrphi
Definition: SiStripRecHitsValid.h:158
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:118
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:189