CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 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
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

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::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- 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,
LocalVector
projectHit (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_
 
std::vector< PSimHitmatched
 
edm::EDGetTokenT
< SiStripMatchedRecHit2DCollection
matchedRecHitsToken_
 
edm::ParameterSet Parameters
 
std::vector< RecHitPropertiesrechitmatched
 
RecHitProperties rechitpro
 
std::vector< RecHitPropertiesrechitrphi
 
std::vector< RecHitPropertiesrechitstereo
 
edm::EDGetTokenT
< SiStripRecHit2DCollection
rphiRecHitsToken_
 
edm::ESHandle< SiStripDetCablingSiStripDetCabling_
 
std::map< std::string,
std::vector< uint32_t > > 
StereoAndMatchedDetMap
 
std::map< std::string,
StereoAndMatchedMEs
StereoAndMatchedMEsMap
 
edm::EDGetTokenT
< SiStripRecHit2DCollection
stereoRecHitsToken_
 
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
 

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, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (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 51 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_.

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

Definition at line 184 of file SiStripRecHitsValid.cc.

184  {
185 }

Member Function Documentation

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

Implements edm::stream::EDAnalyzerBase.

Definition at line 203 of file SiStripRecHitsValid.cc.

References conf_, cond::rpcobgas::detid, edm::EventID::event(), fillME(), TrackingRecHit::geographicalId(), edm::EventSetup::get(), edm::Event::getByToken(), helper::getRange(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripHistoId::getSubdetid(), edm::EventBase::id(), TrackerGeometry::idToDet(), TrackerGeometry::idToDetUnit(), diffTwoXMLs::label, LayerMEsMap, matchedRecHitsToken_, SiStripRecHitsValid::TotalMEs::meNumTotMatched, SiStripRecHitsValid::TotalMEs::meNumTotrphi, SiStripRecHitsValid::TotalMEs::meNumTotStereo, edm::ESHandle< class >::product(), rechitanalysis(), rechitanalysis_matched(), rechitmatched, rechitpro, rechitrphi, rechitstereo, rphiRecHitsToken_, edm::EventID::run(), mathSSE::sqrt(), StereoAndMatchedMEsMap, stereoRecHitsToken_, AlCaHLTBitMon_QueryRunRegistry::string, SubDetList_, SubDetMEsMap, StripGeomDetUnit::topology(), totalMEs, patCandidatesForDimuonsSequences_cff::tracker, and create_public_lumi_plots::transform.

203  {
204 
205  LogInfo("EventInfo") << " Run = " << e.id().run() << " Event = " << e.id().event();
206  //cout << " Run = " << e.id().run() << " Event = " << e.id().event() << endl;
207 
208  //Retrieve tracker topology from geometry
209  edm::ESHandle<TrackerTopology> tTopoHandle;
210  es.get<IdealGeometryRecord>().get(tTopoHandle);
211  const TrackerTopology* const tTopo = tTopoHandle.product();
212 
213  // Step A: Get Inputs
217  e.getByToken(matchedRecHitsToken_, rechitsmatched);
218  e.getByToken(rphiRecHitsToken_, rechitsrphi);
219  e.getByToken(stereoRecHitsToken_, rechitsstereo);
220 
221  int numrechitrphi =0;
222  int numrechitstereo =0;
223  int numrechitmatched=0;
224 
225  //Variables in order to count total num of rechitrphi,rechitstereo, rechitmatched in subdetectors
226  std::map<std::string, std::vector<int> > totnumrechitrphi;
227  std::map<std::string, std::vector<int> > totnumrechitstereo;
228  std::map<std::string, std::vector<int> > totnumrechitmatched;
229  totnumrechitrphi.clear();
230  totnumrechitstereo.clear();
231  totnumrechitmatched.clear();
232  int totrechitrphi =0;
233  int totrechitstereo =0;
234  int totrechitmatched =0;
235 
236  TrackerHitAssociator associate(e, conf_);
237 
239  es.get<TrackerDigiGeometryRecord> ().get (pDD);
240  const TrackerGeometry &tracker(*pDD);
241  // FIXME: this using of vector<DetId> is suboptimal, but I don't want to re-write the full class now
242  std::vector<DetId> IDs;
243  IDs.reserve(rechitsrphi->size() + rechitsmatched->size() + rechitsstereo->size());
244  std::transform(rechitsrphi->begin(), rechitsrphi->end(), std::back_inserter(IDs), helper::GetDetId() );
245  std::transform(rechitsstereo->begin(), rechitsstereo->end(), std::back_inserter(IDs), helper::GetDetId() );
246  std::transform(rechitsmatched->begin(), rechitsmatched->end(), std::back_inserter(IDs), helper::GetDetId() );
247  // loop over DetIds
248  // for(TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++){
249  for(std::vector<DetId>::const_iterator it = IDs.begin(); it != IDs.end(); ++it ){//loop on detector with hits
250  uint32_t myid=((*it).rawId());
251  DetId detid = ((*it));
252 
253  rechitrphi.clear();
254  rechitstereo.clear();
255  rechitmatched.clear();
256 
257  numrechitrphi =0;
258  //loop over rechits-rphi in the same subdetector
259  std::pair<SiStripRecHit2DCollection::DetSet::const_iterator,SiStripRecHit2DCollection::DetSet::const_iterator> rechitrphiRange = helper::getRange(*rechitsrphi, detid);
260  SiStripRecHit2DCollection::DetSet::const_iterator rechitrphiRangeIteratorBegin = rechitrphiRange.first;
261  SiStripRecHit2DCollection::DetSet::const_iterator rechitrphiRangeIteratorEnd = rechitrphiRange.second;
262  SiStripRecHit2DCollection::DetSet::const_iterator iterrphi=rechitrphiRangeIteratorBegin;
263 
264  numrechitrphi = rechitrphiRangeIteratorEnd - rechitrphiRangeIteratorBegin;
265 
266  if(numrechitrphi > 0 ){
267  totrechitrphi+=numrechitrphi;
268  for(iterrphi=rechitrphiRangeIteratorBegin; iterrphi!=rechitrphiRangeIteratorEnd;++iterrphi){
269 
270  const GeomDetUnit * det = tracker.idToDetUnit(detid);
271  const StripGeomDetUnit * stripdet=(const StripGeomDetUnit*)(det);
272  const StripTopology &topol=(StripTopology&)stripdet->topology();
273  SiStripRecHit2D const rechit=*iterrphi;
274  //analyze RecHits
275  rechitanalysis(rechit,topol,associate);
276  rechitrphi.push_back(rechitpro);
277  }
278  }
279 
280  //loop over rechits-stereo in the same subdetector
281  numrechitstereo=0;
282  std::pair<SiStripRecHit2DCollection::DetSet::const_iterator,SiStripRecHit2DCollection::DetSet::const_iterator> rechitstereoRange = helper::getRange(*rechitsstereo, detid);
283  SiStripRecHit2DCollection::DetSet::const_iterator rechitstereoRangeIteratorBegin = rechitstereoRange.first;
284  SiStripRecHit2DCollection::DetSet::const_iterator rechitstereoRangeIteratorEnd = rechitstereoRange.second;
285  SiStripRecHit2DCollection::DetSet::const_iterator iterstereo=rechitstereoRangeIteratorBegin;
286  numrechitstereo = rechitstereoRangeIteratorEnd - rechitstereoRangeIteratorBegin;
287  if(numrechitstereo > 0){
288  totrechitstereo+=numrechitstereo;
289  for(iterstereo=rechitstereoRangeIteratorBegin; iterstereo!=rechitstereoRangeIteratorEnd;++iterstereo){
290  const GeomDetUnit * det = tracker.idToDetUnit(detid);
291  const StripGeomDetUnit * stripdet=(const StripGeomDetUnit*)(det);
292  const StripTopology &topol=(StripTopology&)stripdet->topology();
293  SiStripRecHit2D const rechit=*iterstereo;
294  //analyze RecHits
295  rechitanalysis(rechit,topol,associate);
296  rechitstereo.push_back(rechitpro);
297  }
298  }
299 
300  //now matched hits
301  //loop over rechits-matched in the same subdetector
302  numrechitmatched=0;
303  std::pair<SiStripMatchedRecHit2DCollection::DetSet::const_iterator,SiStripMatchedRecHit2DCollection::DetSet::const_iterator> rechitmatchedRange = helper::getRange(*rechitsmatched, detid);
304  SiStripMatchedRecHit2DCollection::DetSet::const_iterator rechitmatchedRangeIteratorBegin = rechitmatchedRange.first;
305  SiStripMatchedRecHit2DCollection::DetSet::const_iterator rechitmatchedRangeIteratorEnd = rechitmatchedRange.second;
306  SiStripMatchedRecHit2DCollection::DetSet::const_iterator itermatched=rechitmatchedRangeIteratorBegin;
307  numrechitmatched = rechitmatchedRangeIteratorEnd - rechitmatchedRangeIteratorBegin;
308  if(numrechitmatched > 0){
309  totrechitmatched +=numrechitmatched;
310 
311  for(itermatched=rechitmatchedRangeIteratorBegin; itermatched!=rechitmatchedRangeIteratorEnd;++itermatched){
312  SiStripMatchedRecHit2D const rechit=*itermatched;
313  const GluedGeomDet* gluedDet = (const GluedGeomDet*)tracker.idToDet(rechit.geographicalId());
314  //analyze RecHits
315  rechitanalysis_matched(rechit, gluedDet, associate);
316  rechitmatched.push_back(rechitpro);
317  }
318  }
319 
320  SiStripHistoId hidmanager;
321  std::string label = hidmanager.getSubdetid(myid,tTopo,true);
322  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
323  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
324  //std::cout << "label " << label << endl;
325  SiStripFolderOrganizer fold_organ;
326  std::pair<std::string,int32_t> det_lay_pair = fold_organ.GetSubDetAndLayer(myid,tTopo,true);
327 
328  if(numrechitrphi>0 || numrechitstereo>0 || numrechitmatched){
329 
330  totnumrechitrphi[det_lay_pair.first].push_back(numrechitrphi);
331  totnumrechitstereo[det_lay_pair.first].push_back(numrechitstereo);
332  totnumrechitmatched[det_lay_pair.first].push_back(numrechitmatched);
333 
334  for (std::vector<RecHitProperties>::iterator irh=rechitrphi.begin(); irh!=rechitrphi.end(); ++irh) {
335  if(iLayerME != LayerMEsMap.end()){
336  fillME(iLayerME->second.meWclusrphi,(*irh).clusiz);
337  fillME(iLayerME->second.meAdcrphi,(*irh).cluchg);
338  fillME(iLayerME->second.mePosxrphi,(*irh).x);
339  fillME(iLayerME->second.meResolxrphi,(*irh).resolxx);
340  fillME(iLayerME->second.meNsimHitrphi,(*irh).NsimHit);
341  if ((*irh).NsimHit > 0) {
342  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find(det_lay_pair.first);
343  fillME(iSubDetME->second.meBunchrphi, (*irh).bunch);
344  if ((*irh).bunch == 0) fillME(iSubDetME->second.meEventrphi, (*irh).event);
345  }
346  if ( (*irh).resx != -999999. || (*irh).pullMF != -999999. || (*irh).chi2 != -999999. ){
347  fillME(iLayerME->second.meResrphi,(*irh).resx);
348  fillME(iLayerME->second.mePullLFrphi,(*irh).resx/sqrt((*irh).resolxx));
349  fillME(iLayerME->second.mePullMFrphi,(*irh).pullMF);
350  fillME(iLayerME->second.meChi2rphi,(*irh).chi2);
351  }
352  }
353  }
354 
355 
356  for (std::vector<RecHitProperties>::iterator irh=rechitstereo.begin(); irh!=rechitstereo.end(); ++irh) {
357  if(iStereoAndMatchedME != StereoAndMatchedMEsMap.end()){
358  fillME(iStereoAndMatchedME->second.meWclusStereo,(*irh).clusiz);
359  fillME(iStereoAndMatchedME->second.meAdcStereo,(*irh).cluchg);
360  fillME(iStereoAndMatchedME->second.mePosxStereo,(*irh).x);
361  fillME(iStereoAndMatchedME->second.meResolxStereo,sqrt((*irh).resolxx));
362  fillME(iStereoAndMatchedME->second.meNsimHitStereo,(*irh).NsimHit);
363  if ((*irh).NsimHit > 0) {
364  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find(det_lay_pair.first);
365  fillME(iSubDetME->second.meBunchStereo, (*irh).bunch);
366  if ((*irh).bunch == 0) fillME(iSubDetME->second.meEventStereo, (*irh).event);
367  }
368  if ( (*irh).resx != -999999. || (*irh).pullMF != -999999. || (*irh).chi2 != -999999. ){
369  fillME(iStereoAndMatchedME->second.meResStereo,(*irh).resx);
370  fillME(iStereoAndMatchedME->second.mePullLFStereo,(*irh).resx/sqrt((*irh).resolxx));
371  fillME(iStereoAndMatchedME->second.mePullMFStereo,(*irh).pullMF);
372  fillME(iStereoAndMatchedME->second.meChi2Stereo,(*irh).chi2);
373  }
374  }
375  }
376 
377  for (std::vector<RecHitProperties>::iterator irh=rechitmatched.begin(); irh!=rechitmatched.end(); ++irh) {
378  if(iStereoAndMatchedME != StereoAndMatchedMEsMap.end()){
379  fillME(iStereoAndMatchedME->second.mePosxMatched,(*irh).x);
380  fillME(iStereoAndMatchedME->second.mePosyMatched,(*irh).y);
381  fillME(iStereoAndMatchedME->second.meResolxMatched,sqrt((*irh).resolxx));
382  fillME(iStereoAndMatchedME->second.meResolyMatched,sqrt((*irh).resolyy));
383  fillME(iStereoAndMatchedME->second.meNsimHitMatched,(*irh).NsimHit);
384  if ((*irh).NsimHit > 0) {
385  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find(det_lay_pair.first);
386  fillME(iSubDetME->second.meBunchMatched, (*irh).bunch);
387  if ((*irh).bunch == 0) fillME(iSubDetME->second.meEventMatched, (*irh).event);
388  }
389  if ( (*irh).resx != -999999. || (*irh).resy != -999999. || (*irh).chi2 != -999999. ){
390  fillME(iStereoAndMatchedME->second.meResxMatched,(*irh).resx);
391  fillME(iStereoAndMatchedME->second.meResyMatched,(*irh).resy);
392  fillME(iStereoAndMatchedME->second.meChi2Matched,(*irh).chi2);
393  }
394  }
395  }
396 
397  }
398 
399  }//End of loop over detectors
400 
401 
402  //now fill the cumulative histograms of the hits
403  for (std::vector<std::string>::iterator iSubdet = SubDetList_.begin(); iSubdet != SubDetList_.end(); iSubdet++){
404  std::map<std::string, SubDetMEs>::iterator iSubDetME = SubDetMEsMap.find((*iSubdet));
405  fillME(iSubDetME->second.meNumrphi,std::accumulate(totnumrechitrphi[(*iSubdet)].rbegin(), totnumrechitrphi[(*iSubdet)].rend(), 0));
406  fillME(iSubDetME->second.meNumStereo,std::accumulate(totnumrechitstereo[(*iSubdet)].rbegin(), totnumrechitstereo[(*iSubdet)].rend(), 0));
407  fillME(iSubDetME->second.meNumMatched,std::accumulate(totnumrechitmatched[(*iSubdet)].rbegin(), totnumrechitmatched[(*iSubdet)].rend(), 0));
408  }
409 
410  fillME(totalMEs.meNumTotrphi,totrechitrphi);
411  fillME(totalMEs.meNumTotStereo,totrechitstereo);
412  fillME(totalMEs.meNumTotMatched,totrechitmatched);
413 
414 }
RunNumber_t run() const
Definition: EventID.h:39
RecHitProperties rechitpro
EventNumber_t event() const
Definition: EventID.h:41
std::vector< std::string > SubDetList_
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
void rechitanalysis_matched(SiStripMatchedRecHit2D const rechit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:446
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)
std::vector< RecHitProperties > rechitstereo
edm::EDGetTokenT< SiStripRecHit2DCollection > stereoRecHitsToken_
std::vector< RecHitProperties > rechitmatched
T sqrt(T t)
Definition: SSEVec.h:48
virtual const Topology & topology() const override
Returns a reference to the strip proxy topology.
edm::EDGetTokenT< SiStripRecHit2DCollection > rphiRecHitsToken_
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
std::pair< typename T::DetSet::const_iterator, typename T::DetSet::const_iterator > getRange(const T &detset, const DetId &id)
Definition: DetId.h:18
std::map< std::string, LayerMEs > LayerMEsMap
T const * product() const
Definition: ESHandle.h:86
edm::ParameterSet conf_
edm::EventID id() const
Definition: EventBase.h:56
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > matchedRecHitsToken_
void fillME(MonitorElement *ME, float value1)
DetId geographicalId() const
std::vector< RecHitProperties > rechitrphi
void SiStripRecHitsValid::beginJob ( const edm::EventSetup es)
protected

Definition at line 200 of file SiStripRecHitsValid.cc.

200  {
201 }
void SiStripRecHitsValid::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run run,
const edm::EventSetup es 
)
protectedvirtual

Implements DQMEDAnalyzer.

Definition at line 188 of file SiStripRecHitsValid.cc.

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

188  {
189 
190  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
191  if (m_cacheID_ != cacheID) {
192  m_cacheID_ = cacheID;
193  edm::LogInfo("SiStripRecHitsValid") <<"SiStripRecHitsValid::beginRun: "
194  << " Creating MEs for new Cabling ";
195 
196  createMEs(ibooker,es);
197  }
198 }
void createMEs(DQMStore::IBooker &ibooker, const edm::EventSetup &es)
const T & get() const
Definition: EventSetup.h:55
unsigned long long m_cacheID_
MonitorElement * SiStripRecHitsValid::bookME1D ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName,
const char *  HistoTitle 
)
private

Definition at line 1015 of file SiStripRecHitsValid.cc.

References DQMStore::IBooker::book1D(), conf_, edm::ParameterSet::getParameter(), and Parameters.

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

1016 {
1017  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
1018  return ibooker.book1D(HistoName,HistoTitle,
1019  Parameters.getParameter<int32_t>("Nbinx"),
1020  Parameters.getParameter<double>("xmin"),
1021  Parameters.getParameter<double>("xmax")
1022  );
1023 }
T getParameter(std::string const &) const
edm::ParameterSet Parameters
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 765 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().

766 {
767  SiStripHistoId hidmanager;
768  LayerMEs layerMEs;
769 
770  layerMEs.meWclusrphi = 0;
771  layerMEs.meAdcrphi = 0;
772  layerMEs.mePosxrphi = 0;
773  layerMEs.meResolxrphi = 0;
774  layerMEs.meResrphi = 0;
775  layerMEs.mePullLFrphi = 0;
776  layerMEs.mePullMFrphi = 0;
777  layerMEs.meChi2rphi = 0;
778  layerMEs.meNsimHitrphi = 0;
779 
780  //Wclusrphi
781  if(switchWclusrphi) {
782  layerMEs.meWclusrphi = bookME1D(ibooker,"TH1Wclusrphi", hidmanager.createHistoLayer("Wclus_rphi","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster");
783  layerMEs.meWclusrphi->setAxisTitle(("Cluster Width [nr strips] in "+ label).c_str());
784  }
785  //Adcrphi
786  if(switchAdcrphi) {
787  layerMEs.meAdcrphi = bookME1D(ibooker,"TH1Adcrphi", hidmanager.createHistoLayer("Adc_rphi","layer",label,"").c_str() ,"RecHit Cluster Charge");
788  layerMEs.meAdcrphi->setAxisTitle(("cluster charge [ADC] in " + label).c_str());
789  }
790  //Posxrphi
791  if(switchPosxrphi) {
792  layerMEs.mePosxrphi = bookME1D(ibooker,"TH1Posxrphi", hidmanager.createHistoLayer("Posx_rphi","layer",label,"").c_str() ,"RecHit x coord.");
793  layerMEs.mePosxrphi->setAxisTitle(("x RecHit coord. (local frame) in " + label).c_str());
794  }
795  //Resolxrphi
796  if(switchResolxrphi) {
797  layerMEs.meResolxrphi = bookME1D(ibooker,"TH1Resolxrphi", hidmanager.createHistoLayer("Resolx_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //<resolor>~20micron
798  layerMEs.meResolxrphi->setAxisTitle(("resol(x) RecHit coord. (local frame) in " + label).c_str());
799  }
800  //Resrphi
801  if(switchResrphi) {
802  layerMEs.meResrphi = bookME1D(ibooker,"TH1Resrphi", hidmanager.createHistoLayer("Res_rphi","layer",label,"").c_str() ,"Residuals of the hit x coordinate");
803  layerMEs.meResrphi->setAxisTitle(("RecHit Res(x) in " + label).c_str());
804  }
805  //PullLFrphi
806  if(switchPullLFrphi) {
807  layerMEs.mePullLFrphi = bookME1D(ibooker,"TH1PullLFrphi", hidmanager.createHistoLayer("Pull_LF_rphi","layer",label,"").c_str() ,"Pull distribution");
808  layerMEs.mePullLFrphi->setAxisTitle(("Pull distribution (local frame) in " + label).c_str());
809  }
810  //PullMFrphi
811  if(switchPullMFrphi) {
812  layerMEs.mePullMFrphi = bookME1D(ibooker,"TH1PullMFrphi", hidmanager.createHistoLayer("Pull_MF_rphi","layer",label,"").c_str() ,"Pull distribution");
813  layerMEs.mePullMFrphi->setAxisTitle(("Pull distribution (measurement frame) in " + label).c_str());
814  }
815  //Chi2rphi
816  if(switchChi2rphi) {
817  layerMEs.meChi2rphi = bookME1D(ibooker,"TH1Chi2rphi", hidmanager.createHistoLayer("Chi2_rphi","layer",label,"").c_str() ,"RecHit Chi2 test");
818  layerMEs.meChi2rphi->setAxisTitle(("RecHit Chi2 test in " + label).c_str());
819  }
820  //NsimHitrphi
821  if(switchNsimHitrphi) {
822  layerMEs.meNsimHitrphi = bookME1D(ibooker,"TH1NsimHitrphi", hidmanager.createHistoLayer("NsimHit_rphi","layer",label,"").c_str() ,"No. of assoc. simHits");
823  layerMEs.meNsimHitrphi->setAxisTitle(("Number of assoc. simHits in " + label).c_str());
824  }
825 
826  LayerMEsMap[label]=layerMEs;
827 
828 }
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 618 of file SiStripRecHitsValid.cc.

References funct::abs(), createLayerMEs(), createStereoAndMatchedMEs(), createSubDetMEs(), createTotalMEs(), cond::rpcobgas::detid, edm::EventSetup::get(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), diffTwoXMLs::label, LayerDetMap, LayerMEsMap, edm::ESHandle< class >::product(), DQMStore::IBooker::setCurrentFolder(), SiStripFolderOrganizer::setLayerFolder(), SiStripFolderOrganizer::setSiStripFolder(), SiStripFolderOrganizer::setSiStripFolderName(), SiStripDetCabling_, SiStripDetId::stereo(), StereoAndMatchedDetMap, StereoAndMatchedMEsMap, AlCaHLTBitMon_QueryRunRegistry::string, SubDetMEsMap, and topFolderName_.

Referenced by bookHistograms().

618  {
619 
620  //Retrieve tracker topology from geometry
621  edm::ESHandle<TrackerTopology> tTopoHandle;
622  es.get<IdealGeometryRecord>().get(tTopoHandle);
623  const TrackerTopology* const tTopo = tTopoHandle.product();
624 
625  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
627 
628  // get list of active detectors from SiStripDetCabling
629  std::vector<uint32_t> activeDets;
630  SiStripDetCabling_->addActiveDetectorsRawIds(activeDets);
631 
632  SiStripSubStructure substructure;
633 
634  SiStripFolderOrganizer folder_organizer;
635  // folder_organizer.setSiStripFolderName(topFolderName_);
636  std::string curfold = topFolderName_;
637  folder_organizer.setSiStripFolderName(curfold);
638  folder_organizer.setSiStripFolder();
639 
640  // std::cout << "curfold " << curfold << std::endl;
641 
642  createTotalMEs(ibooker);
643 
644  // loop over detectors and book MEs
645  edm::LogInfo("SiStripTkRecHits|SiStripRecHitsValid")<<"nr. of activeDets: "<<activeDets.size();
646  for(std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(); detid_iterator!=activeDets.end(); detid_iterator++){
647  uint32_t detid = (*detid_iterator);
648  // remove any eventual zero elements - there should be none, but just in case
649  if(detid == 0) {
650  activeDets.erase(detid_iterator);
651  continue;
652  }
653 
654  // Create Layer Level MEs
655  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid,tTopo,true);
656  SiStripHistoId hidmanager;
657  std::string label = hidmanager.getSubdetid(detid,tTopo,true);
658  // std::cout << "label " << label << endl;
659 
660  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
661  if(iLayerME==LayerMEsMap.end()) {
662 
663  // get detids for the layer
664  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
665  int32_t lnumber = det_layer_pair.second;
666  std::vector<uint32_t> layerDetIds;
667  if (det_layer_pair.first == "TIB") {
668  substructure.getTIBDetectors(activeDets,layerDetIds,lnumber,0,0,0);
669  } else if (det_layer_pair.first == "TOB") {
670  substructure.getTOBDetectors(activeDets,layerDetIds,lnumber,0,0);
671  } else if (det_layer_pair.first == "TID" && lnumber > 0) {
672  substructure.getTIDDetectors(activeDets,layerDetIds,2,0,abs(lnumber),0);
673  } else if (det_layer_pair.first == "TID" && lnumber < 0) {
674  substructure.getTIDDetectors(activeDets,layerDetIds,1,0,abs(lnumber),0);
675  } else if (det_layer_pair.first == "TEC" && lnumber > 0) {
676  substructure.getTECDetectors(activeDets,layerDetIds,2,0,0,0,abs(lnumber),0);
677  } else if (det_layer_pair.first == "TEC" && lnumber < 0) {
678  substructure.getTECDetectors(activeDets,layerDetIds,1,0,0,0,abs(lnumber),0);
679  }
680  LayerDetMap[label] = layerDetIds;
681 
682  // book Layer MEs
683  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second,true);
684  // std::stringstream ss;
685  // folder_organizer.getLayerFolderName(ss, detid, tTopo, true);
686  // std::cout << "Folder Name " << ss.str().c_str() << std::endl;
687  createLayerMEs(ibooker,label);
688  }
689  // book sub-detector plots
690  std::pair<std::string,std::string> sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo);
691  // std::cout << "sdet_pair " << sdet_pair.first << " " << sdet_pair.second << std::endl;
692  if (SubDetMEsMap.find(det_layer_pair.first) == SubDetMEsMap.end()){
693  ibooker.setCurrentFolder(sdet_pair.first);
694  createSubDetMEs(ibooker,det_layer_pair.first);
695  }
696  //Create StereoAndMatchedMEs
697  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
698  if(iStereoAndMatchedME==StereoAndMatchedMEsMap.end()) {
699 
700  // get detids for the stereo and matched layer. We are going to need a bool for these layers
701  bool isStereo = false;
702  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
703  int32_t stereolnumber = det_layer_pair.second;
704  std::vector<uint32_t> stereoandmatchedDetIds;
705  if ( (det_layer_pair.first == "TIB") && (TIBDetId(detid).stereo()== 1) ) {
706  substructure.getTIBDetectors(activeDets,stereoandmatchedDetIds,stereolnumber,0,0,0);
707  isStereo = true;
708  } else if ( (det_layer_pair.first == "TOB") && (TOBDetId(detid).stereo()== 1) ) {
709  substructure.getTOBDetectors(activeDets,stereoandmatchedDetIds,stereolnumber,0,0);
710  isStereo = true;
711  } else if ( (det_layer_pair.first == "TID") && (stereolnumber > 0) && (TIDDetId(detid).stereo()== 1) ) {
712  substructure.getTIDDetectors(activeDets,stereoandmatchedDetIds,2,0,abs(stereolnumber),1);
713  isStereo = true;
714  } else if ( (det_layer_pair.first == "TID") && (stereolnumber < 0) && (TIDDetId(detid).stereo()== 1) ) {
715  substructure.getTIDDetectors(activeDets,stereoandmatchedDetIds,1,0,abs(stereolnumber),1);
716  isStereo = true;
717  } else if ( (det_layer_pair.first == "TEC") && (stereolnumber > 0) && (TECDetId(detid).stereo()== 1) ) {
718  substructure.getTECDetectors(activeDets,stereoandmatchedDetIds,2,0,0,0,abs(stereolnumber),1);
719  isStereo = true;
720  } else if ( (det_layer_pair.first == "TEC") && (stereolnumber < 0) && (TECDetId(detid).stereo()== 1) ) {
721  substructure.getTECDetectors(activeDets,stereoandmatchedDetIds,1,0,0,0,abs(stereolnumber),1);
722  isStereo = true;
723  }
724  StereoAndMatchedDetMap[label] = stereoandmatchedDetIds;
725 
726  if(isStereo){
727  //book StereoAndMatched MEs
728  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second,true);
729  // std::stringstream ss1;
730  // folder_organizer.getLayerFolderName(ss1, detid, tTopo, true);
731  // std::cout << "Folder Name stereo " << ss1.str().c_str() << std::endl;
732  //Create the Monitor Elements only when we have a stereo module
733  createStereoAndMatchedMEs(ibooker,label);
734  }
735  }
736 
737 
738  }//end of loop over detectors
739 }
void createStereoAndMatchedMEs(DQMStore::IBooker &ibooker, std::string label)
void setSiStripFolderName(std::string name)
uint32_t stereo() const
Definition: SiStripDetId.h:162
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)
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:274
std::map< std::string, std::vector< uint32_t > > StereoAndMatchedDetMap
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:86
std::pair< std::string, std::string > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
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
void SiStripRecHitsValid::createStereoAndMatchedMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 830 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().

831 {
832  SiStripHistoId hidmanager;
833  StereoAndMatchedMEs stereoandmatchedMEs;
834 
835  stereoandmatchedMEs.meWclusStereo = 0;
836  stereoandmatchedMEs.meAdcStereo = 0;
837  stereoandmatchedMEs.mePosxStereo = 0;
838  stereoandmatchedMEs.meResolxStereo = 0;
839  stereoandmatchedMEs.meResStereo = 0;
840  stereoandmatchedMEs.mePullLFStereo = 0;
841  stereoandmatchedMEs.mePullMFStereo = 0;
842  stereoandmatchedMEs.meChi2Stereo = 0;
843  stereoandmatchedMEs.meNsimHitStereo = 0;
844  stereoandmatchedMEs.mePosxMatched = 0;
845  stereoandmatchedMEs.mePosyMatched = 0;
846  stereoandmatchedMEs.meResolxMatched = 0;
847  stereoandmatchedMEs.meResolyMatched = 0;
848  stereoandmatchedMEs.meResxMatched = 0;
849  stereoandmatchedMEs.meResyMatched = 0;
850  stereoandmatchedMEs.meChi2Matched = 0;
851  stereoandmatchedMEs.meNsimHitMatched = 0;
852 
853  //WclusStereo
854  if(switchWclusStereo) {
855  stereoandmatchedMEs.meWclusStereo = bookME1D(ibooker,"TH1WclusStereo", hidmanager.createHistoLayer("Wclus_stereo","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster");
856  stereoandmatchedMEs.meWclusStereo->setAxisTitle(("Cluster Width [nr strips] in stereo modules in "+ label).c_str());
857  }
858  //AdcStereo
859  if(switchAdcStereo) {
860  stereoandmatchedMEs.meAdcStereo = bookME1D(ibooker,"TH1AdcStereo", hidmanager.createHistoLayer("Adc_stereo","layer",label,"").c_str() ,"RecHit Cluster Charge");
861  stereoandmatchedMEs.meAdcStereo->setAxisTitle(("cluster charge [ADC] in stereo modules in " + label).c_str());
862  }
863  //PosxStereo
864  if(switchPosxStereo) {
865  stereoandmatchedMEs.mePosxStereo = bookME1D(ibooker,"TH1PosxStereo", hidmanager.createHistoLayer("Posx_stereo","layer",label,"").c_str() ,"RecHit x coord.");
866  stereoandmatchedMEs.mePosxStereo->setAxisTitle(("x RecHit coord. (local frame) in stereo modules in " + label).c_str());
867  }
868  //ResolxStereo
869  if(switchResolxStereo) {
870  stereoandmatchedMEs.meResolxStereo = bookME1D(ibooker,"TH1ResolxStereo", hidmanager.createHistoLayer("Resolx_stereo","layer",label,"").c_str() ,"RecHit resol(x) coord.");
871  stereoandmatchedMEs.meResolxStereo->setAxisTitle(("resol(x) RecHit coord. (local frame) in stereo modules in " + label).c_str());
872  }
873  //ResStereo
874  if(switchResStereo) {
875  stereoandmatchedMEs.meResStereo = bookME1D(ibooker,"TH1ResStereo", hidmanager.createHistoLayer("Res_stereo","layer",label,"").c_str() ,"Residuals of the hit x coordinate");
876  stereoandmatchedMEs.meResStereo->setAxisTitle(("RecHit Res(x) in stereo modules in " + label).c_str());
877  }
878  //PullLFStereo
879  if(switchPullLFStereo) {
880  stereoandmatchedMEs.mePullLFStereo = bookME1D(ibooker,"TH1PullLFStereo", hidmanager.createHistoLayer("Pull_LF_stereo","layer",label,"").c_str() ,"Pull distribution");
881  stereoandmatchedMEs.mePullLFStereo->setAxisTitle(("Pull distribution (local frame) in stereo modules in " + label).c_str());
882  }
883  //PullMFStereo
884  if(switchPullMFStereo) {
885  stereoandmatchedMEs.mePullMFStereo = bookME1D(ibooker,"TH1PullMFStereo", hidmanager.createHistoLayer("Pull_MF_stereo","layer",label,"").c_str() ,"Pull distribution");
886  stereoandmatchedMEs.mePullMFStereo->setAxisTitle(("Pull distribution (measurement frame) in stereo modules in " + label).c_str());
887  }
888  //Chi2Stereo
889  if(switchChi2Stereo) {
890  stereoandmatchedMEs.meChi2Stereo = bookME1D(ibooker,"TH1Chi2Stereo", hidmanager.createHistoLayer("Chi2_stereo","layer",label,"").c_str() ,"RecHit Chi2 test");
891  stereoandmatchedMEs.meChi2Stereo->setAxisTitle(("RecHit Chi2 test in stereo modules in " + label).c_str());
892  }
893  //NsimHitStereo
894  if(switchNsimHitStereo) {
895  stereoandmatchedMEs.meNsimHitStereo = bookME1D(ibooker,"TH1NsimHitStereo", hidmanager.createHistoLayer("NsimHit_stereo","layer",label,"").c_str() ,"No. of assoc. simHits");
896  stereoandmatchedMEs.meNsimHitStereo->setAxisTitle(("Number of assoc. simHits in stereo modules in " + label).c_str());
897  }
898  //PosxMatched
899  if(switchPosxMatched) {
900  stereoandmatchedMEs.mePosxMatched = bookME1D(ibooker,"TH1PosxMatched", hidmanager.createHistoLayer("Posx_matched","layer",label,"").c_str() ,"RecHit x coord.");
901  stereoandmatchedMEs.mePosxMatched->setAxisTitle(("x coord. matched RecHit (local frame) in " + label).c_str());
902  }
903  //PosyMatched
904  if(switchPosyMatched) {
905  stereoandmatchedMEs.mePosyMatched = bookME1D(ibooker,"TH1PosyMatched", hidmanager.createHistoLayer("Posy_matched","layer",label,"").c_str() ,"RecHit y coord.");
906  stereoandmatchedMEs.mePosyMatched->setAxisTitle(("y coord. matched RecHit (local frame) in " + label).c_str());
907  }
908  //ResolxMatched
909  if(switchResolxMatched) {
910  stereoandmatchedMEs.meResolxMatched = bookME1D(ibooker,"TH1ResolxMatched", hidmanager.createHistoLayer("Resolx_matched","layer",label,"").c_str() ,"RecHit resol(x) coord.");
911  stereoandmatchedMEs.meResolxMatched->setAxisTitle(("resol(x) coord. matched RecHit (local frame) in " + label).c_str());
912  }
913  //ResolyMatched
914  if(switchResolyMatched) {
915  stereoandmatchedMEs.meResolyMatched = bookME1D(ibooker,"TH1ResolyMatched", hidmanager.createHistoLayer("Resoly_matched","layer",label,"").c_str() ,"RecHit resol(y) coord.");
916  stereoandmatchedMEs.meResolyMatched->setAxisTitle(("resol(y) coord. matched RecHit (local frame) in " + label).c_str());
917  }
918  //ResxMatched
919  if(switchResxMatched) {
920  stereoandmatchedMEs.meResxMatched = bookME1D(ibooker,"TH1ResxMatched", hidmanager.createHistoLayer("Resx_matched","layer",label,"").c_str() ,"Residuals of the hit x coord.");
921  stereoandmatchedMEs.meResxMatched->setAxisTitle(("Res(x) in matched RecHit in " + label).c_str());
922  }
923  //ResyMatched
924  if(switchResyMatched) {
925  stereoandmatchedMEs.meResyMatched = bookME1D(ibooker,"TH1ResyMatched", hidmanager.createHistoLayer("Resy_matched","layer",label,"").c_str() ,"Residuals of the hit y coord.");
926  stereoandmatchedMEs.meResyMatched->setAxisTitle(("Res(y) in matched RecHit in " + label).c_str());
927  }
928  //Chi2Matched
929  if(switchChi2Matched) {
930  stereoandmatchedMEs.meChi2Matched = bookME1D(ibooker,"TH1Chi2Matched", hidmanager.createHistoLayer("Chi2_matched","layer",label,"").c_str() ,"RecHit Chi2 test");
931  stereoandmatchedMEs.meChi2Matched->setAxisTitle(("Matched RecHit Chi2 test in " + label).c_str());
932  }
933  //NsimHitMatched
935  stereoandmatchedMEs.meNsimHitMatched = bookME1D(ibooker,"TH1NsimHitMatched", hidmanager.createHistoLayer("NsimHit_matched","layer",label,"").c_str() ,"No. of assoc. simHits");
936  stereoandmatchedMEs.meNsimHitMatched->setAxisTitle(("Number of assoc. simHits in " + label).c_str());
937  }
938 
939  StereoAndMatchedMEsMap[label]=stereoandmatchedMEs;
940 
941 }
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 943 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().

943  {
944 
945  SubDetMEs subdetMEs;
946  subdetMEs.meNumrphi = 0;
947  subdetMEs.meBunchrphi = 0;
948  subdetMEs.meEventrphi = 0;
949  subdetMEs.meNumStereo = 0;
950  subdetMEs.meBunchStereo = 0;
951  subdetMEs.meEventStereo = 0;
952  subdetMEs.meNumMatched = 0;
953  subdetMEs.meBunchMatched = 0;
954  subdetMEs.meEventMatched = 0;
955 
957  //Numrphi
958  if (switchNumrphi){
959  HistoName = "TH1Numrphi__" + label;
960  subdetMEs.meNumrphi = bookME1D(ibooker,"TH1Numrphi",HistoName.c_str(),"Num of RecHits");
961  subdetMEs.meNumrphi->setAxisTitle(("Total number of RecHits in "+ label).c_str());
962  }
963  //Bunchrphi
964  if(switchBunchrphi) {
965  HistoName = "TH1Bunchrphi__" + label;
966  subdetMEs.meBunchrphi = bookME1D(ibooker,"TH1Bunchrphi",HistoName.c_str(),"Bunch Crossing");
967  subdetMEs.meBunchrphi->setAxisTitle(("Bunch crossing in " + label).c_str());
968  }
969  //Eventrphi
970  if(switchEventrphi) {
971  HistoName = "TH1Eventrphi__" + label;
972  subdetMEs.meEventrphi = bookME1D(ibooker,"TH1Eventrphi",HistoName.c_str(),"Event (in-time bunch)");
973  subdetMEs.meEventrphi->setAxisTitle(("Event (in-time bunch) in " + label).c_str());
974  }
975  //NumStereo
976  if (switchNumStereo){
977  HistoName = "TH1NumStereo__" + label;
978  subdetMEs.meNumStereo = bookME1D(ibooker,"TH1NumStereo",HistoName.c_str(),"Num of RecHits in stereo modules");
979  subdetMEs.meNumStereo->setAxisTitle(("Total number of RecHits, stereo modules in "+ label).c_str());
980  }
981  //BunchStereo
982  if(switchBunchStereo) {
983  HistoName = "TH1BunchStereo__" + label;
984  subdetMEs.meBunchStereo = bookME1D(ibooker,"TH1BunchStereo",HistoName.c_str(),"Bunch Crossing");
985  subdetMEs.meBunchStereo->setAxisTitle(("Bunch crossing, stereo modules in " + label).c_str());
986  }
987  //EventStereo
988  if(switchEventStereo) {
989  HistoName = "TH1EventStereo__" + label;
990  subdetMEs.meEventStereo = bookME1D(ibooker,"TH1EventStereo",HistoName.c_str(),"Event (in-time bunch)");
991  subdetMEs.meEventStereo->setAxisTitle(("Event (in-time bunch), stereo modules in " + label).c_str());
992  }
993  //NumMatched
994  if (switchNumMatched){
995  HistoName = "TH1NumMatched__" + label;
996  subdetMEs.meNumMatched = bookME1D(ibooker,"TH1NumMatched",HistoName.c_str(),"Num of matched RecHits" );
997  subdetMEs.meNumMatched->setAxisTitle(("Total number of matched RecHits in "+ label).c_str());
998  }
999  //BunchMatched
1000  if(switchBunchMatched) {
1001  HistoName = "TH1BunchMatched__" + label;
1002  subdetMEs.meBunchMatched = bookME1D(ibooker,"TH1BunchMatched",HistoName.c_str(),"Bunch Crossing");
1003  subdetMEs.meBunchMatched->setAxisTitle(("Bunch crossing, matched RecHits in " + label).c_str());
1004  }
1005  //EventMatched
1006  if(switchEventMatched) {
1007  HistoName = "TH1EventMatched__" + label;
1008  subdetMEs.meEventMatched = bookME1D(ibooker,"TH1EventMatched",HistoName.c_str(),"Event (in-time bunch)");
1009  subdetMEs.meEventMatched->setAxisTitle(("Event (in-time bunch), matched RecHits in " + label).c_str());
1010  }
1011 
1012  SubDetMEsMap[label]=subdetMEs;
1013 }
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 741 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().

742 {
746 
747  //NumTotrphi
748  if(switchNumTotrphi) {
749  totalMEs.meNumTotrphi = bookME1D(ibooker,"TH1NumTotrphi", "TH1NumTotrphi" ,"Num of RecHits rphi");
750  totalMEs.meNumTotrphi->setAxisTitle("Total number of RecHits");
751  }
752  //NumTotStereo
753  if(switchNumTotStereo) {
754  totalMEs.meNumTotStereo = bookME1D(ibooker,"TH1NumTotStereo", "TH1NumTotStereo","Num of RecHits stereo");
755  totalMEs.meNumTotStereo ->setAxisTitle("Total number of RecHits (stereo)");
756  }
757  //NumTotMatched
758  if(switchNumTotMatched) {
759  totalMEs.meNumTotMatched = bookME1D(ibooker,"TH1NumTotMatched","TH1NumTotMatched","Num of RecHits matched");
760  totalMEs.meNumTotMatched->setAxisTitle("Total number of matched RecHits");
761  }
762 
763 }
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 202 of file SiStripRecHitsValid.h.

References MonitorElement::Fill().

Referenced by analyze().

202 {if (ME!=0)ME->Fill(value1);}
void Fill(long long x)
void SiStripRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2 
)
inlineprivate

Definition at line 203 of file SiStripRecHitsValid.h.

References MonitorElement::Fill().

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

Definition at line 204 of file SiStripRecHitsValid.h.

References MonitorElement::Fill().

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

Definition at line 205 of file SiStripRecHitsValid.h.

References MonitorElement::Fill().

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

Definition at line 418 of file SiStripRecHitsValid.cc.

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

Referenced by rechitanalysis_matched().

420 {
421  // const StripGeomDetUnit* stripDet = dynamic_cast<const StripGeomDetUnit*>(hit.det());
422  //if (stripDet == 0) throw MeasurementDetException("HitMatcher hit is not on StripGeomDetUnit");
423 
424  const StripTopology& topol = stripDet->specificTopology();
425  GlobalPoint globalpos= stripDet->surface().toGlobal(hit.localPosition());
426  LocalPoint localHit = plane.toLocal(globalpos);
427  //track direction
428  LocalVector locdir=hit.localDirection();
429  //rotate track in new frame
430 
431  GlobalVector globaldir= stripDet->surface().toGlobal(locdir);
432  LocalVector dir=plane.toLocal(globaldir);
433  double scale = -localHit.z() / dir.z();
434 
435  LocalPoint projectedPos = localHit + scale*dir;
436 
437  // std::cout << "projectedPos " << projectedPos << std::endl;
438 
439  double selfAngle = topol.stripAngle( topol.strip( hit.localPosition()));
440 
441  LocalVector stripDir( sin(selfAngle), cos(selfAngle), 0); // vector along strip in hit frame
442 
443  LocalVector localStripDir( plane.toLocal(stripDet->surface().toGlobal( stripDir)));
444 
445  return std::pair<LocalPoint,LocalVector>( projectedPos, localStripDir);
446 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:114
virtual float stripAngle(float strip) const =0
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
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:40
virtual float strip(const LocalPoint &) const =0
Local3DPoint localPosition() const
Definition: PSimHit.h:44
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 448 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(), m, matched, Topology::measurementError(), Topology::measurementPosition(), SiStripRecHitsValid::RecHitProperties::NsimHit, position, SiStripRecHitsValid::RecHitProperties::pullMF, dttmaxenums::R, alignCSCRings::r, rechitpro, SiStripRecHitsValid::RecHitProperties::resolxx, SiStripRecHitsValid::RecHitProperties::resolxy, 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, LocalError::yy(), PV3DBase< T, PVType, FrameType >::z(), and SiStripRecHitsValid::RecHitProperties::z.

Referenced by analyze().

448  {
449 
450  rechitpro.x = -999999.; rechitpro.y = -999999.; rechitpro.z = -999999.; rechitpro.resolxx = -999999.; rechitpro.resolxy = -999999.;
451  rechitpro.resolyy = -999999.; rechitpro.resx = -999999.; rechitpro.resy = -999999.;rechitpro.pullMF = -999999.;
452  rechitpro.clusiz = -999999.; rechitpro.cluchg = -999999.; rechitpro.chi2 = -999999.; rechitpro.NsimHit = -999999.;
453  rechitpro.bunch = -999999.; rechitpro.event = -999999.;
454 
455  LocalPoint position=rechit.localPosition();
456  LocalError error=rechit.localPositionError();
457  MeasurementPoint Mposition;
458  MeasurementError Merror;
459  Mposition = topol.measurementPosition(position);
460  Merror = topol.measurementError(position,error);
461  SiStripRecHit2D::ClusterRef clust=rechit.cluster();
462  int clusiz=0;
463  int totcharge=0;
464  clusiz = clust->amplitudes().size();
465  const std::vector<uint8_t> amplitudes=clust->amplitudes();
466  for(size_t ia=0; ia<amplitudes.size();ia++){
467  totcharge+=amplitudes[ia];
468  }
469  rechitpro.x = position.x();
470  rechitpro.y = position.y();
471  rechitpro.z = position.z();
472  rechitpro.resolxx = error.xx();
473  rechitpro.resolxy = error.xy();
474  rechitpro.resolyy = error.yy();
475  rechitpro.clusiz = clusiz;
476  rechitpro.cluchg = totcharge;
477 
478 
479  matched.clear();
480  matched = associate.associateHit(rechit);
481  rechitpro.NsimHit = matched.size();
482 
483  double mindist = 999999;
484  double dist = 999999;
485  PSimHit closest;
486 
487  if(!matched.empty()){
488 
489  for(vector<PSimHit>::const_iterator m=matched.begin(); m<matched.end(); m++){
490  dist = fabs(rechitpro.x - (*m).localPosition().x());
491  if(dist<mindist){
492  mindist = dist;
493  closest = (*m);
494  }
495  }
496  rechitpro.bunch = closest.eventId().bunchCrossing();
497  rechitpro.event = closest.eventId().event();
498  rechitpro.resx = rechitpro.x - closest.localPosition().x();
499  rechitpro.pullMF = (Mposition.x() - (topol.measurementPosition(closest.localPosition())).x())/sqrt(Merror.uu());
500 
501  //chi2test compare rechit errors with the simhit position ( using null matrix for the simhit).
502  //Can spot problems in the geometry better than a simple residual. (thanks to BorisM)
503  AlgebraicVector rhparameters(2);//= rechit.parameters();
504  rhparameters[0] = position.x();
505  rhparameters[1] = position.y();
506  AlgebraicVector shparameters(2);
507  shparameters[0] = closest.localPosition().x();
508  shparameters[1] = closest.localPosition().y();
509  AlgebraicVector r(rhparameters - shparameters);
510  AlgebraicSymMatrix R(2);// = rechit.parametersError();
511  R[0][0] = error.xx();
512  R[0][1] = error.xy();
513  R[1][1] = error.yy();
514  int ierr;
515  R.invert(ierr); // if (ierr != 0) throw exception;
516  double est = R.similarity(r);
517  // std::cout << " ====== Chi2 test rphi hits ====== " << std::endl;
518  // std::cout << "RecHit param. = " << rhparameters << std::endl;
519  // std::cout << "RecHit errors = " << R << std::endl;
520  // std::cout << "SimHit param. = " << shparameters << std::endl;
521  // std::cout << " chi2 = " << est << std::endl;
522  // std::cout << "DEBUG BORIS,filling chi2rphi[i],i: " << i << std::endl;
523  rechitpro.chi2 = est;
524  }
525 
526 }
RecHitProperties rechitpro
float xx() const
Definition: LocalError.h:24
int event() const
get the contents of the subdetector field (should be protected?)
std::vector< PSimHit > matched
T y() const
Definition: PV3DBase.h:63
float xy() const
Definition: LocalError.h:25
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
float yy() const
Definition: LocalError.h:26
Local3DPoint localPosition() const
Definition: PSimHit.h:44
T sqrt(T t)
Definition: SSEVec.h:48
int bunchCrossing() const
get the detector field from this detid
T z() const
Definition: PV3DBase.h:64
float uu() const
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
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
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 530 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(), m, matched, SiStripRecHitsValid::RecHitProperties::NsimHit, position, projectHit(), SiStripRecHitsValid::RecHitProperties::pullMF, dttmaxenums::R, alignCSCRings::r, rechitpro, SiStripRecHitsValid::RecHitProperties::resolxx, SiStripRecHitsValid::RecHitProperties::resolxy, 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, LocalError::yy(), PV3DBase< T, PVType, FrameType >::z(), and SiStripRecHitsValid::RecHitProperties::z.

Referenced by analyze().

530  {
531 
532  rechitpro.x = -999999.; rechitpro.y = -999999.; rechitpro.z = -999999.; rechitpro.resolxx = -999999.; rechitpro.resolxy = -999999.;
533  rechitpro.resolyy = -999999.; rechitpro.resx = -999999.; rechitpro.resy = -999999.;rechitpro.pullMF = -999999.;
534  rechitpro.clusiz = -999999.; rechitpro.cluchg = -999999.; rechitpro.chi2 = -999999.; rechitpro.NsimHit = -999999.;
535  rechitpro.bunch = -999999.; rechitpro.event = -999999.;
536 
537  LocalPoint position=rechit.localPosition();
538  LocalError error=rechit.localPositionError();
539 
540  rechitpro.x = position.x();
541  rechitpro.y = position.y();
542  rechitpro.z = position.z();
543  rechitpro.resolxx = error.xx();
544  rechitpro.resolxy = error.xy();
545  rechitpro.resolyy = error.yy();
546 
547  matched.clear();
548  matched = associate.associateHit(rechit);
549  rechitpro.NsimHit = matched.size();
550 
551  double mindist = 999999;
552  double dist = 999999;
553  double distx = 999999;
554  double disty = 999999;
555  PSimHit closest;
556  std::pair<LocalPoint,LocalVector> closestPair;
557 
558  if(!matched.empty()){
559 
560  const StripGeomDetUnit* partnerstripdet =(StripGeomDetUnit*) gluedDet->stereoDet();
561  std::pair<LocalPoint,LocalVector> hitPair;
562 
563 
564  for(vector<PSimHit>::const_iterator m=matched.begin(); m<matched.end(); m++){
565  SiStripDetId hitDetId(m->detUnitId());
566  if (hitDetId.stereo()) { // project from the stereo sensor
567  //project simhit;
568  hitPair= projectHit((*m),partnerstripdet,gluedDet->surface());
569  distx = fabs(rechitpro.x - hitPair.first.x());
570  disty = fabs(rechitpro.y - hitPair.first.y());
571  dist = sqrt(distx*distx+disty*disty);
572  // std::cout << " Simhit position x = " << hitPair.first.x()
573  // << " y = " << hitPair.first.y() << " dist = " << dist << std::endl;
574  if(dist<mindist){
575  mindist = dist;
576  closestPair = hitPair;
577  closest = (*m);
578  }
579  }
580  }
581  rechitpro.bunch = closest.eventId().bunchCrossing();
582  rechitpro.event = closest.eventId().event();
583  rechitpro.resx = rechitpro.x - closestPair.first.x();
584  rechitpro.resy = rechitpro.y - closestPair.first.y();
585  //std::cout << " Closest position x = " << closestPair.first.x()
586  // << " y = " << closestPair.first.y() << " dist = " << dist << std::endl;
587 
588  //chi2test compare rechit errors with the simhit position ( using null matrix for the simhit).
589  //Can spot problems in the geometry better than a simple residual. (thanks to BorisM)
590  AlgebraicVector rhparameters(2);//= rechit.parameters();
591  rhparameters[0] = position.x();
592  rhparameters[1] = position.y();
593  LocalPoint sh = closestPair.first;
594  AlgebraicVector shparameters(2);
595  shparameters[0] = sh.x();
596  shparameters[1] = sh.y();
597  AlgebraicVector r(rhparameters - shparameters);
598  AlgebraicSymMatrix R(2);// = rechit.parametersError();
599  R[0][0] = error.xx();
600  R[0][1] = error.xy();
601  R[1][1] = error.yy();
602  int ierr;
603  R.invert(ierr); // if (ierr != 0) throw exception;
604  double est = R.similarity(r);
605  // std::cout << " ====== Chi2 test rphi hits ====== " << std::endl;
606  // std::cout << "RecHit param. = " << rhparameters << std::endl;
607  // std::cout << "RecHit errors = " << R << std::endl;
608  // std::cout << "SimHit param. = " << shparameters << std::endl;
609  // std::cout << " chi2 = " << est << std::endl;
610  // std::cout << "DEBUG BORIS,filling chi2rphi[i],i: " << i << std::endl;
611  rechitpro.chi2 = est;
612  }
613 
614 
615 }
RecHitProperties rechitpro
float xx() const
Definition: LocalError.h:24
int event() const
get the contents of the subdetector field (should be protected?)
std::vector< PSimHit > matched
T y() const
Definition: PV3DBase.h:63
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:40
float xy() const
Definition: LocalError.h:25
float yy() const
Definition: LocalError.h:26
T sqrt(T t)
Definition: SSEVec.h:48
int bunchCrossing() const
get the detector field from this detid
T z() const
Definition: PV3DBase.h:64
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 207 of file SiStripRecHitsValid.h.

Referenced by analyze(), bookME1D(), and SiStripRecHitsValid().

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

Definition at line 187 of file SiStripRecHitsValid.h.

Referenced by createMEs().

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

Definition at line 184 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().

std::vector<PSimHit> SiStripRecHitsValid::matched
private

Definition at line 183 of file SiStripRecHitsValid.h.

Referenced by rechitanalysis(), and rechitanalysis_matched().

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

Definition at line 223 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

edm::ParameterSet SiStripRecHitsValid::Parameters
private

Definition at line 209 of file SiStripRecHitsValid.h.

Referenced by bookME1D().

std::vector<RecHitProperties> SiStripRecHitsValid::rechitmatched
private

Definition at line 216 of file SiStripRecHitsValid.h.

Referenced by analyze().

RecHitProperties SiStripRecHitsValid::rechitpro
private

Definition at line 217 of file SiStripRecHitsValid.h.

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

std::vector<RecHitProperties> SiStripRecHitsValid::rechitrphi
private

Definition at line 214 of file SiStripRecHitsValid.h.

Referenced by analyze().

std::vector<RecHitProperties> SiStripRecHitsValid::rechitstereo
private

Definition at line 215 of file SiStripRecHitsValid.h.

Referenced by analyze().

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

Definition at line 224 of file SiStripRecHitsValid.h.

Referenced by analyze(), and SiStripRecHitsValid().

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

Definition at line 190 of file SiStripRecHitsValid.h.

Referenced by createMEs().

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

Definition at line 188 of file SiStripRecHitsValid.h.

Referenced by createMEs().

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

Definition at line 185 of file SiStripRecHitsValid.h.

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

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

Definition at line 225 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 186 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().