CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
SiStripMonitorTrack Class Reference

#include <SiStripMonitorTrack.h>

Inheritance diagram for SiStripMonitorTrack:
edm::EDAnalyzer edm::EDConsumerBase

Classes

struct  LayerMEs
 
struct  ModMEs
 
struct  SubDetMEs
 

Public Types

typedef
TransientTrackingRecHit::ConstRecHitPointer 
ConstRecHitPointer
 
enum  RecHitType { Single =0, Matched =1, Projected =2, Null =3 }
 
- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginRun (const edm::Run &run, const edm::EventSetup &c)
 
virtual void endJob (void)
 
 SiStripMonitorTrack (const edm::ParameterSet &)
 
 ~SiStripMonitorTrack ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndex indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Types

enum  ClusterFlags { OffTrack, OnTrack }
 

Private Member Functions

void AllClusters (const edm::Event &ev, const edm::EventSetup &es)
 
void book (const TrackerTopology *tTopo)
 
void bookLayerMEs (const uint32_t &, std::string &)
 
MonitorElementbookME1D (const char *, const char *)
 
MonitorElementbookME2D (const char *, const char *)
 
MonitorElementbookME3D (const char *, const char *)
 
MonitorElementbookMEProfile (const char *, const char *)
 
MonitorElementbookMETrend (const char *, const char *)
 
void bookModMEs (const uint32_t &)
 
void bookSubDetMEs (std::string &name)
 
bool clusterInfos (SiStripClusterInfo *cluster, const uint32_t &detid, const TrackerTopology *tTopo, enum ClusterFlags flags, LocalVector LV)
 
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)
 
void fillMEs (SiStripClusterInfo *, uint32_t detid, const TrackerTopology *tTopo, float, enum ClusterFlags)
 
void fillModMEs (SiStripClusterInfo *, std::string, float)
 
void getSubDetTag (std::string &folder_name, std::string &tag)
 
template<class T >
void RecHitInfo (const T *tkrecHit, LocalVector LV, reco::TrackRef track_ref, const edm::EventSetup &)
 
void trackStudy (const edm::Event &ev, const edm::EventSetup &es)
 

Private Attributes

bool applyClusterQuality_
 
edm::InputTag Cluster_src_
 
edm::ParameterSet conf_
 
DQMStoredbe
 
SiStripDCSStatusdcsStatus_
 
int eventNb
 
int firstEvent
 
bool flag_ring
 
SiStripFolderOrganizer folderOrganizer_
 
GenericTriggerEventFlaggenTriggerEventFlag_
 
std::string histname
 
bool HistoFlag_On_
 
float iOrbitSec
 
std::map< std::string, LayerMEsLayerMEsMap
 
LocalVector LV
 
bool Mod_On_
 
std::map< std::string, ModMEsModMEsMap
 
std::vector< uint32_t > ModulesToBeExcluded_
 
bool OffHisto_On_
 
edm::ParameterSet Parameters
 
bool ring_flag
 
int runNb
 
edm::ESHandle< SiStripDetCablingSiStripDetCabling_
 
double sToNLowerLimit_
 
double sToNUpperLimit_
 
std::map< std::string, SubDetMEsSubDetMEsMap
 
edm::ESHandle< TrackerGeometrytkgeom
 
TkHistoMaptkhisto_NumOffTrack
 
TkHistoMaptkhisto_NumOnTrack
 
TkHistoMaptkhisto_StoNCorrOnTrack
 
bool TkHistoMap_On_
 
bool trackAssociatorCollection_in_EventTree
 
std::string TrackLabel_
 
std::string TrackProducer_
 
bool tracksCollection_in_EventTree
 
bool Trend_On_
 
std::vector< const
SiStripCluster * > 
vPSiStripCluster
 
double widthLowerLimit_
 
double widthUpperLimit_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
CurrentProcessingContext const * currentContext () const
 
- 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)
 

Detailed Description

Definition at line 56 of file SiStripMonitorTrack.h.

Member Typedef Documentation

Definition at line 58 of file SiStripMonitorTrack.h.

Member Enumeration Documentation

Enumerator
OffTrack 
OnTrack 

Definition at line 67 of file SiStripMonitorTrack.h.

Constructor & Destructor Documentation

SiStripMonitorTrack::SiStripMonitorTrack ( const edm::ParameterSet conf)
explicit

Definition at line 23 of file SiStripMonitorTrack.cc.

References applyClusterQuality_, Cluster_src_, conf_, dcsStatus_, flag_ring, edm::ParameterSet::getParameter(), Mod_On_, sToNLowerLimit_, sToNUpperLimit_, AlCaHLTBitMon_QueryRunRegistry::string, TkHistoMap_On_, TrackLabel_, TrackProducer_, Trend_On_, widthLowerLimit_, and widthUpperLimit_.

23  :
25  conf_(conf),
27  firstEvent(-1),
29 {
30  Cluster_src_ = conf.getParameter<edm::InputTag>("Cluster_src");
31  Mod_On_ = conf.getParameter<bool>("Mod_On");
32  Trend_On_ = conf.getParameter<bool>("Trend_On");
33  flag_ring = conf.getParameter<bool>("RingFlag_On");
34  TkHistoMap_On_ = conf.getParameter<bool>("TkHistoMap_On");
35 
36  TrackProducer_ = conf_.getParameter<std::string>("TrackProducer");
37  TrackLabel_ = conf_.getParameter<std::string>("TrackLabel");
38 
39  // cluster quality conditions
40  edm::ParameterSet cluster_condition = conf_.getParameter<edm::ParameterSet>("ClusterConditions");
41  applyClusterQuality_ = cluster_condition.getParameter<bool>("On");
42  sToNLowerLimit_ = cluster_condition.getParameter<double>("minStoN");
43  sToNUpperLimit_ = cluster_condition.getParameter<double>("maxStoN");
44  widthLowerLimit_ = cluster_condition.getParameter<double>("minWidth");
45  widthUpperLimit_ = cluster_condition.getParameter<double>("maxWidth");
46 
47 
48  // Create DCS Status
49  bool checkDCS = conf_.getParameter<bool>("UseDCSFiltering");
50  if (checkDCS) dcsStatus_ = new SiStripDCSStatus();
51  else dcsStatus_ = 0;
52 }
T getParameter(std::string const &) const
SiStripDCSStatus * dcsStatus_
edm::ParameterSet conf_
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
GenericTriggerEventFlag * genTriggerEventFlag_
SiStripMonitorTrack::~SiStripMonitorTrack ( )

Definition at line 55 of file SiStripMonitorTrack.cc.

References dcsStatus_, and genTriggerEventFlag_.

55  {
56  if (dcsStatus_) delete dcsStatus_;
58 }
SiStripDCSStatus * dcsStatus_
GenericTriggerEventFlag * genTriggerEventFlag_

Member Function Documentation

void SiStripMonitorTrack::AllClusters ( const edm::Event ev,
const edm::EventSetup es 
)
private

Definition at line 572 of file SiStripMonitorTrack.cc.

References Cluster_src_, clusterInfos(), cond::rpcobgas::detid, edmNew::DetSet< T >::end(), spr::find(), edm::EventSetup::get(), edm::Event::getByLabel(), edm::HandleBase::isValid(), LogDebug, ModulesToBeExcluded_, OffTrack, edm::ESHandle< class >::product(), and vPSiStripCluster.

Referenced by analyze().

573 {
574 
575  //Retrieve tracker topology from geometry
576  edm::ESHandle<TrackerTopology> tTopoHandle;
577  es.get<IdealGeometryRecord>().get(tTopoHandle);
578  const TrackerTopology* const tTopo = tTopoHandle.product();
579 
581  ev.getByLabel( Cluster_src_, siStripClusterHandle);
582  if (!siStripClusterHandle.isValid()){
583  edm::LogError("SiStripMonitorTrack")<< "ClusterCollection is not valid!!" << std::endl;
584  return;
585  }
586  //Loop on Dets
587  for ( edmNew::DetSetVector<SiStripCluster>::const_iterator DSViter=siStripClusterHandle->begin(); DSViter!=siStripClusterHandle->end();DSViter++){
588  uint32_t detid=DSViter->id();
589  if (find(ModulesToBeExcluded_.begin(),ModulesToBeExcluded_.end(),detid)!=ModulesToBeExcluded_.end()) continue;
590  //Loop on Clusters
591  LogDebug("SiStripMonitorTrack") << "on detid "<< detid << " N Cluster= " << DSViter->size();
593  for(; ClusIter!=DSViter->end(); ClusIter++) {
595  SiStripClusterInfo SiStripClusterInfo_(*ClusIter,es,detid);
596  clusterInfos(&SiStripClusterInfo_,detid,tTopo,OffTrack,LV);
597  }
598  }
599  }
600 }
#define LogDebug(id)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
data_type const * const_iterator
Definition: DetSetNew.h:25
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
edmNew::DetSet< SiStripCluster >::const_iterator ClusIter
math::XYZTLorentzVectorD LV
std::vector< const SiStripCluster * > vPSiStripCluster
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
bool clusterInfos(SiStripClusterInfo *cluster, const uint32_t &detid, const TrackerTopology *tTopo, enum ClusterFlags flags, LocalVector LV)
iterator end()
Definition: DetSetNew.h:59
std::vector< uint32_t > ModulesToBeExcluded_
void SiStripMonitorTrack::analyze ( const edm::Event e,
const edm::EventSetup es 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 89 of file SiStripMonitorTrack.cc.

References GenericTriggerEventFlag::accept(), AllClusters(), dcsStatus_, edm::EventID::event(), eventNb, fillME(), genTriggerEventFlag_, SiStripDCSStatus::getStatus(), edm::EventBase::id(), iOrbitSec, LogDebug, SiStripMonitorTrack::SubDetMEs::nClustersOffTrack, SiStripMonitorTrack::SubDetMEs::nClustersOnTrack, SiStripMonitorTrack::SubDetMEs::nClustersTrendOffTrack, SiStripMonitorTrack::SubDetMEs::nClustersTrendOnTrack, GenericTriggerEventFlag::on(), edm::EventBase::orbitNumber(), edm::EventID::run(), runNb, SubDetMEsMap, SiStripMonitorTrack::SubDetMEs::totNClustersOffTrack, SiStripMonitorTrack::SubDetMEs::totNClustersOnTrack, trackStudy(), Trend_On_, and vPSiStripCluster.

90 {
91  // Filter out events if DCS checking is requested
92  if (dcsStatus_ && !dcsStatus_->getStatus(e,es)) return;
93 
94  // Filter out events if Trigger Filtering is requested
95  if (genTriggerEventFlag_->on()&& ! genTriggerEventFlag_->accept( e, es) ) return;
96 
97  //initialization of global quantities
98  LogDebug("SiStripMonitorTrack") << "[SiStripMonitorTrack::analyse] " << "Run " << e.id().run() << " Event " << e.id().event() << std::endl;
99  runNb = e.id().run();
100  eventNb = e.id().event();
101  vPSiStripCluster.clear();
102 
103  iOrbitSec = e.orbitNumber()/11223.0;
104 
105  // initialise # of clusters
106  for (std::map<std::string, SubDetMEs>::iterator iSubDet = SubDetMEsMap.begin();
107  iSubDet != SubDetMEsMap.end(); iSubDet++) {
108  iSubDet->second.totNClustersOnTrack = 0;
109  iSubDet->second.totNClustersOffTrack = 0;
110  }
111 
112  //Perform track study
113  trackStudy(e, es);
114 
115  //Perform Cluster Study (irrespectively to tracks)
116 
117  AllClusters(e, es); //analyzes the off Track Clusters
118 
119  //Summary Counts of clusters
120  std::map<std::string, MonitorElement*>::iterator iME;
121  std::map<std::string, LayerMEs>::iterator iLayerME;
122 
123  for (std::map<std::string, SubDetMEs>::iterator iSubDet = SubDetMEsMap.begin();
124  iSubDet != SubDetMEsMap.end(); iSubDet++) {
125  SubDetMEs subdet_mes = iSubDet->second;
126  if (subdet_mes.totNClustersOnTrack > 0) {
127  fillME(subdet_mes.nClustersOnTrack, subdet_mes.totNClustersOnTrack);
128  }
129  fillME(subdet_mes.nClustersOffTrack, subdet_mes.totNClustersOffTrack);
130  if (Trend_On_) {
131  fillME(subdet_mes.nClustersTrendOnTrack,iOrbitSec,subdet_mes.totNClustersOnTrack);
132  fillME(subdet_mes.nClustersTrendOffTrack,iOrbitSec,subdet_mes.totNClustersOffTrack);
133  }
134  }
135 }
#define LogDebug(id)
RunNumber_t run() const
Definition: EventID.h:42
EventNumber_t event() const
Definition: EventID.h:44
void trackStudy(const edm::Event &ev, const edm::EventSetup &es)
void fillME(MonitorElement *ME, float value1)
SiStripDCSStatus * dcsStatus_
void AllClusters(const edm::Event &ev, const edm::EventSetup &es)
bool getStatus(edm::Event const &e, edm::EventSetup const &eSetup)
std::map< std::string, SubDetMEs > SubDetMEsMap
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
std::vector< const SiStripCluster * > vPSiStripCluster
int orbitNumber() const
Definition: EventBase.h:63
GenericTriggerEventFlag * genTriggerEventFlag_
edm::EventID id() const
Definition: EventBase.h:56
void SiStripMonitorTrack::beginRun ( const edm::Run run,
const edm::EventSetup c 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 61 of file SiStripMonitorTrack.cc.

References book(), genTriggerEventFlag_, edm::EventSetup::get(), GenericTriggerEventFlag::initRun(), LogDebug, GenericTriggerEventFlag::on(), edm::ESHandle< class >::product(), SiStripDetCabling_, and tkgeom.

62 {
63  //Retrieve tracker topology from geometry
65  es.get<IdealGeometryRecord>().get(tTopoHandle);
66  const TrackerTopology* const tTopo = tTopoHandle.product();
67 
68  //get geom
69  es.get<TrackerDigiGeometryRecord>().get( tkgeom );
70  LogDebug("SiStripMonitorTrack") << "[SiStripMonitorTrack::beginRun] There are "<<tkgeom->detUnits().size() <<" detectors instantiated in the geometry" << std::endl;
72 
73  book(tTopo);
74 
75  // Initialize the GenericTriggerEventFlag
77 }
#define LogDebug(id)
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
edm::ESHandle< TrackerGeometry > tkgeom
void book(const TrackerTopology *tTopo)
T const * product() const
Definition: ESHandle.h:62
GenericTriggerEventFlag * genTriggerEventFlag_
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
void SiStripMonitorTrack::book ( const TrackerTopology tTopo)
private

Definition at line 138 of file SiStripMonitorTrack.cc.

References bookLayerMEs(), bookModMEs(), bookSubDetMEs(), dbe, cond::rpcobgas::detid, flag_ring, SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), LayerMEsMap, Mod_On_, mergeVDriftHistosByStation::name, DQMStore::setCurrentFolder(), SiStripFolderOrganizer::setDetectorFolder(), SiStripFolderOrganizer::setLayerFolder(), SiStripDetCabling_, AlCaHLTBitMon_QueryRunRegistry::string, SubDetMEsMap, tkhisto_NumOffTrack, tkhisto_NumOnTrack, tkhisto_StoNCorrOnTrack, and TkHistoMap_On_.

Referenced by beginRun().

139 {
140 
141  SiStripFolderOrganizer folder_organizer;
142  //******** TkHistoMaps
143  if (TkHistoMap_On_) {
144  tkhisto_StoNCorrOnTrack = new TkHistoMap("SiStrip/TkHisto" ,"TkHMap_StoNCorrOnTrack",0.0,1);
145  tkhisto_NumOnTrack = new TkHistoMap("SiStrip/TkHisto", "TkHMap_NumberOfOnTrackCluster",0.0,1);
146  tkhisto_NumOffTrack = new TkHistoMap("SiStrip/TkHisto", "TkHMap_NumberOfOfffTrackCluster",0.0,1);
147  }
148  //******** TkHistoMaps
149 
150  std::vector<uint32_t> vdetId_;
151  SiStripDetCabling_->addActiveDetectorsRawIds(vdetId_);
152  //Histos for each detector, layer and module
153  for (std::vector<uint32_t>::const_iterator detid_iter=vdetId_.begin();detid_iter!=vdetId_.end();detid_iter++){ //loop on all the active detid
154  uint32_t detid = *detid_iter;
155 
156  if (detid < 1){
157  edm::LogError("SiStripMonitorTrack")<< "[" <<__PRETTY_FUNCTION__ << "] invalid detid " << detid<< std::endl;
158  continue;
159  }
160 
161 
162  std::string name;
163 
164  // book Layer and RING plots
165  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid,tTopo,flag_ring);
166 
167  SiStripHistoId hidmanager;
168  std::string layer_id = hidmanager.getSubdetid(detid, tTopo, flag_ring);
169  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(layer_id);
170  if(iLayerME==LayerMEsMap.end()){
171  folder_organizer.setLayerFolder(detid, tTopo, det_layer_pair.second, flag_ring);
172  bookLayerMEs(detid, layer_id);
173  }
174  // book sub-detector plots
175  std::pair<std::string,std::string> sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo);
176  if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()){
177  dbe->setCurrentFolder(sdet_pair.first);
178  bookSubDetMEs(sdet_pair.second);
179  }
180  // book module plots
181  if(Mod_On_) {
182  folder_organizer.setDetectorFolder(detid,tTopo);
183  bookModMEs(*detid_iter);
184  }
185  }//end loop on detectors detid
186 }
TkHistoMap * tkhisto_NumOffTrack
void bookLayerMEs(const uint32_t &, std::string &)
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=0)
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
void bookSubDetMEs(std::string &name)
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
std::map< std::string, SubDetMEs > SubDetMEsMap
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=0)
std::pair< std::string, std::string > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
TkHistoMap * tkhisto_NumOnTrack
TkHistoMap * tkhisto_StoNCorrOnTrack
void bookModMEs(const uint32_t &)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
std::map< std::string, LayerMEs > LayerMEsMap
void SiStripMonitorTrack::bookLayerMEs ( const uint32_t &  mod_id,
std::string &  layer_id 
)
private

Definition at line 230 of file SiStripMonitorTrack.cc.

References DQMStore::book1D(), bookME1D(), SiStripMonitorTrack::LayerMEs::ClusterChargeCorrOnTrack, SiStripMonitorTrack::LayerMEs::ClusterChargeOffTrack, SiStripMonitorTrack::LayerMEs::ClusterChargeOnTrack, SiStripMonitorTrack::LayerMEs::ClusterNoiseOffTrack, SiStripMonitorTrack::LayerMEs::ClusterNoiseOnTrack, SiStripMonitorTrack::LayerMEs::ClusterPosOffTrack, SiStripMonitorTrack::LayerMEs::ClusterPosOnTrack, SiStripMonitorTrack::LayerMEs::ClusterStoNCorrOnTrack, SiStripMonitorTrack::LayerMEs::ClusterWidthOffTrack, SiStripMonitorTrack::LayerMEs::ClusterWidthOnTrack, SiStripHistoId::createHistoLayer(), dbe, flag_ring, LayerMEsMap, mergeVDriftHistosByStation::name, SiStripDetCabling_, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by book().

231 {
232  std::string name = "layer";
233  std::string hname;
234  SiStripHistoId hidmanager;
235 
236  LayerMEs theLayerMEs;
237  theLayerMEs.ClusterStoNCorrOnTrack = 0;
238  theLayerMEs.ClusterChargeCorrOnTrack = 0;
239  theLayerMEs.ClusterChargeOnTrack = 0;
240  theLayerMEs.ClusterChargeOffTrack = 0;
241  theLayerMEs.ClusterNoiseOnTrack = 0;
242  theLayerMEs.ClusterNoiseOffTrack = 0;
243  theLayerMEs.ClusterWidthOnTrack = 0;
244  theLayerMEs.ClusterWidthOffTrack = 0;
245  theLayerMEs.ClusterPosOnTrack = 0;
246  theLayerMEs.ClusterPosOffTrack = 0;
247 
248  // Cluster StoN Corrected
249  hname = hidmanager.createHistoLayer("Summary_ClusterStoNCorr",name,layer_id,"OnTrack");
250  theLayerMEs.ClusterStoNCorrOnTrack = bookME1D("TH1ClusterStoNCorr", hname.c_str());
251 
252  // Cluster Charge Corrected
253  hname = hidmanager.createHistoLayer("Summary_ClusterChargeCorr",name,layer_id,"OnTrack");
254  theLayerMEs.ClusterChargeCorrOnTrack = bookME1D("TH1ClusterChargeCorr", hname.c_str());
255 
256  // Cluster Charge (On and Off Track)
257  hname = hidmanager.createHistoLayer("Summary_ClusterCharge",name,layer_id,"OnTrack");
258  theLayerMEs.ClusterChargeOnTrack = bookME1D("TH1ClusterCharge", hname.c_str());
259 
260  hname = hidmanager.createHistoLayer("Summary_ClusterCharge",name,layer_id,"OffTrack");
261  theLayerMEs.ClusterChargeOffTrack = bookME1D("TH1ClusterCharge", hname.c_str());
262 
263  // Cluster Noise (On and Off Track)
264  hname = hidmanager.createHistoLayer("Summary_ClusterNoise",name,layer_id,"OnTrack");
265  theLayerMEs.ClusterNoiseOnTrack = bookME1D("TH1ClusterNoise", hname.c_str());
266 
267  hname = hidmanager.createHistoLayer("Summary_ClusterNoise",name,layer_id,"OffTrack");
268  theLayerMEs.ClusterNoiseOffTrack = bookME1D("TH1ClusterNoise", hname.c_str());
269 
270  // Cluster Width (On and Off Track)
271  hname = hidmanager.createHistoLayer("Summary_ClusterWidth",name,layer_id,"OnTrack");
272  theLayerMEs.ClusterWidthOnTrack = bookME1D("TH1ClusterWidth", hname.c_str());
273 
274  hname = hidmanager.createHistoLayer("Summary_ClusterWidth",name,layer_id,"OffTrack");
275  theLayerMEs.ClusterWidthOffTrack = bookME1D("TH1ClusterWidth", hname.c_str());
276 
277  //Cluster Position
278  short total_nr_strips = SiStripDetCabling_->nApvPairs(mod_id) * 2 * 128;
279  if (layer_id.find("TEC") != std::string::npos && !flag_ring) total_nr_strips = 3 * 2 * 128;
280 
281  hname = hidmanager.createHistoLayer("Summary_ClusterPosition",name,layer_id,"OnTrack");
282  theLayerMEs.ClusterPosOnTrack = dbe->book1D(hname, hname, total_nr_strips, 0.5,total_nr_strips+0.5);
283 
284  hname = hidmanager.createHistoLayer("Summary_ClusterPosition",name,layer_id,"OffTrack");
285  theLayerMEs.ClusterPosOffTrack = dbe->book1D(hname, hname, total_nr_strips, 0.5,total_nr_strips+0.5);
286 
287  //bookeeping
288  LayerMEsMap[layer_id]=theLayerMEs;
289 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
MonitorElement * bookME1D(const char *, const char *)
std::map< std::string, LayerMEs > LayerMEsMap
MonitorElement * SiStripMonitorTrack::bookME1D ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 344 of file SiStripMonitorTrack.cc.

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

Referenced by bookLayerMEs(), bookModMEs(), and bookSubDetMEs().

345 {
346  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
347  return dbe->book1D(HistoName,HistoName,
348  Parameters.getParameter<int32_t>("Nbinx"),
349  Parameters.getParameter<double>("xmin"),
350  Parameters.getParameter<double>("xmax")
351  );
352 }
T getParameter(std::string const &) const
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
edm::ParameterSet conf_
vector< ParameterSet > Parameters
std::string HistoName
MonitorElement * SiStripMonitorTrack::bookME2D ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 355 of file SiStripMonitorTrack.cc.

References DQMStore::book2D(), conf_, dbe, and edm::ParameterSet::getParameter().

356 {
357  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
358  return dbe->book2D(HistoName,HistoName,
359  Parameters.getParameter<int32_t>("Nbinx"),
360  Parameters.getParameter<double>("xmin"),
361  Parameters.getParameter<double>("xmax"),
362  Parameters.getParameter<int32_t>("Nbiny"),
363  Parameters.getParameter<double>("ymin"),
364  Parameters.getParameter<double>("ymax")
365  );
366 }
T getParameter(std::string const &) const
edm::ParameterSet conf_
vector< ParameterSet > Parameters
std::string HistoName
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:850
MonitorElement * SiStripMonitorTrack::bookME3D ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 369 of file SiStripMonitorTrack.cc.

References DQMStore::book3D(), conf_, dbe, and edm::ParameterSet::getParameter().

370 {
371  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
372  return dbe->book3D(HistoName,HistoName,
373  Parameters.getParameter<int32_t>("Nbinx"),
374  Parameters.getParameter<double>("xmin"),
375  Parameters.getParameter<double>("xmax"),
376  Parameters.getParameter<int32_t>("Nbiny"),
377  Parameters.getParameter<double>("ymin"),
378  Parameters.getParameter<double>("ymax"),
379  Parameters.getParameter<int32_t>("Nbinz"),
380  Parameters.getParameter<double>("zmin"),
381  Parameters.getParameter<double>("zmax")
382  );
383 }
T getParameter(std::string const &) const
MonitorElement * book3D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ)
Book 3D histogram.
Definition: DQMStore.cc:984
edm::ParameterSet conf_
vector< ParameterSet > Parameters
std::string HistoName
MonitorElement * SiStripMonitorTrack::bookMEProfile ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 386 of file SiStripMonitorTrack.cc.

References DQMStore::bookProfile(), conf_, dbe, and edm::ParameterSet::getParameter().

Referenced by bookModMEs().

387 {
388  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
390  Parameters.getParameter<int32_t>("Nbinx"),
391  Parameters.getParameter<double>("xmin"),
392  Parameters.getParameter<double>("xmax"),
393  Parameters.getParameter<int32_t>("Nbiny"),
394  Parameters.getParameter<double>("ymin"),
395  Parameters.getParameter<double>("ymax"),
396  "" );
397 }
T getParameter(std::string const &) const
edm::ParameterSet conf_
vector< ParameterSet > Parameters
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1036
std::string HistoName
MonitorElement * SiStripMonitorTrack::bookMETrend ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 400 of file SiStripMonitorTrack.cc.

References DQMStore::bookProfile(), conf_, dbe, MonitorElement::DQM_KIND_TPROFILE, edm::ParameterSet::getParameter(), and MonitorElement::getTH1().

Referenced by bookSubDetMEs().

401 {
402  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
403  edm::ParameterSet ParametersTrend = conf_.getParameter<edm::ParameterSet>("Trending");
405  ParametersTrend.getParameter<int32_t>("Nbins"),
406  0,
407  ParametersTrend.getParameter<int32_t>("Nbins"),
408  100, //that parameter should not be there !?
409  Parameters.getParameter<double>("xmin"),
410  Parameters.getParameter<double>("xmax"),
411  "" );
412  if (me->kind() == MonitorElement::DQM_KIND_TPROFILE) me->getTH1()->SetBit(TH1::kCanRebin);
413 
414  if(!me) return me;
415  me->setAxisTitle("Event Time in Seconds",1);
416  return me;
417 }
T getParameter(std::string const &) const
edm::ParameterSet conf_
vector< ParameterSet > Parameters
TH1 * getTH1(void) const
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1036
std::string HistoName
void SiStripMonitorTrack::bookModMEs ( const uint32_t &  id)
private

Definition at line 189 of file SiStripMonitorTrack.cc.

References DQMStore::book1D(), bookME1D(), bookMEProfile(), SiStripMonitorTrack::ModMEs::ClusterCharge, SiStripMonitorTrack::ModMEs::ClusterChargeCorr, SiStripMonitorTrack::ModMEs::ClusterPGV, SiStripMonitorTrack::ModMEs::ClusterPos, SiStripMonitorTrack::ModMEs::ClusterStoNCorr, SiStripMonitorTrack::ModMEs::ClusterWidth, SiStripHistoId::createHistoId(), dbe, ModMEsMap, mergeVDriftHistosByStation::name, SiStripDetCabling_, AlCaHLTBitMon_QueryRunRegistry::string, and DQMStore::tag().

Referenced by book().

190 {
191  std::string name = "det";
192  SiStripHistoId hidmanager;
193  std::string hid = hidmanager.createHistoId("",name,id);
194  std::map<std::string, ModMEs>::iterator iModME = ModMEsMap.find(hid);
195  if(iModME==ModMEsMap.end()){
196  ModMEs theModMEs;
197  theModMEs.ClusterStoNCorr = 0;
198  theModMEs.ClusterCharge = 0;
199  theModMEs.ClusterChargeCorr = 0;
200  theModMEs.ClusterWidth = 0;
201  theModMEs.ClusterPos = 0;
202  theModMEs.ClusterPGV = 0;
203 
204  // Cluster Width
205  theModMEs.ClusterWidth=bookME1D("TH1ClusterWidth", hidmanager.createHistoId("ClusterWidth_OnTrack",name,id).c_str());
206  dbe->tag(theModMEs.ClusterWidth,id);
207  // Cluster Charge
208  theModMEs.ClusterCharge=bookME1D("TH1ClusterCharge", hidmanager.createHistoId("ClusterCharge_OnTrack",name,id).c_str());
209  dbe->tag(theModMEs.ClusterCharge,id);
210  // Cluster Charge Corrected
211  theModMEs.ClusterChargeCorr=bookME1D("TH1ClusterChargeCorr", hidmanager.createHistoId("ClusterChargeCorr_OnTrack",name,id).c_str());
212  dbe->tag(theModMEs.ClusterChargeCorr,id);
213  // Cluster StoN Corrected
214  theModMEs.ClusterStoNCorr=bookME1D("TH1ClusterStoNCorrMod", hidmanager.createHistoId("ClusterStoNCorr_OnTrack",name,id).c_str());
215  dbe->tag(theModMEs.ClusterStoNCorr,id);
216  // Cluster Position
217  short total_nr_strips = SiStripDetCabling_->nApvPairs(id) * 2 * 128;
218  theModMEs.ClusterPos=dbe->book1D(hidmanager.createHistoId("ClusterPosition_OnTrack",name,id).c_str(),hidmanager.createHistoId("ClusterPosition_OnTrack",name,id).c_str(),total_nr_strips,0.5,total_nr_strips+0.5);
219  dbe->tag(theModMEs.ClusterPos,id);
220  // Cluster PGV
221  theModMEs.ClusterPGV=bookMEProfile("TProfileClusterPGV", hidmanager.createHistoId("PGV_OnTrack",name,id).c_str());
222  dbe->tag(theModMEs.ClusterPGV,id);
223 
224  ModMEsMap[hid]=theModMEs;
225  }
226 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1359
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
std::map< std::string, ModMEs > ModMEsMap
MonitorElement * bookMEProfile(const char *, const char *)
MonitorElement * bookME1D(const char *, const char *)
void SiStripMonitorTrack::bookSubDetMEs ( std::string &  name)
private

Definition at line 293 of file SiStripMonitorTrack.cc.

References bookME1D(), bookMETrend(), SiStripMonitorTrack::SubDetMEs::ClusterChargeOffTrack, SiStripMonitorTrack::SubDetMEs::ClusterStoNCorrOnTrack, SiStripMonitorTrack::SubDetMEs::ClusterStoNOffTrack, MonitorElement::getTH1(), mergeVDriftHistosByStation::name, SiStripMonitorTrack::SubDetMEs::nClustersOffTrack, SiStripMonitorTrack::SubDetMEs::nClustersOnTrack, SiStripMonitorTrack::SubDetMEs::nClustersTrendOffTrack, SiStripMonitorTrack::SubDetMEs::nClustersTrendOnTrack, AlCaHLTBitMon_QueryRunRegistry::string, xuti::subdet_tag(), SubDetMEsMap, SiStripMonitorTrack::SubDetMEs::totNClustersOffTrack, SiStripMonitorTrack::SubDetMEs::totNClustersOnTrack, and Trend_On_.

Referenced by book().

293  {
294 
296  subdet_tag = "__" + name;
297  std::string completeName;
298 
299  SubDetMEs theSubDetMEs;
300  theSubDetMEs.totNClustersOnTrack = 0;
301  theSubDetMEs.totNClustersOffTrack = 0;
302  theSubDetMEs.nClustersOnTrack = 0;
303  theSubDetMEs.nClustersTrendOnTrack = 0;
304  theSubDetMEs.nClustersOffTrack = 0;
305  theSubDetMEs.nClustersTrendOffTrack = 0;
306  theSubDetMEs.ClusterStoNCorrOnTrack = 0;
307  theSubDetMEs.ClusterChargeOffTrack = 0;
308  theSubDetMEs.ClusterStoNOffTrack = 0;
309 
310  // TotalNumber of Cluster OnTrack
311  completeName = "Summary_TotalNumberOfClusters_OnTrack" + subdet_tag;
312  theSubDetMEs.nClustersOnTrack = bookME1D("TH1nClustersOn", completeName.c_str());
313  theSubDetMEs.nClustersOnTrack->getTH1()->StatOverflows(kTRUE);
314 
315  // TotalNumber of Cluster OffTrack
316  completeName = "Summary_TotalNumberOfClusters_OffTrack" + subdet_tag;
317  theSubDetMEs.nClustersOffTrack = bookME1D("TH1nClustersOff", completeName.c_str());
318  theSubDetMEs.nClustersOffTrack->getTH1()->StatOverflows(kTRUE);
319 
320  // Cluster StoN On Track
321  completeName = "Summary_ClusterStoNCorr_OnTrack" + subdet_tag;
322  theSubDetMEs.ClusterStoNCorrOnTrack = bookME1D("TH1ClusterStoNCorr", completeName.c_str());
323 
324  // Cluster Charge Off Track
325  completeName = "Summary_ClusterCharge_OffTrack" + subdet_tag;
326  theSubDetMEs.ClusterChargeOffTrack=bookME1D("TH1ClusterCharge", completeName.c_str());
327 
328  // Cluster Charge StoN Off Track
329  completeName = "Summary_ClusterStoN_OffTrack" + subdet_tag;
330  theSubDetMEs.ClusterStoNOffTrack = bookME1D("TH1ClusterStoN", completeName.c_str());
331 
332  if(Trend_On_){
333  // TotalNumber of Cluster
334  completeName = "Trend_TotalNumberOfClusters_OnTrack" + subdet_tag;
335  theSubDetMEs.nClustersTrendOnTrack = bookMETrend("TH1nClustersOn", completeName.c_str());
336  completeName = "Trend_TotalNumberOfClusters_OffTrack" + subdet_tag;
337  theSubDetMEs.nClustersTrendOffTrack = bookMETrend("TH1nClustersOff", completeName.c_str());
338  }
339  //bookeeping
340  SubDetMEsMap[name]=theSubDetMEs;
341 }
std::map< std::string, SubDetMEs > SubDetMEsMap
const std::string subdet_tag("SubDet")
TH1 * getTH1(void) const
MonitorElement * bookMETrend(const char *, const char *)
MonitorElement * bookME1D(const char *, const char *)
bool SiStripMonitorTrack::clusterInfos ( SiStripClusterInfo cluster,
const uint32_t &  detid,
const TrackerTopology tTopo,
enum ClusterFlags  flags,
LocalVector  LV 
)
private

Definition at line 603 of file SiStripMonitorTrack.cc.

References TkHistoMap::add(), applyClusterQuality_, SiStripClusterInfo::charge(), SiStripHistoId::createHistoId(), SiStripClusterInfo::detId(), eventNb, TkHistoMap::fill(), fillMEs(), fillModMEs(), folderOrganizer_, SiStripFolderOrganizer::getSubDetFolderAndTag(), LogDebug, PV3DBase< T, PVType, FrameType >::mag(), Mod_On_, mergeVDriftHistosByStation::name, SiStripClusterInfo::noiseRescaledByGain(), OffTrack, OnTrack, SiStripClusterInfo::signalOverNoise(), sToNLowerLimit_, sToNUpperLimit_, AlCaHLTBitMon_QueryRunRegistry::string, SubDetMEsMap, tkhisto_NumOffTrack, tkhisto_NumOnTrack, tkhisto_StoNCorrOnTrack, TkHistoMap_On_, SiStripClusterInfo::width(), widthLowerLimit_, widthUpperLimit_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by AllClusters(), and RecHitInfo().

604 {
605  if (cluster==0) return false;
606  // if one imposes a cut on the clusters, apply it
607  if( (applyClusterQuality_) &&
608  (cluster->signalOverNoise() < sToNLowerLimit_ ||
609  cluster->signalOverNoise() > sToNUpperLimit_ ||
610  cluster->width() < widthLowerLimit_ ||
611  cluster->width() > widthUpperLimit_) ) return false;
612  // start of the analysis
613 
614  std::pair<std::string,std::string> sdet_pair = folderOrganizer_.getSubDetFolderAndTag(detid,tTopo);
615  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(sdet_pair.second);
616  if(iSubdet != SubDetMEsMap.end()){
617  if (flag == OnTrack) iSubdet->second.totNClustersOnTrack++;
618  else if (flag == OffTrack) iSubdet->second.totNClustersOffTrack++;
619  }
620 
621  float cosRZ = -2;
622  LogDebug("SiStripMonitorTrack")<< "\n\tLV " << LV.x() << " " << LV.y() << " " << LV.z() << " " << LV.mag() << std::endl;
623  if (LV.mag()!=0){
624  cosRZ= fabs(LV.z())/LV.mag();
625  LogDebug("SiStripMonitorTrack")<< "\n\t cosRZ " << cosRZ << std::endl;
626  }
628 
629  // Filling SubDet/Layer Plots (on Track + off Track)
630  fillMEs(cluster,detid,tTopo,cosRZ,flag);
631 
632 
633  //******** TkHistoMaps
634  if (TkHistoMap_On_) {
635  uint32_t adet=cluster->detId();
636  float noise = cluster->noiseRescaledByGain();
637  if(flag==OnTrack){
638  tkhisto_NumOnTrack->add(adet,1.);
639  if(noise > 0.0) tkhisto_StoNCorrOnTrack->fill(adet,cluster->signalOverNoise()*cosRZ);
640  if(noise == 0.0)
641  LogDebug("SiStripMonitorTrack") << "Module " << detid << " in Event " << eventNb << " noise " << noise << std::endl;
642  }
643  else if(flag==OffTrack){
644  tkhisto_NumOffTrack->add(adet,1.);
645  if(cluster->charge() > 250){
646  LogDebug("SiStripMonitorTrack") << "Module firing " << detid << " in Event " << eventNb << std::endl;
647  }
648  }
649  }
650 
651  // Module plots filled only for onTrack Clusters
652  if(Mod_On_){
653  if(flag==OnTrack){
654  SiStripHistoId hidmanager2;
655  name =hidmanager2.createHistoId("","det",detid);
656  fillModMEs(cluster,name,cosRZ);
657  }
658  }
659  return true;
660 }
#define LogDebug(id)
TkHistoMap * tkhisto_NumOffTrack
long int flag
Definition: mlp_lapack.h:47
float noiseRescaledByGain() const
T y() const
Definition: PV3DBase.h:63
float signalOverNoise() const
void fillMEs(SiStripClusterInfo *, uint32_t detid, const TrackerTopology *tTopo, float, enum ClusterFlags)
T mag() const
Definition: PV3DBase.h:67
uint16_t charge() const
std::map< std::string, SubDetMEs > SubDetMEsMap
void fillModMEs(SiStripClusterInfo *, std::string, float)
void fill(uint32_t &detid, float value)
Definition: TkHistoMap.cc:130
T z() const
Definition: PV3DBase.h:64
uint16_t width() const
SiStripFolderOrganizer folderOrganizer_
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
std::pair< std::string, std::string > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
TkHistoMap * tkhisto_NumOnTrack
uint32_t detId() const
TkHistoMap * tkhisto_StoNCorrOnTrack
T x() const
Definition: PV3DBase.h:62
void add(uint32_t &detid, float value)
Definition: TkHistoMap.cc:163
void SiStripMonitorTrack::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 80 of file SiStripMonitorTrack.cc.

References conf_, dbe, edm::ParameterSet::getParameter(), DQMStore::save(), DQMStore::showDirStructure(), and AlCaHLTBitMon_QueryRunRegistry::string.

81 {
82  if(conf_.getParameter<bool>("OutputMEsInRootFile")){
84  dbe->save(conf_.getParameter<std::string>("OutputFileName"));
85  }
86 }
T getParameter(std::string const &) const
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2118
edm::ParameterSet conf_
void showDirStructure(void) const
Definition: DQMStore.cc:2766
void SiStripMonitorTrack::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 91 of file SiStripMonitorTrack.h.

References MonitorElement::Fill().

Referenced by analyze(), fillMEs(), and fillModMEs().

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

Definition at line 92 of file SiStripMonitorTrack.h.

References MonitorElement::Fill().

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

Definition at line 93 of file SiStripMonitorTrack.h.

References MonitorElement::Fill().

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

Definition at line 94 of file SiStripMonitorTrack.h.

References MonitorElement::Fill().

94 {if (ME!=0)ME->Fill(value1,value2,value3,value4);}
void Fill(long long x)
void SiStripMonitorTrack::fillMEs ( SiStripClusterInfo cluster,
uint32_t  detid,
const TrackerTopology tTopo,
float  cos,
enum ClusterFlags  flag 
)
private

Definition at line 698 of file SiStripMonitorTrack.cc.

References SiStripClusterInfo::baryStrip(), DeDxDiscriminatorTools::charge(), SiStripClusterInfo::charge(), eventNb, fillME(), flag_ring, folderOrganizer_, SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), LayerMEsMap, LogDebug, SiStripClusterInfo::noiseRescaledByGain(), OnTrack, position, SiStripClusterInfo::signalOverNoise(), AlCaHLTBitMon_QueryRunRegistry::string, SubDetMEsMap, SiStripClusterInfo::width(), and create_public_lumi_plots::width.

Referenced by clusterInfos().

699 {
700  std::pair<std::string,int32_t> SubDetAndLayer = folderOrganizer_.GetSubDetAndLayer(detid,tTopo,flag_ring);
701  SiStripHistoId hidmanager1;
702  std::string layer_id = hidmanager1.getSubdetid(detid,tTopo,flag_ring);
703 
704  std::pair<std::string,std::string> sdet_pair = folderOrganizer_.getSubDetFolderAndTag(detid,tTopo);
705  float StoN = cluster->signalOverNoise();
706  float noise = cluster->noiseRescaledByGain();
707  uint16_t charge = cluster->charge();
708  uint16_t width = cluster->width();
709  float position = cluster->baryStrip();
710 
711  std::map<std::string, LayerMEs>::iterator iLayer = LayerMEsMap.find(layer_id);
712  if (iLayer != LayerMEsMap.end()) {
713  if(flag==OnTrack){
714  if(noise > 0.0) fillME(iLayer->second.ClusterStoNCorrOnTrack, StoN*cos);
715  if(noise == 0.0) LogDebug("SiStripMonitorTrack") << "Module " << detid << " in Event " << eventNb << " noise " << cluster->noiseRescaledByGain() << std::endl;
716  fillME(iLayer->second.ClusterChargeCorrOnTrack, charge*cos);
717  fillME(iLayer->second.ClusterChargeOnTrack, charge);
718  fillME(iLayer->second.ClusterNoiseOnTrack, noise);
719  fillME(iLayer->second.ClusterWidthOnTrack, width);
720  fillME(iLayer->second.ClusterPosOnTrack, position);
721  } else {
722  fillME(iLayer->second.ClusterChargeOffTrack, charge);
723  fillME(iLayer->second.ClusterNoiseOffTrack, noise);
724  fillME(iLayer->second.ClusterWidthOffTrack, width);
725  fillME(iLayer->second.ClusterPosOffTrack, position);
726  }
727  }
728  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(sdet_pair.second);
729  if(iSubdet != SubDetMEsMap.end() ){
730  if(flag==OnTrack){
731  if(noise > 0.0) fillME(iSubdet->second.ClusterStoNCorrOnTrack,StoN*cos);
732  } else {
733  fillME(iSubdet->second.ClusterChargeOffTrack,charge);
734  if(noise > 0.0) fillME(iSubdet->second.ClusterStoNOffTrack,StoN);
735  }
736  }
737 }
#define LogDebug(id)
long int flag
Definition: mlp_lapack.h:47
void fillME(MonitorElement *ME, float value1)
float noiseRescaledByGain() const
float baryStrip() const
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=0)
double charge(const std::vector< uint8_t > &Ampls)
static int position[TOTALCHAMBERS][3]
Definition: ReadPGInfo.cc:509
float signalOverNoise() const
uint16_t charge() const
std::map< std::string, SubDetMEs > SubDetMEsMap
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
uint16_t width() const
SiStripFolderOrganizer folderOrganizer_
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
std::pair< std::string, std::string > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
std::map< std::string, LayerMEs > LayerMEsMap
void SiStripMonitorTrack::fillModMEs ( SiStripClusterInfo cluster,
std::string  name,
float  cos 
)
private

Definition at line 663 of file SiStripMonitorTrack.cc.

References SiStripClusterInfo::baryStrip(), DeDxDiscriminatorTools::charge(), SiStripClusterInfo::charge(), conf_, eventNb, fillME(), edm::ParameterSet::getParameter(), i, LogDebug, SiStripClusterInfo::maxCharge(), SiStripClusterInfo::maxIndex(), ModMEsMap, SiStripClusterInfo::noiseRescaledByGain(), position, SiStripClusterInfo::signalOverNoise(), SiStripClusterInfo::stripCharges(), SiStripClusterInfo::width(), and create_public_lumi_plots::width.

Referenced by clusterInfos().

664 {
665  std::map<std::string, ModMEs>::iterator iModME = ModMEsMap.find(name);
666  if(iModME!=ModMEsMap.end()){
667 
668  float StoN = cluster->signalOverNoise();
669  uint16_t charge = cluster->charge();
670  uint16_t width = cluster->width();
671  float position = cluster->baryStrip();
672 
673  float noise = cluster->noiseRescaledByGain();
674  if(noise > 0.0) fillME(iModME->second.ClusterStoNCorr ,StoN*cos);
675  if(noise == 0.0) LogDebug("SiStripMonitorTrack") << "Module " << name << " in Event " << eventNb << " noise " << noise << std::endl;
676  fillME(iModME->second.ClusterCharge,charge);
677 
678  fillME(iModME->second.ClusterChargeCorr,charge*cos);
679 
680  fillME(iModME->second.ClusterWidth ,width);
681  fillME(iModME->second.ClusterPos ,position);
682 
683  //fill the PGV histo
684  float PGVmax = cluster->maxCharge();
685  int PGVposCounter = cluster->maxIndex();
686  for (int i= int(conf_.getParameter<edm::ParameterSet>("TProfileClusterPGV").getParameter<double>("xmin"));i<PGVposCounter;++i)
687  fillME(iModME->second.ClusterPGV, i,0.);
688  for (std::vector<uint8_t>::const_iterator it=cluster->stripCharges().begin();it<cluster->stripCharges().end();++it) {
689  fillME(iModME->second.ClusterPGV, PGVposCounter++,(*it)/PGVmax);
690  }
691  for (int i= PGVposCounter;i<int(conf_.getParameter<edm::ParameterSet>("TProfileClusterPGV").getParameter<double>("xmax"));++i)
692  fillME(iModME->second.ClusterPGV, i,0.);
693  //end fill the PGV histo
694  }
695 }
#define LogDebug(id)
uint8_t maxCharge() const
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
void fillME(MonitorElement *ME, float value1)
float noiseRescaledByGain() const
float baryStrip() const
edm::ParameterSet conf_
uint16_t maxIndex() const
double charge(const std::vector< uint8_t > &Ampls)
static int position[TOTALCHAMBERS][3]
Definition: ReadPGInfo.cc:509
float signalOverNoise() const
uint16_t charge() const
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
uint16_t width() const
std::map< std::string, ModMEs > ModMEsMap
const std::vector< uint8_t > & stripCharges() const
void SiStripMonitorTrack::getSubDetTag ( std::string &  folder_name,
std::string &  tag 
)
private

Definition at line 741 of file SiStripMonitorTrack.cc.

741  {
742 
743  tag = folder_name.substr(folder_name.find("MechanicalView")+15);
744  if (tag.find("side_") != std::string::npos) {
745  tag.replace(tag.find_last_of("/"),1,"_");
746  }
747 }
template<class T >
void SiStripMonitorTrack::RecHitInfo ( const T tkrecHit,
LocalVector  LV,
reco::TrackRef  track_ref,
const edm::EventSetup es 
)
private

Definition at line 532 of file SiStripMonitorTrack.cc.

References clusterInfos(), cond::rpcobgas::detid, spr::find(), edm::EventSetup::get(), LogTrace, ModulesToBeExcluded_, NULL, OnTrack, edm::ESHandle< class >::product(), tkgeom, vPSiStripCluster, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

532  {
533 
534  if(!tkrecHit->isValid()){
535  LogTrace("SiStripMonitorTrack") <<"\t\t Invalid Hit " << std::endl;
536  return;
537  }
538 
539  const uint32_t& detid = tkrecHit->geographicalId().rawId();
541  LogTrace("SiStripMonitorTrack") << "Modules Excluded" << std::endl;
542  return;
543  }
544 
545  LogTrace("SiStripMonitorTrack")
546  <<"\n\t\tRecHit on det "<<tkrecHit->geographicalId().rawId()
547  <<"\n\t\tRecHit in LP "<<tkrecHit->localPosition()
548  <<"\n\t\tRecHit in GP "<<tkgeom->idToDet(tkrecHit->geographicalId())->surface().toGlobal(tkrecHit->localPosition())
549  <<"\n\t\tRecHit trackLocal vector "<<LV.x() << " " << LV.y() << " " << LV.z() <<std::endl;
550 
551 
552  //Retrieve tracker topology from geometry
553  edm::ESHandle<TrackerTopology> tTopoHandle;
554  es.get<IdealGeometryRecord>().get(tTopoHandle);
555  const TrackerTopology* const tTopo = tTopoHandle.product();
556 
557  //Get SiStripCluster from SiStripRecHit
558  if ( tkrecHit != NULL ){
559  const SiStripCluster* SiStripCluster_ = &*(tkrecHit->cluster());
560  SiStripClusterInfo SiStripClusterInfo_(*SiStripCluster_,es,detid);
561 
562  if ( clusterInfos(&SiStripClusterInfo_,detid, tTopo, OnTrack, LV ) ) {
563  vPSiStripCluster.push_back(SiStripCluster_);
564  }
565  }else{
566  edm::LogError("SiStripMonitorTrack") << "NULL hit" << std::endl;
567  }
568  }
T y() const
Definition: PV3DBase.h:63
#define NULL
Definition: scimark2.h:8
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
T z() const
Definition: PV3DBase.h:64
std::vector< const SiStripCluster * > vPSiStripCluster
edm::ESHandle< TrackerGeometry > tkgeom
#define LogTrace(id)
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
bool clusterInfos(SiStripClusterInfo *cluster, const uint32_t &detid, const TrackerTopology *tTopo, enum ClusterFlags flags, LocalVector LV)
std::vector< uint32_t > ModulesToBeExcluded_
T x() const
Definition: PV3DBase.h:62
void SiStripMonitorTrack::trackStudy ( const edm::Event ev,
const edm::EventSetup es 
)
private

Definition at line 420 of file SiStripMonitorTrack.cc.

References TrackingRecHit::geographicalId(), edm::Event::getByLabel(), i, edm::HandleBase::isValid(), edm::Ref< C, T, F >::key(), TrajectoryStateOnSurface::localMomentum(), LogDebug, LogTrace, m, PV3DBase< T, PVType, FrameType >::mag(), GluedGeomDet::monoDet(), ProjectedSiStripRecHit2D::originalHit(), alignCSCRings::s, GluedGeomDet::stereoDet(), tkgeom, GeomDet::toGlobal(), GeomDet::toLocal(), TrackLabel_, TrackProducer_, PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by analyze().

420  {
421 
422  // track input
423 
424  edm::Handle<reco::TrackCollection > trackCollectionHandle;
425  ev.getByLabel(TrackProducer_, TrackLabel_, trackCollectionHandle);//takes the track collection
426  if (!trackCollectionHandle.isValid()){
427  edm::LogError("SiStripMonitorTrack")<<" Track Collection is not valid !! " << TrackLabel_<<std::endl;
428  return;
429  }
430 
431  // trajectory input
432  edm::Handle<TrajTrackAssociationCollection> TItkAssociatorCollection;
433  ev.getByLabel(TrackProducer_, TrackLabel_, TItkAssociatorCollection);
434  if( !TItkAssociatorCollection.isValid()){
435  edm::LogError("SiStripMonitorTrack")<<"Association not found "<<std::endl;
436  return;
437  }
438 
439  //Perform track study
440  int i=0;
441  for(TrajTrackAssociationCollection::const_iterator it = TItkAssociatorCollection->begin();it != TItkAssociatorCollection->end(); ++it){
442  const edm::Ref<std::vector<Trajectory> > traj_iterator = it->key;
443  // Trajectory Map, extract Trajectory for this track
444  reco::TrackRef trackref = it->val;
445  LogDebug("SiStripMonitorTrack")
446  << "Track number "<< i+1
447  << "\n\tmomentum: " << trackref->momentum()
448  << "\n\tPT: " << trackref->pt()
449  << "\n\tvertex: " << trackref->vertex()
450  << "\n\timpact parameter: " << trackref->d0()
451  << "\n\tcharge: " << trackref->charge()
452  << "\n\tnormalizedChi2: " << trackref->normalizedChi2()
453  <<"\n\tFrom EXTRA : "
454  <<"\n\t\touter PT "<< trackref->outerPt()<<std::endl;
455  i++;
456 
457  const std::vector<TrajectoryMeasurement> & measurements = traj_iterator->measurements();
458  std::vector<TrajectoryMeasurement>::const_iterator traj_mes_iterator;
459  int nhit=0;
460  for(std::vector<TrajectoryMeasurement>::const_iterator traj_mes_iterator= measurements.begin();traj_mes_iterator!=measurements.end();traj_mes_iterator++){//loop on measurements
461  //trajectory local direction and position on detector
462  LocalPoint stateposition;
463  LocalVector statedirection;
464 
465  TrajectoryStateOnSurface updatedtsos=traj_mes_iterator->updatedState();
466  ConstRecHitPointer ttrh=traj_mes_iterator->recHit();
467  if (!ttrh->isValid()) {continue;}
468 
469  nhit++;
470 
471  const ProjectedSiStripRecHit2D* phit = dynamic_cast<const ProjectedSiStripRecHit2D*>( ttrh->hit() );
472  const SiStripMatchedRecHit2D* matchedhit = dynamic_cast<const SiStripMatchedRecHit2D*>( ttrh->hit() );
473  const SiStripRecHit2D* hit2D = dynamic_cast<const SiStripRecHit2D*>( ttrh->hit() );
474  const SiStripRecHit1D* hit1D = dynamic_cast<const SiStripRecHit1D*>( ttrh->hit() );
475 
476  // RecHitType type=Single;
477 
478  if(matchedhit){
479  LogTrace("SiStripMonitorTrack")<<"\nMatched recHit found"<< std::endl;
480  // type=Matched;
481 
482  GluedGeomDet * gdet=(GluedGeomDet *)tkgeom->idToDet(matchedhit->geographicalId());
483  GlobalVector gtrkdirup=gdet->toGlobal(updatedtsos.localMomentum());
484  //mono side
485  const GeomDetUnit * monodet=gdet->monoDet();
486  statedirection=monodet->toLocal(gtrkdirup);
487  SiStripRecHit2D m = matchedhit->monoHit();
488  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(&m,statedirection,trackref,es);
489  //stereo side
490  const GeomDetUnit * stereodet=gdet->stereoDet();
491  statedirection=stereodet->toLocal(gtrkdirup);
492  SiStripRecHit2D s = matchedhit->stereoHit();
493  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(&s,statedirection,trackref,es);
494  }
495  else if(phit){
496  LogTrace("SiStripMonitorTrack")<<"\nProjected recHit found"<< std::endl;
497  // type=Projected;
498  GluedGeomDet * gdet=(GluedGeomDet *)tkgeom->idToDet(phit->geographicalId());
499 
500  GlobalVector gtrkdirup=gdet->toGlobal(updatedtsos.localMomentum());
501  const SiStripRecHit2D& originalhit=phit->originalHit();
502  const GeomDetUnit * det;
503  if(!StripSubdetector(originalhit.geographicalId().rawId()).stereo()){
504  //mono side
505  LogTrace("SiStripMonitorTrack")<<"\nProjected recHit found MONO"<< std::endl;
506  det=gdet->monoDet();
507  statedirection=det->toLocal(gtrkdirup);
508  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(&(phit->originalHit()),statedirection,trackref,es);
509  }
510  else{
511  LogTrace("SiStripMonitorTrack")<<"\nProjected recHit found STEREO"<< std::endl;
512  //stereo side
513  det=gdet->stereoDet();
514  statedirection=det->toLocal(gtrkdirup);
515  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(&(phit->originalHit()),statedirection,trackref,es);
516  }
517  }else if (hit2D){
518  statedirection=updatedtsos.localMomentum();
519  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(hit2D,statedirection,trackref,es);
520  } else if (hit1D) {
521  statedirection=updatedtsos.localMomentum();
522  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit1D>(hit1D,statedirection,trackref,es);
523  } else {
524  LogDebug ("SiStrioMonitorTrack")
525  << " LocalMomentum: "<<statedirection
526  << "\nLocal x-z plane angle: "<<atan2(statedirection.x(),statedirection.z());
527  }
528  }
529  }
530 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
const GeomDetUnit * monoDet() const
Definition: GluedGeomDet.h:20
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:47
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
Definition: GeomDet.h:62
LocalVector localMomentum() const
T mag() const
Definition: PV3DBase.h:67
T z() const
Definition: PV3DBase.h:64
edm::ESHandle< TrackerGeometry > tkgeom
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
#define LogTrace(id)
key_type key() const
Accessor for product key.
Definition: Ref.h:266
DetId geographicalId() const
T x() const
Definition: PV3DBase.h:62
const SiStripRecHit2D & originalHit() const
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:21

Member Data Documentation

bool SiStripMonitorTrack::applyClusterQuality_
private

Definition at line 171 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

edm::InputTag SiStripMonitorTrack::Cluster_src_
private

Definition at line 151 of file SiStripMonitorTrack.h.

Referenced by AllClusters(), and SiStripMonitorTrack().

edm::ParameterSet SiStripMonitorTrack::conf_
private
DQMStore* SiStripMonitorTrack::dbe
private
SiStripDCSStatus* SiStripMonitorTrack::dcsStatus_
private

Definition at line 177 of file SiStripMonitorTrack.h.

Referenced by analyze(), SiStripMonitorTrack(), and ~SiStripMonitorTrack().

int SiStripMonitorTrack::eventNb
private

Definition at line 168 of file SiStripMonitorTrack.h.

Referenced by analyze(), clusterInfos(), fillMEs(), and fillModMEs().

int SiStripMonitorTrack::firstEvent
private

Definition at line 169 of file SiStripMonitorTrack.h.

bool SiStripMonitorTrack::flag_ring
private

Definition at line 167 of file SiStripMonitorTrack.h.

Referenced by book(), bookLayerMEs(), fillMEs(), and SiStripMonitorTrack().

SiStripFolderOrganizer SiStripMonitorTrack::folderOrganizer_
private

Definition at line 179 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and fillMEs().

GenericTriggerEventFlag* SiStripMonitorTrack::genTriggerEventFlag_
private

Definition at line 178 of file SiStripMonitorTrack.h.

Referenced by analyze(), beginRun(), and ~SiStripMonitorTrack().

std::string SiStripMonitorTrack::histname
private

Definition at line 102 of file SiStripMonitorTrack.h.

bool SiStripMonitorTrack::HistoFlag_On_
private

Definition at line 156 of file SiStripMonitorTrack.h.

float SiStripMonitorTrack::iOrbitSec
private

Definition at line 104 of file SiStripMonitorTrack.h.

Referenced by analyze().

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

Definition at line 144 of file SiStripMonitorTrack.h.

Referenced by book(), bookLayerMEs(), and fillMEs().

LocalVector SiStripMonitorTrack::LV
private

Definition at line 103 of file SiStripMonitorTrack.h.

bool SiStripMonitorTrack::Mod_On_
private

Definition at line 153 of file SiStripMonitorTrack.h.

Referenced by book(), clusterInfos(), and SiStripMonitorTrack().

std::map<std::string, ModMEs> SiStripMonitorTrack::ModMEsMap
private

Definition at line 143 of file SiStripMonitorTrack.h.

Referenced by bookModMEs(), and fillModMEs().

std::vector<uint32_t> SiStripMonitorTrack::ModulesToBeExcluded_
private

Definition at line 163 of file SiStripMonitorTrack.h.

Referenced by AllClusters(), and RecHitInfo().

bool SiStripMonitorTrack::OffHisto_On_
private

Definition at line 155 of file SiStripMonitorTrack.h.

edm::ParameterSet SiStripMonitorTrack::Parameters
private

Definition at line 150 of file SiStripMonitorTrack.h.

bool SiStripMonitorTrack::ring_flag
private

Definition at line 157 of file SiStripMonitorTrack.h.

int SiStripMonitorTrack::runNb
private

Definition at line 168 of file SiStripMonitorTrack.h.

Referenced by analyze().

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

Definition at line 148 of file SiStripMonitorTrack.h.

Referenced by beginRun(), book(), bookLayerMEs(), and bookModMEs().

double SiStripMonitorTrack::sToNLowerLimit_
private

Definition at line 172 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

double SiStripMonitorTrack::sToNUpperLimit_
private

Definition at line 173 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

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

Definition at line 145 of file SiStripMonitorTrack.h.

Referenced by analyze(), book(), bookSubDetMEs(), clusterInfos(), and fillMEs().

edm::ESHandle<TrackerGeometry> SiStripMonitorTrack::tkgeom
private

Definition at line 147 of file SiStripMonitorTrack.h.

Referenced by beginRun(), RecHitInfo(), and trackStudy().

TkHistoMap * SiStripMonitorTrack::tkhisto_NumOffTrack
private

Definition at line 107 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

TkHistoMap * SiStripMonitorTrack::tkhisto_NumOnTrack
private

Definition at line 107 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

TkHistoMap* SiStripMonitorTrack::tkhisto_StoNCorrOnTrack
private

Definition at line 107 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

bool SiStripMonitorTrack::TkHistoMap_On_
private

Definition at line 158 of file SiStripMonitorTrack.h.

Referenced by book(), clusterInfos(), and SiStripMonitorTrack().

bool SiStripMonitorTrack::trackAssociatorCollection_in_EventTree
private

Definition at line 166 of file SiStripMonitorTrack.h.

std::string SiStripMonitorTrack::TrackLabel_
private

Definition at line 161 of file SiStripMonitorTrack.h.

Referenced by SiStripMonitorTrack(), and trackStudy().

std::string SiStripMonitorTrack::TrackProducer_
private

Definition at line 160 of file SiStripMonitorTrack.h.

Referenced by SiStripMonitorTrack(), and trackStudy().

bool SiStripMonitorTrack::tracksCollection_in_EventTree
private

Definition at line 165 of file SiStripMonitorTrack.h.

bool SiStripMonitorTrack::Trend_On_
private

Definition at line 154 of file SiStripMonitorTrack.h.

Referenced by analyze(), bookSubDetMEs(), and SiStripMonitorTrack().

std::vector<const SiStripCluster*> SiStripMonitorTrack::vPSiStripCluster
private

Definition at line 164 of file SiStripMonitorTrack.h.

Referenced by AllClusters(), analyze(), and RecHitInfo().

double SiStripMonitorTrack::widthLowerLimit_
private

Definition at line 174 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

double SiStripMonitorTrack::widthUpperLimit_
private

Definition at line 175 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().