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::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Classes

struct  LayerMEs
 
struct  RecHitProperties
 
struct  StereoAndMatchedMEs
 
struct  SubDetMEs
 
struct  TotalMEs
 

Public Member Functions

 SiStripRecHitsValid (const edm::ParameterSet &conf)
 
 ~SiStripRecHitsValid ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
virtual void bookHistograms (DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &)=0
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

virtual void analyze (const edm::Event &e, const edm::EventSetup &c)
 
void beginJob (const edm::EventSetup &es)
 
void bookHistograms (DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es)
 
- 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 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 edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr< dqmDetails::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 48 of file SiStripRecHitsValid.h.

Constructor & Destructor Documentation

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

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

Definition at line 162 of file SiStripRecHitsValid.cc.

162  {
163 }

Member Function Documentation

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

Definition at line 181 of file SiStripRecHitsValid.cc.

References edmNew::DetSetVector< T >::begin(), SiStripRecHitsValid::RecHitProperties::bunch, SiStripRecHitsValid::RecHitProperties::chi2, SiStripRecHitsValid::RecHitProperties::cluchg, SiStripRecHitsValid::RecHitProperties::clusiz, edmNew::DetSetVector< T >::end(), edm::EventID::event(), SiStripRecHitsValid::RecHitProperties::event, fillME(), edmNew::DetSetVector< T >::find(), TrackingRecHit::geographicalId(), edm::EventSetup::get(), edm::Event::getByToken(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripHistoId::getSubdetid(), edm::EventBase::id(), TrackerGeometry::idToDet(), TrackerGeometry::idToDetUnit(), diffTwoXMLs::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, StripGeomDetUnit::topology(), totalMEs, mixOne_simraw_on_sim_cfi::tracker, trackerHitAssociatorConfig_, SiStripRecHitsValid::RecHitProperties::x, and SiStripRecHitsValid::RecHitProperties::y.

181  {
182 
183  LogInfo("EventInfo") << " Run = " << e.id().run() << " Event = " << e.id().event();
184  //cout << " Run = " << e.id().run() << " Event = " << e.id().event() << endl;
185 
186  //Retrieve tracker topology from geometry
187  edm::ESHandle<TrackerTopology> tTopoHandle;
188  es.get<TrackerTopologyRcd>().get(tTopoHandle);
189  const TrackerTopology* const tTopo = tTopoHandle.product();
190 
191  // Step A: Get Inputs
195  e.getByToken(matchedRecHitsToken_, rechitsmatched);
196  e.getByToken(rphiRecHitsToken_, rechitsrphi);
197  e.getByToken(stereoRecHitsToken_, rechitsstereo);
198 
199  //Variables in order to count total num of rechitrphi,rechitstereo, rechitmatched in subdetectors
200  std::map<std::string, int > totnumrechitrphi;
201  std::map<std::string, int > totnumrechitstereo;
202  std::map<std::string, int > totnumrechitmatched;
203  int totrechitrphi =0;
204  int totrechitstereo =0;
205  int totrechitmatched =0;
206 
208 
210  es.get<TrackerDigiGeometryRecord> ().get (pDD);
211  const TrackerGeometry &tracker(*pDD);
212 
213  SiStripHistoId hidmanager;
214  SiStripFolderOrganizer fold_organ;
215  // start loops over detectors with detected rechitsrphi
216  for (auto it = rechitsrphi->begin(), itEnd = rechitsrphi->end(); it != itEnd; ++it) {
217  DetId detid = (*it).detId();
218  uint32_t myid = detid.rawId();
219  auto detsetIter = rechitsrphi->find(detid);
220  totrechitrphi += detsetIter->size();
221 
222  std::string label = hidmanager.getSubdetid(myid,tTopo,true);
223  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
224  std::pair<std::string,int32_t> det_lay_pair = fold_organ.GetSubDetAndLayer(myid,tTopo,true);
225 
226  totnumrechitrphi[det_lay_pair.first] = totnumrechitrphi[det_lay_pair.first] + detsetIter->size();
227  //loop over rechits-rphi in the same subdetector
228  if(iLayerME != LayerMEsMap.end()){
229  for(auto iterrphi= detsetIter->begin(), iterEnd = detsetIter->end(); iterrphi != iterEnd; ++iterrphi){
230  const GeomDetUnit * det = tracker.idToDetUnit(detid);
231  const StripGeomDetUnit * stripdet=(const StripGeomDetUnit*)(det);
232  const StripTopology &topol=(StripTopology&)stripdet->topology();
233  SiStripRecHit2D const rechit=*iterrphi;
234  //analyze RecHits
235  rechitanalysis(rechit,topol,associate);
236  // fill the result in a histogram
237  fillME(iLayerME->second.meWclusrphi,rechitpro.clusiz);
238  fillME(iLayerME->second.meAdcrphi,rechitpro.cluchg);
239  fillME(iLayerME->second.mePosxrphi,rechitpro.x);
240  fillME(iLayerME->second.meResolxrphi,rechitpro.resolxx);
241  fillME(iLayerME->second.meNsimHitrphi,rechitpro.NsimHit);
242  if (rechitpro.NsimHit > 0) {
243  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find(det_lay_pair.first);
244  fillME(iSubDetME->second.meBunchrphi, rechitpro.bunch);
245  if (rechitpro.bunch == 0) fillME(iSubDetME->second.meEventrphi, rechitpro.event);
246  }
247  if ( rechitpro.resx != -999999. || rechitpro.pullMF != -999999. || rechitpro.chi2 != -999999. ){
248  fillME(iLayerME->second.meResrphi,rechitpro.resx);
249  fillME(iLayerME->second.mePullLFrphi,rechitpro.resx/sqrt(rechitpro.resolxx));
250  fillME(iLayerME->second.mePullMFrphi,rechitpro.pullMF);
251  fillME(iLayerME->second.meChi2rphi,rechitpro.chi2);
252  }
253  }
254  }
255  }
256 
257  // start loops over detectors with detected rechitsstereo
258  for (auto it = rechitsstereo->begin(), itEnd = rechitsstereo->end(); it != itEnd; ++it) {
259  DetId detid = (*it).detId();
260  uint32_t myid= detid.rawId();
261  auto detsetIter = rechitsstereo->find(detid);
262  totrechitstereo += detsetIter->size();
263 
264  std::string label = hidmanager.getSubdetid(myid,tTopo,true);
265  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
266  std::pair<std::string,int32_t> det_lay_pair = fold_organ.GetSubDetAndLayer(myid,tTopo,true);
267 
268  totnumrechitstereo[det_lay_pair.first] = totnumrechitstereo[det_lay_pair.first] + detsetIter->size();
269  //loop over rechits-stereo in the same subdetector
270  if(iStereoAndMatchedME != StereoAndMatchedMEsMap.end()){
271  for(auto iterstereo=detsetIter->begin(), iterEnd = detsetIter->end(); iterstereo!=iterEnd; ++iterstereo){
272  const GeomDetUnit * det = tracker.idToDetUnit(detid);
273  const StripGeomDetUnit * stripdet=(const StripGeomDetUnit*)(det);
274  const StripTopology &topol=(StripTopology&)stripdet->topology();
275  SiStripRecHit2D const rechit=*iterstereo;
276  //analyze RecHits
277  rechitanalysis(rechit,topol,associate);
278  // fill the result in a histogram
279  fillME(iStereoAndMatchedME->second.meWclusStereo,rechitpro.clusiz);
280  fillME(iStereoAndMatchedME->second.meAdcStereo,rechitpro.cluchg);
281  fillME(iStereoAndMatchedME->second.mePosxStereo,rechitpro.x);
282  fillME(iStereoAndMatchedME->second.meResolxStereo,sqrt(rechitpro.resolxx));
283  fillME(iStereoAndMatchedME->second.meNsimHitStereo,rechitpro.NsimHit);
284  if (rechitpro.NsimHit > 0) {
285  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find(det_lay_pair.first);
286  fillME(iSubDetME->second.meBunchStereo, rechitpro.bunch);
287  if (rechitpro.bunch == 0) fillME(iSubDetME->second.meEventStereo, rechitpro.event);
288  }
289  if ( rechitpro.resx != -999999. || rechitpro.pullMF != -999999. || rechitpro.chi2 != -999999. ){
290  fillME(iStereoAndMatchedME->second.meResStereo,rechitpro.resx);
291  fillME(iStereoAndMatchedME->second.mePullLFStereo,rechitpro.resx/sqrt(rechitpro.resolxx));
292  fillME(iStereoAndMatchedME->second.mePullMFStereo,rechitpro.pullMF);
293  fillME(iStereoAndMatchedME->second.meChi2Stereo,rechitpro.chi2);
294  }
295  }
296  }
297  }
298 
299  // start loops over detectors with detected rechitmatched
300  for (auto it = rechitsmatched->begin(), itEnd = rechitsmatched->end(); it != itEnd; ++it) {
301  DetId detid = (*it).detId();
302  uint32_t myid = detid.rawId();
303  auto detsetIter = rechitsmatched->find(detid);
304  totrechitmatched += detsetIter->size();
305 
306  std::string label = hidmanager.getSubdetid(myid,tTopo,true);
307  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
308  std::pair<std::string,int32_t> det_lay_pair = fold_organ.GetSubDetAndLayer(myid,tTopo,true);
309 
310  totnumrechitmatched[det_lay_pair.first] = totnumrechitmatched[det_lay_pair.first] + detsetIter->size();
311  //loop over rechits-matched in the same subdetector
312  if(iStereoAndMatchedME != StereoAndMatchedMEsMap.end()){
313  for(auto itermatched=detsetIter->begin(), iterEnd = detsetIter->end(); itermatched!=iterEnd; ++itermatched){
314  SiStripMatchedRecHit2D const rechit=*itermatched;
315  const GluedGeomDet* gluedDet = (const GluedGeomDet*)tracker.idToDet(rechit.geographicalId());
316  //analyze RecHits
317  rechitanalysis_matched(rechit, gluedDet, associate);
318  // fill the result in a histogram
319  fillME(iStereoAndMatchedME->second.mePosxMatched,rechitpro.x);
320  fillME(iStereoAndMatchedME->second.mePosyMatched,rechitpro.y);
321  fillME(iStereoAndMatchedME->second.meResolxMatched,sqrt(rechitpro.resolxx));
322  fillME(iStereoAndMatchedME->second.meResolyMatched,sqrt(rechitpro.resolyy));
323  fillME(iStereoAndMatchedME->second.meNsimHitMatched,rechitpro.NsimHit);
324  if (rechitpro.NsimHit > 0) {
325  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find(det_lay_pair.first);
326  fillME(iSubDetME->second.meBunchMatched, rechitpro.bunch);
327  if (rechitpro.bunch == 0) fillME(iSubDetME->second.meEventMatched, rechitpro.event);
328  }
329  if ( rechitpro.resx != -999999. || rechitpro.resy != -999999. || rechitpro.chi2 != -999999. ){
330  fillME(iStereoAndMatchedME->second.meResxMatched,rechitpro.resx);
331  fillME(iStereoAndMatchedME->second.meResyMatched,rechitpro.resy);
332  fillME(iStereoAndMatchedME->second.meChi2Matched,rechitpro.chi2);
333  }
334  }
335  }
336  }//End of loops over detectors
337 
338  //now fill the cumulative histograms of the hits
339  for (std::vector<std::string>::iterator iSubdet = SubDetList_.begin(); iSubdet != SubDetList_.end(); ++iSubdet){
340  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find((*iSubdet));
341  fillME(iSubDetME->second.meNumrphi,totnumrechitrphi[(*iSubdet)]);
342  fillME(iSubDetME->second.meNumStereo,totnumrechitstereo[(*iSubdet)]);
343  fillME(iSubDetME->second.meNumMatched,totnumrechitmatched[(*iSubdet)]);
344  }
345 
346  fillME(totalMEs.meNumTotrphi,totrechitrphi);
347  fillME(totalMEs.meNumTotStereo,totrechitstereo);
348  fillME(totalMEs.meNumTotMatched,totrechitmatched);
349 }
RunNumber_t run() const
Definition: EventID.h:39
RecHitProperties rechitpro
EventNumber_t event() const
Definition: EventID.h:41
std::vector< std::string > SubDetList_
const_iterator end(bool update=false) const
void rechitanalysis_matched(SiStripMatchedRecHit2D const rechit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
TrackerHitAssociator::Config trackerHitAssociatorConfig_
std::map< std::string, SubDetMEs > SubDetMEsMap
void rechitanalysis(SiStripRecHit2D const rechit, const StripTopology &topol, TrackerHitAssociator &associate)
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=0)
edm::EDGetTokenT< SiStripRecHit2DCollection > stereoRecHitsToken_
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
T sqrt(T t)
Definition: SSEVec.h:18
edm::EDGetTokenT< SiStripRecHit2DCollection > rphiRecHitsToken_
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
virtual const Topology & topology() const override
Returns a reference to the strip proxy topology.
Definition: DetId.h:18
std::map< std::string, LayerMEs > LayerMEsMap
const_iterator find(id_type i, bool update=false) const
edm::EventID id() const
Definition: EventBase.h:60
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > matchedRecHitsToken_
void fillME(MonitorElement *ME, float value1)
DetId geographicalId() const
T const * product() const
Definition: ESHandle.h:86
const_iterator begin(bool update=false) const
void SiStripRecHitsValid::beginJob ( const edm::EventSetup es)
protected

Definition at line 178 of file SiStripRecHitsValid.cc.

178  {
179 }
void SiStripRecHitsValid::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run run,
const edm::EventSetup es 
)
protected

Definition at line 166 of file SiStripRecHitsValid.cc.

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

166  {
167 
168  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
169  if (m_cacheID_ != cacheID) {
170  m_cacheID_ = cacheID;
171  edm::LogInfo("SiStripRecHitsValid") <<"SiStripRecHitsValid::beginRun: "
172  << " Creating MEs for new Cabling ";
173 
174  createMEs(ibooker,es);
175  }
176 }
void createMEs(DQMStore::IBooker &ibooker, const edm::EventSetup &es)
const T & get() const
Definition: EventSetup.h:56
unsigned long long m_cacheID_
MonitorElement * SiStripRecHitsValid::bookME1D ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName,
const char *  HistoTitle 
)
inlineprivate

Definition at line 947 of file SiStripRecHitsValid.cc.

References DQMStore::IBooker::book1D(), conf_, DEFINE_FWK_MODULE, edm::ParameterSet::getParameter(), and metProducer_cfi::parameters.

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

948 {
950  return ibooker.book1D(HistoName,HistoTitle,
951  parameters.getParameter<int32_t>("Nbinx"),
952  parameters.getParameter<double>("xmin"),
953  parameters.getParameter<double>("xmax")
954  );
955 }
T getParameter(std::string const &) const
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
std::string HistoName
edm::ParameterSet conf_
void SiStripRecHitsValid::createLayerMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 697 of file SiStripRecHitsValid.cc.

References bookME1D(), SiStripHistoId::createHistoLayer(), diffTwoXMLs::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, MonitorElement::setAxisTitle(), switchAdcrphi, switchChi2rphi, switchNsimHitrphi, switchPosxrphi, switchPullLFrphi, switchPullMFrphi, switchResolxrphi, switchResrphi, and switchWclusrphi.

Referenced by createMEs().

698 {
699  SiStripHistoId hidmanager;
700  LayerMEs layerMEs;
701 
702  layerMEs.meWclusrphi = 0;
703  layerMEs.meAdcrphi = 0;
704  layerMEs.mePosxrphi = 0;
705  layerMEs.meResolxrphi = 0;
706  layerMEs.meResrphi = 0;
707  layerMEs.mePullLFrphi = 0;
708  layerMEs.mePullMFrphi = 0;
709  layerMEs.meChi2rphi = 0;
710  layerMEs.meNsimHitrphi = 0;
711 
712  //Wclusrphi
713  if(switchWclusrphi) {
714  layerMEs.meWclusrphi = bookME1D(ibooker,"TH1Wclusrphi", hidmanager.createHistoLayer("Wclus_rphi","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster");
715  layerMEs.meWclusrphi->setAxisTitle(("Cluster Width [nr strips] in "+ label).c_str());
716  }
717  //Adcrphi
718  if(switchAdcrphi) {
719  layerMEs.meAdcrphi = bookME1D(ibooker,"TH1Adcrphi", hidmanager.createHistoLayer("Adc_rphi","layer",label,"").c_str() ,"RecHit Cluster Charge");
720  layerMEs.meAdcrphi->setAxisTitle(("cluster charge [ADC] in " + label).c_str());
721  }
722  //Posxrphi
723  if(switchPosxrphi) {
724  layerMEs.mePosxrphi = bookME1D(ibooker,"TH1Posxrphi", hidmanager.createHistoLayer("Posx_rphi","layer",label,"").c_str() ,"RecHit x coord.");
725  layerMEs.mePosxrphi->setAxisTitle(("x RecHit coord. (local frame) in " + label).c_str());
726  }
727  //Resolxrphi
728  if(switchResolxrphi) {
729  layerMEs.meResolxrphi = bookME1D(ibooker,"TH1Resolxrphi", hidmanager.createHistoLayer("Resolx_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //<resolor>~20micron
730  layerMEs.meResolxrphi->setAxisTitle(("resol(x) RecHit coord. (local frame) in " + label).c_str());
731  }
732  //Resrphi
733  if(switchResrphi) {
734  layerMEs.meResrphi = bookME1D(ibooker,"TH1Resrphi", hidmanager.createHistoLayer("Res_rphi","layer",label,"").c_str() ,"Residuals of the hit x coordinate");
735  layerMEs.meResrphi->setAxisTitle(("RecHit Res(x) in " + label).c_str());
736  }
737  //PullLFrphi
738  if(switchPullLFrphi) {
739  layerMEs.mePullLFrphi = bookME1D(ibooker,"TH1PullLFrphi", hidmanager.createHistoLayer("Pull_LF_rphi","layer",label,"").c_str() ,"Pull distribution");
740  layerMEs.mePullLFrphi->setAxisTitle(("Pull distribution (local frame) in " + label).c_str());
741  }
742  //PullMFrphi
743  if(switchPullMFrphi) {
744  layerMEs.mePullMFrphi = bookME1D(ibooker,"TH1PullMFrphi", hidmanager.createHistoLayer("Pull_MF_rphi","layer",label,"").c_str() ,"Pull distribution");
745  layerMEs.mePullMFrphi->setAxisTitle(("Pull distribution (measurement frame) in " + label).c_str());
746  }
747  //Chi2rphi
748  if(switchChi2rphi) {
749  layerMEs.meChi2rphi = bookME1D(ibooker,"TH1Chi2rphi", hidmanager.createHistoLayer("Chi2_rphi","layer",label,"").c_str() ,"RecHit Chi2 test");
750  layerMEs.meChi2rphi->setAxisTitle(("RecHit Chi2 test in " + label).c_str());
751  }
752  //NsimHitrphi
753  if(switchNsimHitrphi) {
754  layerMEs.meNsimHitrphi = bookME1D(ibooker,"TH1NsimHitrphi", hidmanager.createHistoLayer("NsimHit_rphi","layer",label,"").c_str() ,"No. of assoc. simHits");
755  layerMEs.meNsimHitrphi->setAxisTitle(("Number of assoc. simHits in " + label).c_str());
756  }
757 
758  LayerMEsMap[label]=layerMEs;
759 
760 }
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)
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 543 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(), diffTwoXMLs::label, LayerDetMap, LayerMEsMap, edm::ESHandle< T >::product(), 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().

543  {
544 
545  //Retrieve tracker topology from geometry
546  edm::ESHandle<TrackerTopology> tTopoHandle;
547  es.get<TrackerTopologyRcd>().get(tTopoHandle);
548  const TrackerTopology* const tTopo = tTopoHandle.product();
549 
550  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
552 
553  // get list of active detectors from SiStripDetCabling
554  std::vector<uint32_t> activeDets;
556 
557  SiStripSubStructure substructure;
558 
559  SiStripFolderOrganizer folder_organizer;
560  // folder_organizer.setSiStripFolderName(topFolderName_);
561  std::string curfold = topFolderName_;
562  folder_organizer.setSiStripFolderName(curfold);
563  folder_organizer.setSiStripFolder();
564 
565  // std::cout << "curfold " << curfold << std::endl;
566 
567  createTotalMEs(ibooker);
568  // loop over detectors and book MEs
569  edm::LogInfo("SiStripTkRecHits|SiStripRecHitsValid")<<"nr. of activeDets: "<<activeDets.size();
570  const std::string& tec = "TEC", tid = "TID", tob = "TOB", tib = "TIB";
571  for(std::vector<uint32_t>::iterator detid_iterator=activeDets.begin(), detid_end=activeDets.end(); detid_iterator!=detid_end; ++detid_iterator){
572  uint32_t detid = (*detid_iterator);
573  // remove any eventual zero elements - there should be none, but just in case
574  if(detid == 0) {
575  activeDets.erase(detid_iterator);
576  continue;
577  }
578 
579  // Create Layer Level MEs
580  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid,tTopo,true);
581  SiStripHistoId hidmanager;
582  std::string label = hidmanager.getSubdetid(detid,tTopo,true);
583  // std::cout << "label " << label << endl;
584 
585  if(LayerMEsMap.find(label)==LayerMEsMap.end()) {
586 
587  // get detids for the layer
588  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
589  int32_t lnumber = det_layer_pair.second;
590  const std::string& lname = det_layer_pair.first;
591  std::vector<uint32_t> layerDetIds;
592  if (lname.compare(tec) == 0) {
593  if (lnumber > 0) {
594  substructure.getTECDetectors(activeDets,layerDetIds,2,0,0,0,abs(lnumber),0);
595  } else if (lnumber < 0) {
596  substructure.getTECDetectors(activeDets,layerDetIds,1,0,0,0,abs(lnumber),0);
597  }
598  } else if (lname.compare(tid) == 0) {
599  if (lnumber > 0) {
600  substructure.getTIDDetectors(activeDets,layerDetIds,2,0,abs(lnumber),0);
601  } else if (lnumber < 0) {
602  substructure.getTIDDetectors(activeDets,layerDetIds,1,0,abs(lnumber),0);
603  }
604  } else if (lname.compare(tob) == 0) {
605  substructure.getTOBDetectors(activeDets,layerDetIds,lnumber,0,0);
606  } else if (lname.compare(tib) == 0) {
607  substructure.getTIBDetectors(activeDets,layerDetIds,lnumber,0,0,0);
608  }
609  LayerDetMap[label] = layerDetIds;
610 
611  // book Layer MEs
612  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second,true);
613  // std::stringstream ss;
614  // folder_organizer.getLayerFolderName(ss, detid, tTopo, true);
615  // std::cout << "Folder Name " << ss.str().c_str() << std::endl;
616  createLayerMEs(ibooker,label);
617  }
618  // book sub-detector plots
619  if (SubDetMEsMap.find(det_layer_pair.first) == SubDetMEsMap.end()){
620  auto sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo);
621  // std::cout << "sdet_pair " << sdet_pair.first << " " << sdet_pair.second << std::endl;
622  ibooker.setCurrentFolder(sdet_pair.first);
623  createSubDetMEs(ibooker,det_layer_pair.first);
624  }
625  //Create StereoAndMatchedMEs
626  if(StereoAndMatchedMEsMap.find(label)==StereoAndMatchedMEsMap.end()) {
627 
628  // get detids for the stereo and matched layer. We are going to need a bool for these layers
629  bool isStereo = false;
630  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
631  std::vector<uint32_t> stereoandmatchedDetIds;
632  int32_t stereolnumber = det_layer_pair.second;
633  const std::string& stereolname = det_layer_pair.first;
634  if ( stereolname.compare(tec) == 0 && (tTopo->tecIsStereo(detid)) ) {
635  if ( stereolnumber > 0 ) {
636  substructure.getTECDetectors(activeDets,stereoandmatchedDetIds,2,0,0,0,abs(stereolnumber),1);
637  isStereo = true;
638  } else if ( stereolnumber < 0 ) {
639  substructure.getTECDetectors(activeDets,stereoandmatchedDetIds,1,0,0,0,abs(stereolnumber),1);
640  isStereo = true;
641  }
642  } else if ( stereolname.compare(tid) == 0 && (tTopo->tidIsStereo(detid)) ) {
643  if ( stereolnumber > 0 ) {
644  substructure.getTIDDetectors(activeDets,stereoandmatchedDetIds,2,0,abs(stereolnumber),1);
645  isStereo = true;
646  } else if ( stereolnumber < 0 ) {
647  substructure.getTIDDetectors(activeDets,stereoandmatchedDetIds,1,0,abs(stereolnumber),1);
648  isStereo = true;
649  }
650  } else if ( stereolname.compare(tob) == 0 && (tTopo->tobIsStereo(detid)) ) {
651  substructure.getTOBDetectors(activeDets,stereoandmatchedDetIds,stereolnumber,0,0);
652  isStereo = true;
653  } else if ( stereolname.compare(tib) == 0 && (tTopo->tibIsStereo(detid)) ) {
654  substructure.getTIBDetectors(activeDets,stereoandmatchedDetIds,stereolnumber,0,0,0);
655  isStereo = true;
656  }
657 
658  StereoAndMatchedDetMap[label] = stereoandmatchedDetIds;
659 
660  if(isStereo){
661  //book StereoAndMatched MEs
662  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second,true);
663  // std::stringstream ss1;
664  // folder_organizer.getLayerFolderName(ss1, detid, tTopo, true);
665  // std::cout << "Folder Name stereo " << ss1.str().c_str() << std::endl;
666  //Create the Monitor Elements only when we have a stereo module
667  createStereoAndMatchedMEs(ibooker,label);
668  }
669  }
670  }//end of loop over detectors
671 }
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
std::map< std::string, std::vector< uint32_t > > LayerDetMap
void createSubDetMEs(DQMStore::IBooker &ibooker, std::string label)
std::map< std::string, SubDetMEs > SubDetMEsMap
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=0)
bool tidIsStereo(const DetId &id) const
bool tecIsStereo(const DetId &id) const
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0) const
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_
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=0)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
std::map< std::string, std::vector< uint32_t > > StereoAndMatchedDetMap
const T & get() const
Definition: EventSetup.h:56
bool tibIsStereo(const DetId &id) const
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, 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) const
void createTotalMEs(DQMStore::IBooker &ibooker)
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0) const
void createLayerMEs(DQMStore::IBooker &ibooker, std::string label)
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0) const
T const * product() const
Definition: ESHandle.h:86
void SiStripRecHitsValid::createStereoAndMatchedMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 762 of file SiStripRecHitsValid.cc.

References bookME1D(), SiStripHistoId::createHistoLayer(), diffTwoXMLs::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, MonitorElement::setAxisTitle(), StereoAndMatchedMEsMap, switchAdcStereo, switchChi2Matched, switchChi2Stereo, switchNsimHitMatched, switchNsimHitStereo, switchPosxMatched, switchPosxStereo, switchPosyMatched, switchPullLFStereo, switchPullMFStereo, switchResolxMatched, switchResolxStereo, switchResolyMatched, switchResStereo, switchResxMatched, switchResyMatched, and switchWclusStereo.

Referenced by createMEs().

763 {
764  SiStripHistoId hidmanager;
765  StereoAndMatchedMEs stereoandmatchedMEs;
766 
767  stereoandmatchedMEs.meWclusStereo = 0;
768  stereoandmatchedMEs.meAdcStereo = 0;
769  stereoandmatchedMEs.mePosxStereo = 0;
770  stereoandmatchedMEs.meResolxStereo = 0;
771  stereoandmatchedMEs.meResStereo = 0;
772  stereoandmatchedMEs.mePullLFStereo = 0;
773  stereoandmatchedMEs.mePullMFStereo = 0;
774  stereoandmatchedMEs.meChi2Stereo = 0;
775  stereoandmatchedMEs.meNsimHitStereo = 0;
776  stereoandmatchedMEs.mePosxMatched = 0;
777  stereoandmatchedMEs.mePosyMatched = 0;
778  stereoandmatchedMEs.meResolxMatched = 0;
779  stereoandmatchedMEs.meResolyMatched = 0;
780  stereoandmatchedMEs.meResxMatched = 0;
781  stereoandmatchedMEs.meResyMatched = 0;
782  stereoandmatchedMEs.meChi2Matched = 0;
783  stereoandmatchedMEs.meNsimHitMatched = 0;
784 
785  //WclusStereo
786  if(switchWclusStereo) {
787  stereoandmatchedMEs.meWclusStereo = bookME1D(ibooker,"TH1WclusStereo", hidmanager.createHistoLayer("Wclus_stereo","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster");
788  stereoandmatchedMEs.meWclusStereo->setAxisTitle(("Cluster Width [nr strips] in stereo modules in "+ label).c_str());
789  }
790  //AdcStereo
791  if(switchAdcStereo) {
792  stereoandmatchedMEs.meAdcStereo = bookME1D(ibooker,"TH1AdcStereo", hidmanager.createHistoLayer("Adc_stereo","layer",label,"").c_str() ,"RecHit Cluster Charge");
793  stereoandmatchedMEs.meAdcStereo->setAxisTitle(("cluster charge [ADC] in stereo modules in " + label).c_str());
794  }
795  //PosxStereo
796  if(switchPosxStereo) {
797  stereoandmatchedMEs.mePosxStereo = bookME1D(ibooker,"TH1PosxStereo", hidmanager.createHistoLayer("Posx_stereo","layer",label,"").c_str() ,"RecHit x coord.");
798  stereoandmatchedMEs.mePosxStereo->setAxisTitle(("x RecHit coord. (local frame) in stereo modules in " + label).c_str());
799  }
800  //ResolxStereo
801  if(switchResolxStereo) {
802  stereoandmatchedMEs.meResolxStereo = bookME1D(ibooker,"TH1ResolxStereo", hidmanager.createHistoLayer("Resolx_stereo","layer",label,"").c_str() ,"RecHit resol(x) coord.");
803  stereoandmatchedMEs.meResolxStereo->setAxisTitle(("resol(x) RecHit coord. (local frame) in stereo modules in " + label).c_str());
804  }
805  //ResStereo
806  if(switchResStereo) {
807  stereoandmatchedMEs.meResStereo = bookME1D(ibooker,"TH1ResStereo", hidmanager.createHistoLayer("Res_stereo","layer",label,"").c_str() ,"Residuals of the hit x coordinate");
808  stereoandmatchedMEs.meResStereo->setAxisTitle(("RecHit Res(x) in stereo modules in " + label).c_str());
809  }
810  //PullLFStereo
811  if(switchPullLFStereo) {
812  stereoandmatchedMEs.mePullLFStereo = bookME1D(ibooker,"TH1PullLFStereo", hidmanager.createHistoLayer("Pull_LF_stereo","layer",label,"").c_str() ,"Pull distribution");
813  stereoandmatchedMEs.mePullLFStereo->setAxisTitle(("Pull distribution (local frame) in stereo modules in " + label).c_str());
814  }
815  //PullMFStereo
816  if(switchPullMFStereo) {
817  stereoandmatchedMEs.mePullMFStereo = bookME1D(ibooker,"TH1PullMFStereo", hidmanager.createHistoLayer("Pull_MF_stereo","layer",label,"").c_str() ,"Pull distribution");
818  stereoandmatchedMEs.mePullMFStereo->setAxisTitle(("Pull distribution (measurement frame) in stereo modules in " + label).c_str());
819  }
820  //Chi2Stereo
821  if(switchChi2Stereo) {
822  stereoandmatchedMEs.meChi2Stereo = bookME1D(ibooker,"TH1Chi2Stereo", hidmanager.createHistoLayer("Chi2_stereo","layer",label,"").c_str() ,"RecHit Chi2 test");
823  stereoandmatchedMEs.meChi2Stereo->setAxisTitle(("RecHit Chi2 test in stereo modules in " + label).c_str());
824  }
825  //NsimHitStereo
826  if(switchNsimHitStereo) {
827  stereoandmatchedMEs.meNsimHitStereo = bookME1D(ibooker,"TH1NsimHitStereo", hidmanager.createHistoLayer("NsimHit_stereo","layer",label,"").c_str() ,"No. of assoc. simHits");
828  stereoandmatchedMEs.meNsimHitStereo->setAxisTitle(("Number of assoc. simHits in stereo modules in " + label).c_str());
829  }
830  //PosxMatched
831  if(switchPosxMatched) {
832  stereoandmatchedMEs.mePosxMatched = bookME1D(ibooker,"TH1PosxMatched", hidmanager.createHistoLayer("Posx_matched","layer",label,"").c_str() ,"RecHit x coord.");
833  stereoandmatchedMEs.mePosxMatched->setAxisTitle(("x coord. matched RecHit (local frame) in " + label).c_str());
834  }
835  //PosyMatched
836  if(switchPosyMatched) {
837  stereoandmatchedMEs.mePosyMatched = bookME1D(ibooker,"TH1PosyMatched", hidmanager.createHistoLayer("Posy_matched","layer",label,"").c_str() ,"RecHit y coord.");
838  stereoandmatchedMEs.mePosyMatched->setAxisTitle(("y coord. matched RecHit (local frame) in " + label).c_str());
839  }
840  //ResolxMatched
841  if(switchResolxMatched) {
842  stereoandmatchedMEs.meResolxMatched = bookME1D(ibooker,"TH1ResolxMatched", hidmanager.createHistoLayer("Resolx_matched","layer",label,"").c_str() ,"RecHit resol(x) coord.");
843  stereoandmatchedMEs.meResolxMatched->setAxisTitle(("resol(x) coord. matched RecHit (local frame) in " + label).c_str());
844  }
845  //ResolyMatched
846  if(switchResolyMatched) {
847  stereoandmatchedMEs.meResolyMatched = bookME1D(ibooker,"TH1ResolyMatched", hidmanager.createHistoLayer("Resoly_matched","layer",label,"").c_str() ,"RecHit resol(y) coord.");
848  stereoandmatchedMEs.meResolyMatched->setAxisTitle(("resol(y) coord. matched RecHit (local frame) in " + label).c_str());
849  }
850  //ResxMatched
851  if(switchResxMatched) {
852  stereoandmatchedMEs.meResxMatched = bookME1D(ibooker,"TH1ResxMatched", hidmanager.createHistoLayer("Resx_matched","layer",label,"").c_str() ,"Residuals of the hit x coord.");
853  stereoandmatchedMEs.meResxMatched->setAxisTitle(("Res(x) in matched RecHit in " + label).c_str());
854  }
855  //ResyMatched
856  if(switchResyMatched) {
857  stereoandmatchedMEs.meResyMatched = bookME1D(ibooker,"TH1ResyMatched", hidmanager.createHistoLayer("Resy_matched","layer",label,"").c_str() ,"Residuals of the hit y coord.");
858  stereoandmatchedMEs.meResyMatched->setAxisTitle(("Res(y) in matched RecHit in " + label).c_str());
859  }
860  //Chi2Matched
861  if(switchChi2Matched) {
862  stereoandmatchedMEs.meChi2Matched = bookME1D(ibooker,"TH1Chi2Matched", hidmanager.createHistoLayer("Chi2_matched","layer",label,"").c_str() ,"RecHit Chi2 test");
863  stereoandmatchedMEs.meChi2Matched->setAxisTitle(("Matched RecHit Chi2 test in " + label).c_str());
864  }
865  //NsimHitMatched
867  stereoandmatchedMEs.meNsimHitMatched = bookME1D(ibooker,"TH1NsimHitMatched", hidmanager.createHistoLayer("NsimHit_matched","layer",label,"").c_str() ,"No. of assoc. simHits");
868  stereoandmatchedMEs.meNsimHitMatched->setAxisTitle(("Number of assoc. simHits in " + label).c_str());
869  }
870 
871  StereoAndMatchedMEsMap[label]=stereoandmatchedMEs;
872 
873 }
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
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)
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 875 of file SiStripRecHitsValid.cc.

References bookME1D(), diffTwoXMLs::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, MonitorElement::setAxisTitle(), AlCaHLTBitMon_QueryRunRegistry::string, SubDetMEsMap, switchBunchMatched, switchBunchrphi, switchBunchStereo, switchEventMatched, switchEventrphi, switchEventStereo, switchNumMatched, switchNumrphi, and switchNumStereo.

Referenced by createMEs().

875  {
876 
877  SubDetMEs subdetMEs;
878  subdetMEs.meNumrphi = 0;
879  subdetMEs.meBunchrphi = 0;
880  subdetMEs.meEventrphi = 0;
881  subdetMEs.meNumStereo = 0;
882  subdetMEs.meBunchStereo = 0;
883  subdetMEs.meEventStereo = 0;
884  subdetMEs.meNumMatched = 0;
885  subdetMEs.meBunchMatched = 0;
886  subdetMEs.meEventMatched = 0;
887 
889  //Numrphi
890  if (switchNumrphi){
891  HistoName = "TH1Numrphi__" + label;
892  subdetMEs.meNumrphi = bookME1D(ibooker,"TH1Numrphi",HistoName.c_str(),"Num of RecHits");
893  subdetMEs.meNumrphi->setAxisTitle(("Total number of RecHits in "+ label).c_str());
894  }
895  //Bunchrphi
896  if(switchBunchrphi) {
897  HistoName = "TH1Bunchrphi__" + label;
898  subdetMEs.meBunchrphi = bookME1D(ibooker,"TH1Bunchrphi",HistoName.c_str(),"Bunch Crossing");
899  subdetMEs.meBunchrphi->setAxisTitle(("Bunch crossing in " + label).c_str());
900  }
901  //Eventrphi
902  if(switchEventrphi) {
903  HistoName = "TH1Eventrphi__" + label;
904  subdetMEs.meEventrphi = bookME1D(ibooker,"TH1Eventrphi",HistoName.c_str(),"Event (in-time bunch)");
905  subdetMEs.meEventrphi->setAxisTitle(("Event (in-time bunch) in " + label).c_str());
906  }
907  //NumStereo
908  if (switchNumStereo){
909  HistoName = "TH1NumStereo__" + label;
910  subdetMEs.meNumStereo = bookME1D(ibooker,"TH1NumStereo",HistoName.c_str(),"Num of RecHits in stereo modules");
911  subdetMEs.meNumStereo->setAxisTitle(("Total number of RecHits, stereo modules in "+ label).c_str());
912  }
913  //BunchStereo
914  if(switchBunchStereo) {
915  HistoName = "TH1BunchStereo__" + label;
916  subdetMEs.meBunchStereo = bookME1D(ibooker,"TH1BunchStereo",HistoName.c_str(),"Bunch Crossing");
917  subdetMEs.meBunchStereo->setAxisTitle(("Bunch crossing, stereo modules in " + label).c_str());
918  }
919  //EventStereo
920  if(switchEventStereo) {
921  HistoName = "TH1EventStereo__" + label;
922  subdetMEs.meEventStereo = bookME1D(ibooker,"TH1EventStereo",HistoName.c_str(),"Event (in-time bunch)");
923  subdetMEs.meEventStereo->setAxisTitle(("Event (in-time bunch), stereo modules in " + label).c_str());
924  }
925  //NumMatched
926  if (switchNumMatched){
927  HistoName = "TH1NumMatched__" + label;
928  subdetMEs.meNumMatched = bookME1D(ibooker,"TH1NumMatched",HistoName.c_str(),"Num of matched RecHits" );
929  subdetMEs.meNumMatched->setAxisTitle(("Total number of matched RecHits in "+ label).c_str());
930  }
931  //BunchMatched
932  if(switchBunchMatched) {
933  HistoName = "TH1BunchMatched__" + label;
934  subdetMEs.meBunchMatched = bookME1D(ibooker,"TH1BunchMatched",HistoName.c_str(),"Bunch Crossing");
935  subdetMEs.meBunchMatched->setAxisTitle(("Bunch crossing, matched RecHits in " + label).c_str());
936  }
937  //EventMatched
938  if(switchEventMatched) {
939  HistoName = "TH1EventMatched__" + label;
940  subdetMEs.meEventMatched = bookME1D(ibooker,"TH1EventMatched",HistoName.c_str(),"Event (in-time bunch)");
941  subdetMEs.meEventMatched->setAxisTitle(("Event (in-time bunch), matched RecHits in " + label).c_str());
942  }
943 
944  SubDetMEsMap[label]=subdetMEs;
945 }
std::map< std::string, SubDetMEs > SubDetMEsMap
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
std::string HistoName
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 673 of file SiStripRecHitsValid.cc.

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

Referenced by createMEs().

674 {
678 
679  //NumTotrphi
680  if(switchNumTotrphi) {
681  totalMEs.meNumTotrphi = bookME1D(ibooker,"TH1NumTotrphi", "TH1NumTotrphi" ,"Num of RecHits rphi");
682  totalMEs.meNumTotrphi->setAxisTitle("Total number of RecHits");
683  }
684  //NumTotStereo
685  if(switchNumTotStereo) {
686  totalMEs.meNumTotStereo = bookME1D(ibooker,"TH1NumTotStereo", "TH1NumTotStereo","Num of RecHits stereo");
687  totalMEs.meNumTotStereo ->setAxisTitle("Total number of RecHits (stereo)");
688  }
689  //NumTotMatched
690  if(switchNumTotMatched) {
691  totalMEs.meNumTotMatched = bookME1D(ibooker,"TH1NumTotMatched","TH1NumTotMatched","Num of RecHits matched");
692  totalMEs.meNumTotMatched->setAxisTitle("Total number of matched RecHits");
693  }
694 
695 }
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
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 201 of file SiStripRecHitsValid.h.

References MonitorElement::Fill().

Referenced by analyze().

201 {if (ME!=0)ME->Fill(value1);}
void Fill(long long x)
void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2 
)
inlineprivate
void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3 
)
inlineprivate
void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3,
float  value4 
)
inlineprivate
std::pair< LocalPoint, LocalVector > SiStripRecHitsValid::projectHit ( const PSimHit hit,
const StripGeomDetUnit stripDet,
const BoundPlane plane 
)
private

Definition at line 353 of file SiStripRecHitsValid.cc.

References funct::cos(), 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().

355 {
356  // const StripGeomDetUnit* stripDet = dynamic_cast<const StripGeomDetUnit*>(hit.det());
357  //if (stripDet == 0) throw MeasurementDetException("HitMatcher hit is not on StripGeomDetUnit");
358 
359  const StripTopology& topol = stripDet->specificTopology();
360  GlobalPoint globalpos= stripDet->surface().toGlobal(hit.localPosition());
361  LocalPoint localHit = plane.toLocal(globalpos);
362  //track direction
363  LocalVector locdir=hit.localDirection();
364  //rotate track in new frame
365 
366  GlobalVector globaldir= stripDet->surface().toGlobal(locdir);
367  LocalVector dir=plane.toLocal(globaldir);
368  double scale = -localHit.z() / dir.z();
369 
370  LocalPoint projectedPos = localHit + scale*dir;
371 
372  // std::cout << "projectedPos " << projectedPos << std::endl;
373 
374  double selfAngle = topol.stripAngle( topol.strip( hit.localPosition()));
375 
376  LocalVector stripDir( sin(selfAngle), cos(selfAngle), 0); // vector along strip in hit frame
377 
378  LocalVector localStripDir( plane.toLocal(stripDet->surface().toGlobal( stripDir)));
379 
380  return std::pair<LocalPoint,LocalVector>( projectedPos, localStripDir);
381 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
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:42
Local3DPoint localPosition() const
Definition: PSimHit.h:44
virtual float stripAngle(float strip) const =0
T z() const
Definition: PV3DBase.h:64
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:52
dbl *** dir
Definition: mlp_gen.cc:35
void SiStripRecHitsValid::rechitanalysis ( SiStripRecHit2D const  rechit,
const StripTopology topol,
TrackerHitAssociator associate 
)
private

Definition at line 383 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(), funct::m, electronMatch_cfi::matched, hpstanc_transforms::max, Topology::measurementError(), Topology::measurementPosition(), SiStripRecHitsValid::RecHitProperties::NsimHit, NULL, 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().

383  {
384 
385  rechitpro.resx = -999999.; rechitpro.resy = -999999.; rechitpro.pullMF = -999999.;
386  rechitpro.chi2 = -999999.; rechitpro.bunch = -999999.; rechitpro.event = -999999.;
387 
388  LocalPoint position=rechit.localPosition();
389  LocalError error=rechit.localPositionError();
390  MeasurementPoint Mposition = topol.measurementPosition(position);
391  MeasurementError Merror = topol.measurementError(position,error);
392  const auto & amplitudes=(rechit.cluster())->amplitudes();
393  int totcharge=0;
394  for(size_t ia=0; ia<amplitudes.size();++ia){
395  totcharge+=amplitudes[ia];
396  }
397  rechitpro.x = position.x();
398  rechitpro.y = position.y();
399  //rechitpro.z = position.z();
400  rechitpro.resolxx = error.xx();
401  //rechitpro.resolxy = error.xy();
402  rechitpro.resolyy = error.yy();
403  rechitpro.clusiz = amplitudes.size();
404  rechitpro.cluchg = totcharge;
405 
406  auto const & matched = associate.associateHit(rechit);
407  rechitpro.NsimHit = matched.size();
408 
409  if(!matched.empty()){
410 
411  float mindist = std::numeric_limits<float>::max();
412  float dist = std::numeric_limits<float>::max();
413  PSimHit const * closest = NULL;
414 
415  for(auto const &m : matched){
416  dist = fabs(rechitpro.x - m.localPosition().x());
417  if(dist<mindist){
418  mindist = dist;
419  closest = &m;
420  }
421  }
422  rechitpro.bunch = closest->eventId().bunchCrossing();
423  rechitpro.event = closest->eventId().event();
424  rechitpro.resx = rechitpro.x - closest->localPosition().x();
425  rechitpro.pullMF = (Mposition.x() - (topol.measurementPosition(closest->localPosition())).x())/sqrt(Merror.uu());
426 
427  //chi2test compare rechit errors with the simhit position ( using null matrix for the simhit).
428  //Can spot problems in the geometry better than a simple residual. (thanks to BorisM)
429  AlgebraicVector rhparameters(2);//= rechit.parameters();
430  rhparameters[0] = position.x();
431  rhparameters[1] = position.y();
432  AlgebraicVector shparameters(2);
433  shparameters[0] = closest->localPosition().x();
434  shparameters[1] = closest->localPosition().y();
435  AlgebraicVector r(rhparameters - shparameters);
436  AlgebraicSymMatrix R(2);// = rechit.parametersError();
437  R[0][0] = error.xx();
438  R[0][1] = error.xy();
439  R[1][1] = error.yy();
440  int ierr;
441  R.invert(ierr); // if (ierr != 0) throw exception;
442  float est = R.similarity(r);
443  // std::cout << " ====== Chi2 test rphi hits ====== " << std::endl;
444  // std::cout << "RecHit param. = " << rhparameters << std::endl;
445  // std::cout << "RecHit errors = " << R << std::endl;
446  // std::cout << "SimHit param. = " << shparameters << std::endl;
447  // std::cout << " chi2 = " << est << std::endl;
448  // std::cout << "DEBUG BORIS,filling chi2rphi[i],i: " << i << std::endl;
449  rechitpro.chi2 = est;
450  }
451 
452 }
RecHitProperties rechitpro
float xx() const
Definition: LocalError.h:24
int event() const
get the contents of the subdetector field (should be protected?)
T y() const
Definition: PV3DBase.h:63
#define NULL
Definition: scimark2.h:8
float xy() const
Definition: LocalError.h:25
float yy() const
Definition: LocalError.h:26
Local3DPoint localPosition() const
Definition: PSimHit.h:44
T sqrt(T t)
Definition: SSEVec.h:18
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:105
CLHEP::HepVector AlgebraicVector
static int position[264][3]
Definition: ReadPGInfo.cc:509
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:45
T x() const
Definition: PV3DBase.h:62
void SiStripRecHitsValid::rechitanalysis_matched ( SiStripMatchedRecHit2D const  rechit,
const GluedGeomDet gluedDet,
TrackerHitAssociator associate 
)
private

Definition at line 456 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(), funct::m, electronMatch_cfi::matched, hpstanc_transforms::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().

456  {
457 
458  rechitpro.resx = -999999.; rechitpro.resy = -999999.; rechitpro.pullMF = -999999.;
459  rechitpro.chi2 = -999999.; rechitpro.bunch = -999999.; rechitpro.event = -999999.;
460  rechitpro.clusiz = -999999.; rechitpro.cluchg = -999999.;
461 
462  LocalPoint position=rechit.localPosition();
463  LocalError error=rechit.localPositionError();
464 
465  rechitpro.x = position.x();
466  rechitpro.y = position.y();
467  //rechitpro.z = position.z();
468  rechitpro.resolxx = error.xx();
469  //rechitpro.resolxy = error.xy();
470  rechitpro.resolyy = error.yy();
471 
472  auto const & matched = associate.associateHit(rechit);
473  rechitpro.NsimHit = matched.size();
474 
475  if(matched.empty()) return;
476  float mindist = std::numeric_limits<float>::max();
477  float dist = std::numeric_limits<float>::max();
478  float dist2 = std::numeric_limits<float>::max();
479  float distx = std::numeric_limits<float>::max();
480  float disty = std::numeric_limits<float>::max();
481  PSimHit const * closest = nullptr;
482  std::pair<LocalPoint,LocalVector> closestPair;
483 
484  const StripGeomDetUnit* partnerstripdet =(StripGeomDetUnit*) gluedDet->stereoDet();
485  std::pair<LocalPoint,LocalVector> hitPair;
486 
487  for(auto const &m : matched){
488  SiStripDetId hitDetId(m.detUnitId());
489  if (hitDetId.stereo()) { // project from the stereo sensor
490  //project simhit;
491  hitPair= projectHit(m,partnerstripdet,gluedDet->surface());
492  distx = rechitpro.x - hitPair.first.x();
493  disty = rechitpro.y - hitPair.first.y();
494  dist2 = distx*distx+disty*disty;
495  dist = sqrt(dist2);
496  // std::cout << " Simhit position x = " << hitPair.first.x()
497  // << " y = " << hitPair.first.y() << " dist = " << dist << std::endl;
498  if(dist<mindist){
499  mindist = dist;
500  closestPair = hitPair;
501  closest = &m;
502  }
503  }
504  }
505  if (!closest) return;
506  rechitpro.bunch = closest->eventId().bunchCrossing();
507  rechitpro.event = closest->eventId().event();
508  rechitpro.resx = rechitpro.x - closestPair.first.x();
509  rechitpro.resy = rechitpro.y - closestPair.first.y();
510  //std::cout << " Closest position x = " << closestPair.first.x()
511  // << " y = " << closestPair.first.y() << " dist = " << dist << std::endl;
512 
513  //chi2test compare rechit errors with the simhit position ( using null matrix for the simhit).
514  //Can spot problems in the geometry better than a simple residual. (thanks to BorisM)
515  AlgebraicVector rhparameters(2);//= rechit.parameters();
516  rhparameters[0] = position.x();
517  rhparameters[1] = position.y();
518  LocalPoint sh = closestPair.first;
519  AlgebraicVector shparameters(2);
520  shparameters[0] = sh.x();
521  shparameters[1] = sh.y();
522  AlgebraicVector r(rhparameters - shparameters);
523  AlgebraicSymMatrix R(2);// = rechit.parametersError();
524  R[0][0] = error.xx();
525  R[0][1] = error.xy();
526  R[1][1] = error.yy();
527  int ierr;
528  R.invert(ierr); // if (ierr != 0) throw exception;
529  float est = R.similarity(r);
530  // std::cout << " ====== Chi2 test rphi hits ====== " << std::endl;
531  // std::cout << "RecHit param. = " << rhparameters << std::endl;
532  // std::cout << "RecHit errors = " << R << std::endl;
533  // std::cout << "SimHit param. = " << shparameters << std::endl;
534  // std::cout << " chi2 = " << est << std::endl;
535  // std::cout << "DEBUG BORIS,filling chi2rphi[i],i: " << i << std::endl;
536  rechitpro.chi2 = est;
537 
538 
539 
540 }
RecHitProperties rechitpro
float xx() const
Definition: LocalError.h:24
int event() const
get the contents of the subdetector field (should be protected?)
T y() const
Definition: PV3DBase.h:63
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
float xy() const
Definition: LocalError.h:25
float yy() const
Definition: LocalError.h:26
T sqrt(T t)
Definition: SSEVec.h:18
int bunchCrossing() const
get the detector field from this detid
EncodedEventId eventId() const
Definition: PSimHit.h:105
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:17
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:509
CLHEP::HepSymMatrix AlgebraicSymMatrix
std::vector< PSimHit > associateHit(const TrackingRecHit &thit) const
T x() const
Definition: PV3DBase.h:62
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:21

Member Data Documentation

edm::ParameterSet SiStripRecHitsValid::conf_
private

Definition at line 206 of file SiStripRecHitsValid.h.

Referenced by bookME1D(), and SiStripRecHitsValid().

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

Definition at line 186 of file SiStripRecHitsValid.h.

Referenced by createMEs().

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

Definition at line 183 of file SiStripRecHitsValid.h.

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

unsigned long long SiStripRecHitsValid::m_cacheID_
private

Definition at line 208 of file SiStripRecHitsValid.h.

Referenced by bookHistograms().

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

Definition at line 221 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

RecHitProperties SiStripRecHitsValid::rechitpro
private

Definition at line 216 of file SiStripRecHitsValid.h.

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

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

Definition at line 222 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

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

Definition at line 189 of file SiStripRecHitsValid.h.

Referenced by createMEs().

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

Definition at line 187 of file SiStripRecHitsValid.h.

Referenced by createMEs().

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

Definition at line 184 of file SiStripRecHitsValid.h.

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

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

Definition at line 223 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

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

Definition at line 181 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

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

Definition at line 185 of file SiStripRecHitsValid.h.

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

bool SiStripRecHitsValid::switchAdcrphi
private

Definition at line 154 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchAdcStereo
private

Definition at line 163 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchBunchMatched
private

Definition at line 149 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchBunchrphi
private

Definition at line 143 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchBunchStereo
private

Definition at line 146 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchChi2Matched
private

Definition at line 177 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchChi2rphi
private

Definition at line 160 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchChi2Stereo
private

Definition at line 169 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchEventMatched
private

Definition at line 150 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchEventrphi
private

Definition at line 144 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchEventStereo
private

Definition at line 147 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNsimHitMatched
private

Definition at line 178 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNsimHitrphi
private

Definition at line 161 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNsimHitStereo
private

Definition at line 170 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumMatched
private

Definition at line 148 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumrphi
private

Definition at line 142 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumStereo
private

Definition at line 145 of file SiStripRecHitsValid.h.

Referenced by createSubDetMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumTotMatched
private

Definition at line 139 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumTotrphi
private

Definition at line 137 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchNumTotStereo
private

Definition at line 138 of file SiStripRecHitsValid.h.

Referenced by createTotalMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPosxMatched
private

Definition at line 171 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPosxrphi
private

Definition at line 155 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPosxStereo
private

Definition at line 164 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPosyMatched
private

Definition at line 172 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPullLFrphi
private

Definition at line 158 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPullLFStereo
private

Definition at line 167 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPullMFrphi
private

Definition at line 159 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchPullMFStereo
private

Definition at line 168 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResolxMatched
private

Definition at line 173 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResolxrphi
private

Definition at line 156 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResolxStereo
private

Definition at line 165 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResolyMatched
private

Definition at line 174 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResrphi
private

Definition at line 157 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResStereo
private

Definition at line 166 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResxMatched
private

Definition at line 175 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchResyMatched
private

Definition at line 176 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchWclusrphi
private

Definition at line 153 of file SiStripRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripRecHitsValid().

bool SiStripRecHitsValid::switchWclusStereo
private

Definition at line 162 of file SiStripRecHitsValid.h.

Referenced by createStereoAndMatchedMEs(), and SiStripRecHitsValid().

std::string SiStripRecHitsValid::topFolderName_
private

Definition at line 180 of file SiStripRecHitsValid.h.

Referenced by createMEs(), and SiStripRecHitsValid().

TotalMEs SiStripRecHitsValid::totalMEs
private

Definition at line 135 of file SiStripRecHitsValid.h.

Referenced by analyze(), and createTotalMEs().

TrackerHitAssociator::Config SiStripRecHitsValid::trackerHitAssociatorConfig_
private

Definition at line 207 of file SiStripRecHitsValid.h.

Referenced by analyze().