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::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

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
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)=0
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

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 edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

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::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 47 of file SiStripRecHitsValid.h.

Constructor & Destructor Documentation

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

Definition at line 28 of file SiStripRecHitsValid.cc.

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_.

29  : conf_(ps),
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 }
T getParameter(std::string const &) const
std::vector< std::string > SubDetList_
TrackerHitAssociator::Config trackerHitAssociatorConfig_
edm::EDGetTokenT< SiStripRecHit2DCollection > stereoRecHitsToken_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::EDGetTokenT< SiStripRecHit2DCollection > rphiRecHitsToken_
edm::ParameterSet conf_
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > matchedRecHitsToken_
unsigned long long m_cacheID_
SiStripRecHitsValid::~SiStripRecHitsValid ( )
override

Definition at line 161 of file SiStripRecHitsValid.cc.

161 {}

Member Function Documentation

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

Definition at line 175 of file SiStripRecHitsValid.cc.

References SiStripRecHitsValid::RecHitProperties::bunch, SiStripRecHitsValid::RecHitProperties::chi2, SiStripRecHitsValid::RecHitProperties::cluchg, SiStripRecHitsValid::RecHitProperties::clusiz, edm::EventID::event(), SiStripRecHitsValid::RecHitProperties::event, fillME(), edm::EventSetup::get(), edm::Event::getByToken(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripHistoId::getSubdetid(), edm::EventBase::id(), TrackerGeometry::idToDet(), TrackerGeometry::idToDetUnit(), 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_, edm::EventID::run(), mathSSE::sqrt(), StereoAndMatchedMEsMap, stereoRecHitsToken_, AlCaHLTBitMon_QueryRunRegistry::string, SubDetList_, SubDetMEsMap, totalMEs, PbPb_ZMuSkimMuonDPG_cff::tracker, trackerHitAssociatorConfig_, SiStripRecHitsValid::RecHitProperties::x, and SiStripRecHitsValid::RecHitProperties::y.

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 }
RunNumber_t run() const
Definition: EventID.h:38
RecHitProperties rechitpro
EventNumber_t event() const
Definition: EventID.h:40
std::vector< std::string > SubDetList_
void rechitanalysis_matched(SiStripMatchedRecHit2D const rechit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
TrackerHitAssociator::Config trackerHitAssociatorConfig_
std::map< std::string, SubDetMEs > SubDetMEsMap
void rechitanalysis(SiStripRecHit2D const rechit, const StripTopology &topol, TrackerHitAssociator &associate)
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
edm::EDGetTokenT< SiStripRecHit2DCollection > stereoRecHitsToken_
char const * label
T sqrt(T t)
Definition: SSEVec.h:19
edm::EDGetTokenT< SiStripRecHit2DCollection > rphiRecHitsToken_
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
Definition: DetId.h:17
std::map< std::string, LayerMEs > LayerMEsMap
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
edm::EventID id() const
Definition: EventBase.h:59
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > matchedRecHitsToken_
void fillME(MonitorElement *ME, float value1)
T const * product() const
Definition: ESHandle.h:86
void SiStripRecHitsValid::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run run,
const edm::EventSetup es 
)
overrideprotected

Definition at line 164 of file SiStripRecHitsValid.cc.

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

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 }
void createMEs(DQMStore::IBooker &ibooker, const edm::EventSetup &es)
T get() const
Definition: EventSetup.h:73
unsigned long long m_cacheID_
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.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), conf_, DEFINE_FWK_MODULE, and edm::ParameterSet::getParameter().

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

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 }
T getParameter(std::string const &) const
std::string HistoName
edm::ParameterSet conf_
void SiStripRecHitsValid::createLayerMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 657 of file SiStripRecHitsValid.cc.

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().

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 }
char const * label
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
std::map< std::string, LayerMEs > LayerMEsMap
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripRecHitsValid::createMEs ( DQMStore::IBooker ibooker,
const edm::EventSetup es 
)
private

Definition at line 517 of file SiStripRecHitsValid.cc.

References funct::abs(), SiStripDetCabling::addActiveDetectorsRawIds(), createLayerMEs(), createStereoAndMatchedMEs(), createSubDetMEs(), createTotalMEs(), edm::EventSetup::get(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), label, LayerDetMap, LayerMEsMap, edm::ESHandle< T >::product(), dqm::dqmstoreimpl::DQMStore::IBooker::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().

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
590  if (StereoAndMatchedMEsMap.find(label) == StereoAndMatchedMEsMap.end()) {
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
629  createStereoAndMatchedMEs(ibooker, label);
630  }
631  }
632  } //end of loop over detectors
633 }
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)
void createStereoAndMatchedMEs(DQMStore::IBooker &ibooker, std::string label)
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
void setSiStripFolderName(std::string name)
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
bool tobIsStereo(const DetId &id) const
void createSubDetMEs(DQMStore::IBooker &ibooker, std::string label)
std::map< std::string, SubDetMEs > SubDetMEsMap
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
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)
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
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)
bool tidIsStereo(const DetId &id) const
char const * label
bool tecIsStereo(const DetId &id) const
std::map< std::string, std::vector< uint32_t > > LayerDetMap
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
std::map< std::string, LayerMEs > LayerMEsMap
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
bool tibIsStereo(const DetId &id) const
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
void createTotalMEs(DQMStore::IBooker &ibooker)
T get() const
Definition: EventSetup.h:73
void createLayerMEs(DQMStore::IBooker &ibooker, std::string label)
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)
std::map< std::string, std::vector< uint32_t > > StereoAndMatchedDetMap
T const * product() const
Definition: ESHandle.h:86
void SiStripRecHitsValid::createStereoAndMatchedMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 747 of file SiStripRecHitsValid.cc.

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().

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 }
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
char const * label
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripRecHitsValid::createSubDetMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 924 of file SiStripRecHitsValid.cc.

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().

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 }
std::map< std::string, SubDetMEs > SubDetMEsMap
char const * label
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
std::string HistoName
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripRecHitsValid::createTotalMEs ( DQMStore::IBooker ibooker)
private

Definition at line 635 of file SiStripRecHitsValid.cc.

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

Referenced by createMEs().

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 }
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 194 of file SiStripRecHitsValid.h.

References dqm::impl::MonitorElement::Fill().

Referenced by analyze().

194  {
195  if (ME != nullptr)
196  ME->Fill(value1);
197  }
void Fill(long long x)
void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2 
)
inlineprivate

Definition at line 198 of file SiStripRecHitsValid.h.

References dqm::impl::MonitorElement::Fill().

198  {
199  if (ME != nullptr)
200  ME->Fill(value1, value2);
201  }
void Fill(long long x)
void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3 
)
inlineprivate

Definition at line 202 of file SiStripRecHitsValid.h.

References dqm::impl::MonitorElement::Fill().

202  {
203  if (ME != nullptr)
204  ME->Fill(value1, value2, value3);
205  }
void Fill(long long x)
void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3,
float  value4 
)
inlineprivate

Definition at line 206 of file SiStripRecHitsValid.h.

References dqm::impl::MonitorElement::Fill().

206  {
207  if (ME != nullptr)
208  ME->Fill(value1, value2, value3, value4);
209  }
void Fill(long long x)
std::pair< LocalPoint, LocalVector > SiStripRecHitsValid::projectHit ( const PSimHit hit,
const StripGeomDetUnit stripDet,
const BoundPlane plane 
)
private

Definition at line 338 of file SiStripRecHitsValid.cc.

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

Referenced by rechitanalysis_matched().

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 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:81
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
virtual float strip(const LocalPoint &) const =0
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
Local3DPoint localPosition() const
Definition: PSimHit.h:52
virtual float stripAngle(float strip) const =0
T z() const
Definition: PV3DBase.h:61
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
LocalVector localDirection() const
Obsolete. Same as momentumAtEntry().unit(), for backward compatibility.
Definition: PSimHit.h:58
void SiStripRecHitsValid::rechitanalysis ( SiStripRecHit2D const  rechit,
const StripTopology topol,
TrackerHitAssociator associate 
)
private

Definition at line 366 of file SiStripRecHitsValid.cc.

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, LocalError::xx(), LocalError::xy(), PV3DBase< T, PVType, FrameType >::y(), SiStripRecHitsValid::RecHitProperties::y, and LocalError::yy().

Referenced by analyze().

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);
379  MeasurementError Merror = topol.measurementError(position, error);
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 }
RecHitProperties rechitpro
float xx() const
Definition: LocalError.h:22
int event() const
get the contents of the subdetector field (should be protected?)
T y() const
Definition: PV3DBase.h:60
float xy() const
Definition: LocalError.h:23
float yy() const
Definition: LocalError.h:24
Local3DPoint localPosition() const
Definition: PSimHit.h:52
T sqrt(T t)
Definition: SSEVec.h:19
int bunchCrossing() const
get the detector field from this detid
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
float uu() const
EncodedEventId eventId() const
Definition: PSimHit.h:108
CLHEP::HepVector AlgebraicVector
static int position[264][3]
Definition: ReadPGInfo.cc:289
CLHEP::HepSymMatrix AlgebraicSymMatrix
std::vector< PSimHit > associateHit(const TrackingRecHit &thit) const
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
T x() const
Definition: PV2DBase.h:43
T x() const
Definition: PV3DBase.h:59
void SiStripRecHitsValid::rechitanalysis_matched ( SiStripMatchedRecHit2D const  rechit,
const GluedGeomDet gluedDet,
TrackerHitAssociator associate 
)
private

Definition at line 435 of file SiStripRecHitsValid.cc.

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, LocalError::xx(), LocalError::xy(), PV3DBase< T, PVType, FrameType >::y(), SiStripRecHitsValid::RecHitProperties::y, and LocalError::yy().

Referenced by analyze().

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 }
RecHitProperties rechitpro
float xx() const
Definition: LocalError.h:22
int event() const
get the contents of the subdetector field (should be protected?)
T y() const
Definition: PV3DBase.h:60
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
float xy() const
Definition: LocalError.h:23
float yy() const
Definition: LocalError.h:24
T sqrt(T t)
Definition: SSEVec.h:19
int bunchCrossing() const
get the detector field from this detid
EncodedEventId eventId() const
Definition: PSimHit.h:108
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:18
CLHEP::HepVector AlgebraicVector
std::pair< LocalPoint, LocalVector > projectHit(const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
static int position[264][3]
Definition: ReadPGInfo.cc:289
CLHEP::HepSymMatrix AlgebraicSymMatrix
std::vector< PSimHit > associateHit(const TrackingRecHit &thit) const
T x() const
Definition: PV3DBase.h:59
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:20

Member Data Documentation

edm::ParameterSet SiStripRecHitsValid::conf_
private

Definition at line 211 of file SiStripRecHitsValid.h.

Referenced by bookME1D(), and SiStripRecHitsValid().

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

Definition at line 175 of file SiStripRecHitsValid.h.

Referenced by createMEs().

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

Definition at line 172 of file SiStripRecHitsValid.h.

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

unsigned long long SiStripRecHitsValid::m_cacheID_
private

Definition at line 213 of file SiStripRecHitsValid.h.

Referenced by bookHistograms().

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

Definition at line 228 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

RecHitProperties SiStripRecHitsValid::rechitpro
private

Definition at line 221 of file SiStripRecHitsValid.h.

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

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

Definition at line 229 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

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

Definition at line 178 of file SiStripRecHitsValid.h.

Referenced by createMEs().

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

Definition at line 176 of file SiStripRecHitsValid.h.

Referenced by createMEs().

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

Definition at line 173 of file SiStripRecHitsValid.h.

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

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

Definition at line 230 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

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

Definition at line 170 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

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

Definition at line 174 of file SiStripRecHitsValid.h.

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

bool SiStripRecHitsValid::switchAdcrphi
private

Definition at line 143 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchAdcStereo
private

Definition at line 152 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchBunchMatched
private

Definition at line 139 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchBunchrphi
private

Definition at line 133 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchBunchStereo
private

Definition at line 136 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchChi2Matched
private

Definition at line 166 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchChi2rphi
private

Definition at line 149 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchChi2Stereo
private

Definition at line 158 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchEventMatched
private

Definition at line 140 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchEventrphi
private

Definition at line 134 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchEventStereo
private

Definition at line 137 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNsimHitMatched
private

Definition at line 167 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNsimHitrphi
private

Definition at line 150 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNsimHitStereo
private

Definition at line 159 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumMatched
private

Definition at line 138 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumrphi
private

Definition at line 132 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumStereo
private

Definition at line 135 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumTotMatched
private

Definition at line 130 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumTotrphi
private

Definition at line 128 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumTotStereo
private

Definition at line 129 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPosxMatched
private

Definition at line 160 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPosxrphi
private

Definition at line 144 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPosxStereo
private

Definition at line 153 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPosyMatched
private

Definition at line 161 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPullLFrphi
private

Definition at line 147 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPullLFStereo
private

Definition at line 156 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPullMFrphi
private

Definition at line 148 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPullMFStereo
private

Definition at line 157 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResolxMatched
private

Definition at line 162 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResolxrphi
private

Definition at line 145 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResolxStereo
private

Definition at line 154 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResolyMatched
private

Definition at line 163 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResrphi
private

Definition at line 146 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResStereo
private

Definition at line 155 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResxMatched
private

Definition at line 164 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResyMatched
private

Definition at line 165 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchWclusrphi
private

Definition at line 142 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchWclusStereo
private

Definition at line 151 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

std::string SiStripRecHitsValid::topFolderName_
private

Definition at line 169 of file SiStripRecHitsValid.h.

Referenced by createMEs(), and SiStripRecHitsValid().

TotalMEs SiStripRecHitsValid::totalMEs
private

Definition at line 126 of file SiStripRecHitsValid.h.

Referenced by analyze(), and createTotalMEs().

TrackerHitAssociator::Config SiStripRecHitsValid::trackerHitAssociatorConfig_
private

Definition at line 212 of file SiStripRecHitsValid.h.

Referenced by analyze().