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

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

Private Types

enum  ClusterFlags { OffTrack, OnTrack }
 

Private Member Functions

void AllClusters (const edm::Event &ev, const edm::EventSetup &es)
 
void book ()
 
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, 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, 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
 
bool layercharge
 
bool layerchargecorr
 
std::map< std::string, LayerMEsLayerMEsMap
 
bool layernoise
 
bool layerofftrack
 
bool layerontrack
 
bool layerston
 
bool layerstoncorrontrack
 
bool layerwidth
 
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
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Definition at line 55 of file SiStripMonitorTrack.h.

Member Typedef Documentation

Definition at line 57 of file SiStripMonitorTrack.h.

Member Enumeration Documentation

Enumerator
OffTrack 
OnTrack 

Definition at line 66 of file SiStripMonitorTrack.h.

Constructor & Destructor Documentation

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

Definition at line 27 of file SiStripMonitorTrack.cc.

References applyClusterQuality_, Cluster_src_, conf_, dcsStatus_, flag_ring, edm::ParameterSet::getParameter(), layercharge, layerchargecorr, layernoise, layerofftrack, layerontrack, layerston, layerstoncorrontrack, layerwidth, Mod_On_, sToNLowerLimit_, sToNUpperLimit_, TkHistoMap_On_, TrackLabel_, TrackProducer_, Trend_On_, widthLowerLimit_, and widthUpperLimit_.

27  :
29  conf_(conf),
31  firstEvent(-1),
33 {
34  Cluster_src_ = conf.getParameter<edm::InputTag>("Cluster_src");
35  Mod_On_ = conf.getParameter<bool>("Mod_On");
36  Trend_On_ = conf.getParameter<bool>("Trend_On");
37  flag_ring = conf.getParameter<bool>("RingFlag_On");
38  TkHistoMap_On_ = conf.getParameter<bool>("TkHistoMap_On");
39 
40  edm::ParameterSet ParametersClustersOn = conf_.getParameter<edm::ParameterSet>("TH1nClustersOn");
41  layerontrack = ParametersClustersOn.getParameter<bool>("layerswitchon");
42 
43  edm::ParameterSet ParametersClustersOff = conf_.getParameter<edm::ParameterSet>("TH1nClustersOff");
44  layerofftrack = ParametersClustersOff.getParameter<bool>("layerswitchon");
45 
46  edm::ParameterSet ParametersClusterCharge = conf_.getParameter<edm::ParameterSet>("TH1ClusterCharge");
47  layercharge = ParametersClusterCharge.getParameter<bool>("layerswitchon");
48 
49  edm::ParameterSet ParametersClusterStoN = conf_.getParameter<edm::ParameterSet>("TH1ClusterStoN");
50  layerston = ParametersClusterStoN.getParameter<bool>("layerswitchon");
51 
52  edm::ParameterSet ParametersClusterChargeCorr = conf_.getParameter<edm::ParameterSet>("TH1ClusterChargeCorr");
53  layerchargecorr = ParametersClusterChargeCorr.getParameter<bool>("layerswitchon");
54 
55  edm::ParameterSet ParametersClusterStoNCorrOn = conf_.getParameter<edm::ParameterSet>("TH1ClusterStoNCorr");
56  layerstoncorrontrack = ParametersClusterStoNCorrOn.getParameter<bool>("layerswitchon");
57 
58  edm::ParameterSet ParametersClusterNoise = conf_.getParameter<edm::ParameterSet>("TH1ClusterNoise");
59  layernoise = ParametersClusterNoise.getParameter<bool>("layerswitchon");
60 
61  edm::ParameterSet ParametersClusterWidth = conf_.getParameter<edm::ParameterSet>("TH1ClusterWidth");
62  layerwidth = ParametersClusterWidth.getParameter<bool>("layerswitchon");
63 
64  TrackProducer_ = conf_.getParameter<std::string>("TrackProducer");
65  TrackLabel_ = conf_.getParameter<std::string>("TrackLabel");
66 
67  // cluster quality conditions
68  edm::ParameterSet cluster_condition = conf_.getParameter<edm::ParameterSet>("ClusterConditions");
69  applyClusterQuality_ = cluster_condition.getParameter<bool>("On");
70  sToNLowerLimit_ = cluster_condition.getParameter<double>("minStoN");
71  sToNUpperLimit_ = cluster_condition.getParameter<double>("maxStoN");
72  widthLowerLimit_ = cluster_condition.getParameter<double>("minWidth");
73  widthUpperLimit_ = cluster_condition.getParameter<double>("maxWidth");
74 
75 
76  // Create DCS Status
77  bool checkDCS = conf_.getParameter<bool>("UseDCSFiltering");
78  if (checkDCS) dcsStatus_ = new SiStripDCSStatus();
79  else dcsStatus_ = 0;
80 }
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 83 of file SiStripMonitorTrack.cc.

References dcsStatus_, and genTriggerEventFlag_.

83  {
84  if (dcsStatus_) delete dcsStatus_;
86 }
SiStripDCSStatus * dcsStatus_
GenericTriggerEventFlag * genTriggerEventFlag_

Member Function Documentation

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

Definition at line 592 of file SiStripMonitorTrack.cc.

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

Referenced by analyze().

593 {
595  ev.getByLabel( Cluster_src_, siStripClusterHandle);
596  if (!siStripClusterHandle.isValid()){
597  edm::LogError("SiStripMonitorTrack")<< "ClusterCollection is not valid!!" << std::endl;
598  return;
599  }
600  //Loop on Dets
601  for ( edmNew::DetSetVector<SiStripCluster>::const_iterator DSViter=siStripClusterHandle->begin(); DSViter!=siStripClusterHandle->end();DSViter++){
602  uint32_t detid=DSViter->id();
603  if (find(ModulesToBeExcluded_.begin(),ModulesToBeExcluded_.end(),detid)!=ModulesToBeExcluded_.end()) continue;
604  //Loop on Clusters
605  LogDebug("SiStripMonitorTrack") << "on detid "<< detid << " N Cluster= " << DSViter->size();
607  for(; ClusIter!=DSViter->end(); ClusIter++) {
609  SiStripClusterInfo SiStripClusterInfo_(*ClusIter,es,detid);
610  clusterInfos(&SiStripClusterInfo_,detid,OffTrack,LV);
611  }
612  }
613  }
614 }
#define LogDebug(id)
bool clusterInfos(SiStripClusterInfo *cluster, const uint32_t &detid, enum ClusterFlags flags, LocalVector LV)
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:356
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 112 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.

113 {
114  // Filter out events if DCS checking is requested
115  if (dcsStatus_ && !dcsStatus_->getStatus(e,es)) return;
116 
117  // Filter out events if Trigger Filtering is requested
118  if (genTriggerEventFlag_->on()&& ! genTriggerEventFlag_->accept( e, es) ) return;
119 
120  //initialization of global quantities
121  LogDebug("SiStripMonitorTrack") << "[SiStripMonitorTrack::analyse] " << "Run " << e.id().run() << " Event " << e.id().event() << std::endl;
122  runNb = e.id().run();
123  eventNb = e.id().event();
124  vPSiStripCluster.clear();
125 
126  iOrbitSec = e.orbitNumber()/11223.0;
127 
128  // initialise # of clusters
129  for (std::map<std::string, SubDetMEs>::iterator iSubDet = SubDetMEsMap.begin();
130  iSubDet != SubDetMEsMap.end(); iSubDet++) {
131  iSubDet->second.totNClustersOnTrack = 0;
132  iSubDet->second.totNClustersOffTrack = 0;
133  }
134 
135  //Perform track study
136  trackStudy(e, es);
137 
138  //Perform Cluster Study (irrespectively to tracks)
139 
140  AllClusters(e, es); //analyzes the off Track Clusters
141 
142  //Summary Counts of clusters
143  std::map<std::string, MonitorElement*>::iterator iME;
144  std::map<std::string, LayerMEs>::iterator iLayerME;
145 
146  for (std::map<std::string, SubDetMEs>::iterator iSubDet = SubDetMEsMap.begin();
147  iSubDet != SubDetMEsMap.end(); iSubDet++) {
148  SubDetMEs subdet_mes = iSubDet->second;
149  fillME(subdet_mes.nClustersOnTrack, subdet_mes.totNClustersOnTrack);
150  fillME(subdet_mes.nClustersOffTrack, subdet_mes.totNClustersOffTrack);
151  if (Trend_On_) {
152  fillME(subdet_mes.nClustersTrendOnTrack,iOrbitSec,subdet_mes.totNClustersOnTrack);
153  fillME(subdet_mes.nClustersTrendOffTrack,iOrbitSec,subdet_mes.totNClustersOffTrack);
154  }
155  }
156 }
#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 89 of file SiStripMonitorTrack.cc.

References book(), genTriggerEventFlag_, edm::EventSetup::get(), GenericTriggerEventFlag::initRun(), LogDebug, GenericTriggerEventFlag::on(), SiStripDetCabling_, and tkgeom.

90 {
91  //get geom
92  es.get<TrackerDigiGeometryRecord>().get( tkgeom );
93  LogDebug("SiStripMonitorTrack") << "[SiStripMonitorTrack::beginRun] There are "<<tkgeom->detUnits().size() <<" detectors instantiated in the geometry" << std::endl;
95 
96  book();
97 
98  // Initialize the GenericTriggerEventFlag
100 }
#define LogDebug(id)
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
edm::ESHandle< TrackerGeometry > tkgeom
GenericTriggerEventFlag * genTriggerEventFlag_
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
void SiStripMonitorTrack::book ( )
private

Definition at line 159 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_, SubDetMEsMap, tkhisto_NumOffTrack, tkhisto_NumOnTrack, tkhisto_StoNCorrOnTrack, and TkHistoMap_On_.

Referenced by beginRun().

160 {
161 
162  SiStripFolderOrganizer folder_organizer;
163  //******** TkHistoMaps
164  if (TkHistoMap_On_) {
165  tkhisto_StoNCorrOnTrack = new TkHistoMap("SiStrip/TkHisto" ,"TkHMap_StoNCorrOnTrack",0.0,1);
166  tkhisto_NumOnTrack = new TkHistoMap("SiStrip/TkHisto", "TkHMap_NumberOfOnTrackCluster",0.0,1);
167  tkhisto_NumOffTrack = new TkHistoMap("SiStrip/TkHisto", "TkHMap_NumberOfOfffTrackCluster",0.0,1);
168  }
169  //******** TkHistoMaps
170 
171  std::vector<uint32_t> vdetId_;
172  SiStripDetCabling_->addActiveDetectorsRawIds(vdetId_);
173  //Histos for each detector, layer and module
174  for (std::vector<uint32_t>::const_iterator detid_iter=vdetId_.begin();detid_iter!=vdetId_.end();detid_iter++){ //loop on all the active detid
175  uint32_t detid = *detid_iter;
176 
177  if (detid < 1){
178  edm::LogError("SiStripMonitorTrack")<< "[" <<__PRETTY_FUNCTION__ << "] invalid detid " << detid<< std::endl;
179  continue;
180  }
181 
182 
183  std::string name;
184 
185  // book Layer and RING plots
186  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid,flag_ring);
187 
188  SiStripHistoId hidmanager;
189  std::string layer_id = hidmanager.getSubdetid(detid, flag_ring);
190  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(layer_id);
191  if(iLayerME==LayerMEsMap.end()){
192  folder_organizer.setLayerFolder(detid, det_layer_pair.second, flag_ring);
193  bookLayerMEs(detid, layer_id);
194  }
195  // book sub-detector plots
196  std::pair<std::string,std::string> sdet_pair = folder_organizer.getSubDetFolderAndTag(detid);
197  if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()){
198  dbe->setCurrentFolder(sdet_pair.first);
199  bookSubDetMEs(sdet_pair.second);
200  }
201  // book module plots
202  if(Mod_On_) {
203  folder_organizer.setDetectorFolder(detid);
204  bookModMEs(*detid_iter);
205  }
206  }//end loop on detectors detid
207 }
TkHistoMap * tkhisto_NumOffTrack
void bookLayerMEs(const uint32_t &, std::string &)
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
void bookSubDetMEs(std::string &name)
std::string getSubdetid(uint32_t id, bool flag_ring)
std::pair< std::string, std::string > getSubDetFolderAndTag(const uint32_t &detid)
std::map< std::string, SubDetMEs > SubDetMEsMap
void setDetectorFolder(uint32_t rawdetid=0)
TkHistoMap * tkhisto_NumOnTrack
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, bool ring_flag=0)
TkHistoMap * tkhisto_StoNCorrOnTrack
void bookModMEs(const uint32_t &)
void setLayerFolder(uint32_t rawdetid=0, int32_t layer=0, bool ring_flag=0)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
std::map< std::string, LayerMEs > LayerMEsMap
void SiStripMonitorTrack::bookLayerMEs ( const uint32_t &  mod_id,
std::string &  layer_id 
)
private

Definition at line 251 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, layercharge, layerchargecorr, LayerMEsMap, layernoise, layerstoncorrontrack, layerwidth, mergeVDriftHistosByStation::name, and SiStripDetCabling_.

Referenced by book().

252 {
253  std::string name = "layer";
254  std::string hname;
255  SiStripHistoId hidmanager;
256 
257  LayerMEs theLayerMEs;
258  theLayerMEs.ClusterStoNCorrOnTrack = 0;
259  theLayerMEs.ClusterChargeCorrOnTrack = 0;
260  theLayerMEs.ClusterChargeOnTrack = 0;
261  theLayerMEs.ClusterChargeOffTrack = 0;
262  theLayerMEs.ClusterNoiseOnTrack = 0;
263  theLayerMEs.ClusterNoiseOffTrack = 0;
264  theLayerMEs.ClusterWidthOnTrack = 0;
265  theLayerMEs.ClusterWidthOffTrack = 0;
266  theLayerMEs.ClusterPosOnTrack = 0;
267  theLayerMEs.ClusterPosOffTrack = 0;
268 
269  // Cluster StoN Corrected
271  hname = hidmanager.createHistoLayer("Summary_ClusterStoNCorr",name,layer_id,"OnTrack");
272  theLayerMEs.ClusterStoNCorrOnTrack = bookME1D("TH1ClusterStoNCorr", hname.c_str());
273  }
274  // Cluster Charge Corrected
275  if (layerchargecorr){
276  hname = hidmanager.createHistoLayer("Summary_ClusterChargeCorr",name,layer_id,"OnTrack");
277  theLayerMEs.ClusterChargeCorrOnTrack = bookME1D("TH1ClusterChargeCorr", hname.c_str());
278  }
279  // Cluster Charge (On and Off Track)
280  if (layercharge){
281  hname = hidmanager.createHistoLayer("Summary_ClusterCharge",name,layer_id,"OnTrack");
282  theLayerMEs.ClusterChargeOnTrack = bookME1D("TH1ClusterCharge", hname.c_str());
283 
284  hname = hidmanager.createHistoLayer("Summary_ClusterCharge",name,layer_id,"OffTrack");
285  theLayerMEs.ClusterChargeOffTrack = bookME1D("TH1ClusterCharge", hname.c_str());
286  }
287  // Cluster Noise (On and Off Track)
288  if (layernoise){
289  hname = hidmanager.createHistoLayer("Summary_ClusterNoise",name,layer_id,"OnTrack");
290  theLayerMEs.ClusterNoiseOnTrack = bookME1D("TH1ClusterNoise", hname.c_str());
291 
292  hname = hidmanager.createHistoLayer("Summary_ClusterNoise",name,layer_id,"OffTrack");
293  theLayerMEs.ClusterNoiseOffTrack = bookME1D("TH1ClusterNoise", hname.c_str());
294  }
295  // Cluster Width (On and Off Track)
296  if (layerwidth){
297  hname = hidmanager.createHistoLayer("Summary_ClusterWidth",name,layer_id,"OnTrack");
298  theLayerMEs.ClusterWidthOnTrack = bookME1D("TH1ClusterWidth", hname.c_str());
299 
300  hname = hidmanager.createHistoLayer("Summary_ClusterWidth",name,layer_id,"OffTrack");
301  theLayerMEs.ClusterWidthOffTrack = bookME1D("TH1ClusterWidth", hname.c_str());
302  }
303  //Cluster Position
304  short total_nr_strips = SiStripDetCabling_->nApvPairs(mod_id) * 2 * 128;
305  if (layer_id.find("TEC") != std::string::npos && !flag_ring) total_nr_strips = 3 * 2 * 128;
306 
307  hname = hidmanager.createHistoLayer("Summary_ClusterPosition",name,layer_id,"OnTrack");
308  theLayerMEs.ClusterPosOnTrack = dbe->book1D(hname, hname, total_nr_strips, 0.5,total_nr_strips+0.5);
309 
310  hname = hidmanager.createHistoLayer("Summary_ClusterPosition",name,layer_id,"OffTrack");
311  theLayerMEs.ClusterPosOffTrack = dbe->book1D(hname, hname, total_nr_strips, 0.5,total_nr_strips+0.5);
312 
313  //bookeeping
314  LayerMEsMap[layer_id]=theLayerMEs;
315 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
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 370 of file SiStripMonitorTrack.cc.

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

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

371 {
372  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
373  return dbe->book1D(HistoName,HistoName,
374  Parameters.getParameter<int32_t>("Nbinx"),
375  Parameters.getParameter<double>("xmin"),
376  Parameters.getParameter<double>("xmax")
377  );
378 }
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:717
edm::ParameterSet conf_
vector< ParameterSet > Parameters
std::string HistoName
MonitorElement * SiStripMonitorTrack::bookME2D ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 381 of file SiStripMonitorTrack.cc.

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

382 {
383  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
384  return dbe->book2D(HistoName,HistoName,
385  Parameters.getParameter<int32_t>("Nbinx"),
386  Parameters.getParameter<double>("xmin"),
387  Parameters.getParameter<double>("xmax"),
388  Parameters.getParameter<int32_t>("Nbiny"),
389  Parameters.getParameter<double>("ymin"),
390  Parameters.getParameter<double>("ymax")
391  );
392 }
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:845
MonitorElement * SiStripMonitorTrack::bookME3D ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 395 of file SiStripMonitorTrack.cc.

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

396 {
397  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
398  return dbe->book3D(HistoName,HistoName,
399  Parameters.getParameter<int32_t>("Nbinx"),
400  Parameters.getParameter<double>("xmin"),
401  Parameters.getParameter<double>("xmax"),
402  Parameters.getParameter<int32_t>("Nbiny"),
403  Parameters.getParameter<double>("ymin"),
404  Parameters.getParameter<double>("ymax"),
405  Parameters.getParameter<int32_t>("Nbinz"),
406  Parameters.getParameter<double>("zmin"),
407  Parameters.getParameter<double>("zmax")
408  );
409 }
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:979
edm::ParameterSet conf_
vector< ParameterSet > Parameters
std::string HistoName
MonitorElement * SiStripMonitorTrack::bookMEProfile ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 412 of file SiStripMonitorTrack.cc.

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

Referenced by bookModMEs().

413 {
414  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
416  Parameters.getParameter<int32_t>("Nbinx"),
417  Parameters.getParameter<double>("xmin"),
418  Parameters.getParameter<double>("xmax"),
419  Parameters.getParameter<int32_t>("Nbiny"),
420  Parameters.getParameter<double>("ymin"),
421  Parameters.getParameter<double>("ymax"),
422  "" );
423 }
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:1031
std::string HistoName
MonitorElement * SiStripMonitorTrack::bookMETrend ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 426 of file SiStripMonitorTrack.cc.

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

Referenced by bookSubDetMEs().

427 {
428  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
429  edm::ParameterSet ParametersTrend = conf_.getParameter<edm::ParameterSet>("Trending");
431  ParametersTrend.getParameter<int32_t>("Nbins"),
432  0,
433  ParametersTrend.getParameter<int32_t>("Nbins"),
434  100, //that parameter should not be there !?
435  Parameters.getParameter<double>("xmin"),
436  Parameters.getParameter<double>("xmax"),
437  "" );
438  if (me->kind() == MonitorElement::DQM_KIND_TPROFILE) me->getTH1()->SetBit(TH1::kCanRebin);
439 
440  if(!me) return me;
441  me->setAxisTitle("Event Time in Seconds",1);
442  return me;
443 }
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:1031
std::string HistoName
void SiStripMonitorTrack::bookModMEs ( const uint32_t &  id)
private

Definition at line 210 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_, and DQMStore::tag().

Referenced by book().

211 {
212  std::string name = "det";
213  SiStripHistoId hidmanager;
214  std::string hid = hidmanager.createHistoId("",name,id);
215  std::map<std::string, ModMEs>::iterator iModME = ModMEsMap.find(hid);
216  if(iModME==ModMEsMap.end()){
217  ModMEs theModMEs;
218  theModMEs.ClusterStoNCorr = 0;
219  theModMEs.ClusterCharge = 0;
220  theModMEs.ClusterChargeCorr = 0;
221  theModMEs.ClusterWidth = 0;
222  theModMEs.ClusterPos = 0;
223  theModMEs.ClusterPGV = 0;
224 
225  // Cluster Width
226  theModMEs.ClusterWidth=bookME1D("TH1ClusterWidth", hidmanager.createHistoId("ClusterWidth_OnTrack",name,id).c_str());
227  dbe->tag(theModMEs.ClusterWidth,id);
228  // Cluster Charge
229  theModMEs.ClusterCharge=bookME1D("TH1ClusterCharge", hidmanager.createHistoId("ClusterCharge_OnTrack",name,id).c_str());
230  dbe->tag(theModMEs.ClusterCharge,id);
231  // Cluster Charge Corrected
232  theModMEs.ClusterChargeCorr=bookME1D("TH1ClusterChargeCorr", hidmanager.createHistoId("ClusterChargeCorr_OnTrack",name,id).c_str());
233  dbe->tag(theModMEs.ClusterChargeCorr,id);
234  // Cluster StoN Corrected
235  theModMEs.ClusterStoNCorr=bookME1D("TH1ClusterStoNCorrMod", hidmanager.createHistoId("ClusterStoNCorr_OnTrack",name,id).c_str());
236  dbe->tag(theModMEs.ClusterStoNCorr,id);
237  // Cluster Position
238  short total_nr_strips = SiStripDetCabling_->nApvPairs(id) * 2 * 128;
239  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);
240  dbe->tag(theModMEs.ClusterPos,id);
241  // Cluster PGV
242  theModMEs.ClusterPGV=bookMEProfile("TProfileClusterPGV", hidmanager.createHistoId("PGV_OnTrack",name,id).c_str());
243  dbe->tag(theModMEs.ClusterPGV,id);
244 
245  ModMEsMap[hid]=theModMEs;
246  }
247 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1354
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 319 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, xuti::subdet_tag(), SubDetMEsMap, SiStripMonitorTrack::SubDetMEs::totNClustersOffTrack, SiStripMonitorTrack::SubDetMEs::totNClustersOnTrack, and Trend_On_.

Referenced by book().

319  {
320 
321  std::string subdet_tag;
322  subdet_tag = "__" + name;
323  std::string completeName;
324 
325  SubDetMEs theSubDetMEs;
326  theSubDetMEs.totNClustersOnTrack = 0;
327  theSubDetMEs.totNClustersOffTrack = 0;
328  theSubDetMEs.nClustersOnTrack = 0;
329  theSubDetMEs.nClustersTrendOnTrack = 0;
330  theSubDetMEs.nClustersOffTrack = 0;
331  theSubDetMEs.nClustersTrendOffTrack = 0;
332  theSubDetMEs.ClusterStoNCorrOnTrack = 0;
333  theSubDetMEs.ClusterChargeOffTrack = 0;
334  theSubDetMEs.ClusterStoNOffTrack = 0;
335 
336  // TotalNumber of Cluster OnTrack
337  completeName = "Summary_TotalNumberOfClusters_OnTrack" + subdet_tag;
338  theSubDetMEs.nClustersOnTrack = bookME1D("TH1nClustersOn", completeName.c_str());
339  theSubDetMEs.nClustersOnTrack->getTH1()->StatOverflows(kTRUE);
340 
341  // TotalNumber of Cluster OffTrack
342  completeName = "Summary_TotalNumberOfClusters_OffTrack" + subdet_tag;
343  theSubDetMEs.nClustersOffTrack = bookME1D("TH1nClustersOff", completeName.c_str());
344  theSubDetMEs.nClustersOffTrack->getTH1()->StatOverflows(kTRUE);
345 
346  // Cluster StoN On Track
347  completeName = "Summary_ClusterStoNCorr_OnTrack" + subdet_tag;
348  theSubDetMEs.ClusterStoNCorrOnTrack = bookME1D("TH1ClusterStoNCorr", completeName.c_str());
349 
350  // Cluster Charge Off Track
351  completeName = "Summary_ClusterCharge_OffTrack" + subdet_tag;
352  theSubDetMEs.ClusterChargeOffTrack=bookME1D("TH1ClusterCharge", completeName.c_str());
353 
354  // Cluster Charge StoN Off Track
355  completeName = "Summary_ClusterStoN_OffTrack" + subdet_tag;
356  theSubDetMEs.ClusterStoNOffTrack = bookME1D("TH1ClusterStoN", completeName.c_str());
357 
358  if(Trend_On_){
359  // TotalNumber of Cluster
360  completeName = "Trend_TotalNumberOfClusters_OnTrack" + subdet_tag;
361  theSubDetMEs.nClustersTrendOnTrack = bookMETrend("TH1nClustersOn", completeName.c_str());
362  completeName = "Trend_TotalNumberOfClusters_OffTrack" + subdet_tag;
363  theSubDetMEs.nClustersTrendOffTrack = bookMETrend("TH1nClustersOff", completeName.c_str());
364  }
365  //bookeeping
366  SubDetMEsMap[name]=theSubDetMEs;
367 }
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,
enum ClusterFlags  flags,
LocalVector  LV 
)
private

Definition at line 617 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_, 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().

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

Reimplemented from edm::EDAnalyzer.

Definition at line 103 of file SiStripMonitorTrack.cc.

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

104 {
105  if(conf_.getParameter<bool>("OutputMEsInRootFile")){
107  dbe->save(conf_.getParameter<std::string>("OutputFileName"));
108  }
109 }
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:2113
edm::ParameterSet conf_
void showDirStructure(void) const
Definition: DQMStore.cc:2761
void SiStripMonitorTrack::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 90 of file SiStripMonitorTrack.h.

References MonitorElement::Fill().

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

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

Definition at line 91 of file SiStripMonitorTrack.h.

References MonitorElement::Fill().

91 {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 92 of file SiStripMonitorTrack.h.

References MonitorElement::Fill().

92 {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 93 of file SiStripMonitorTrack.h.

References MonitorElement::Fill().

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

Definition at line 712 of file SiStripMonitorTrack.cc.

References SiStripClusterInfo::baryStrip(), DeDxDiscriminatorTools::charge(), SiStripClusterInfo::charge(), eventNb, fillME(), flag_ring, folderOrganizer_, SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), layercharge, layerchargecorr, LayerMEsMap, layernoise, layerstoncorrontrack, layerwidth, LogDebug, SiStripClusterInfo::noiseRescaledByGain(), OnTrack, position, SiStripClusterInfo::signalOverNoise(), SubDetMEsMap, SiStripClusterInfo::width(), and tablePrinter::width.

Referenced by clusterInfos().

713 {
714  std::pair<std::string,int32_t> SubDetAndLayer = folderOrganizer_.GetSubDetAndLayer(detid,flag_ring);
715  SiStripHistoId hidmanager1;
716  std::string layer_id = hidmanager1.getSubdetid(detid,flag_ring);
717 
718  std::pair<std::string,std::string> sdet_pair = folderOrganizer_.getSubDetFolderAndTag(detid);
719  float StoN = cluster->signalOverNoise();
720  float noise = cluster->noiseRescaledByGain();
721  uint16_t charge = cluster->charge();
722  uint16_t width = cluster->width();
723  float position = cluster->baryStrip();
724 
725  std::map<std::string, LayerMEs>::iterator iLayer = LayerMEsMap.find(layer_id);
726  if (iLayer != LayerMEsMap.end()) {
727  if(flag==OnTrack){
728  if(noise > 0.0 && layerstoncorrontrack) fillME(iLayer->second.ClusterStoNCorrOnTrack, StoN*cos);
729  if(noise == 0.0) LogDebug("SiStripMonitorTrack") << "Module " << detid << " in Event " << eventNb << " noise " << cluster->noiseRescaledByGain() << std::endl;
730  if(layerchargecorr) fillME(iLayer->second.ClusterChargeCorrOnTrack, charge*cos);
731  if (layercharge) fillME(iLayer->second.ClusterChargeOnTrack, charge);
732  if (layernoise) fillME(iLayer->second.ClusterNoiseOnTrack, noise);
733  if (layerwidth) fillME(iLayer->second.ClusterWidthOnTrack, width);
734  fillME(iLayer->second.ClusterPosOnTrack, position);
735  } else {
736  if (layercharge) fillME(iLayer->second.ClusterChargeOffTrack, charge);
737  if (layernoise) fillME(iLayer->second.ClusterNoiseOffTrack, noise);
738  if (layerwidth) fillME(iLayer->second.ClusterWidthOffTrack, width);
739  fillME(iLayer->second.ClusterPosOffTrack, position);
740  }
741  }
742  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(sdet_pair.second);
743  if(iSubdet != SubDetMEsMap.end() ){
744  if(flag==OnTrack){
745  if(noise > 0.0) fillME(iSubdet->second.ClusterStoNCorrOnTrack,StoN*cos);
746  } else {
747  fillME(iSubdet->second.ClusterChargeOffTrack,charge);
748  if(noise > 0.0) fillME(iSubdet->second.ClusterStoNOffTrack,StoN);
749  }
750  }
751 }
#define LogDebug(id)
long int flag
Definition: mlp_lapack.h:47
void fillME(MonitorElement *ME, float value1)
float noiseRescaledByGain() const
float baryStrip() const
double charge(const std::vector< uint8_t > &Ampls)
float signalOverNoise() const
std::string getSubdetid(uint32_t id, bool flag_ring)
std::pair< std::string, std::string > getSubDetFolderAndTag(const uint32_t &detid)
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_
static int position[264][3]
Definition: ReadPGInfo.cc:509
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, bool ring_flag=0)
std::map< std::string, LayerMEs > LayerMEsMap
void SiStripMonitorTrack::fillModMEs ( SiStripClusterInfo cluster,
std::string  name,
float  cos 
)
private

Definition at line 677 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 tablePrinter::width.

Referenced by clusterInfos().

678 {
679  std::map<std::string, ModMEs>::iterator iModME = ModMEsMap.find(name);
680  if(iModME!=ModMEsMap.end()){
681 
682  float StoN = cluster->signalOverNoise();
683  uint16_t charge = cluster->charge();
684  uint16_t width = cluster->width();
685  float position = cluster->baryStrip();
686 
687  float noise = cluster->noiseRescaledByGain();
688  if(noise > 0.0) fillME(iModME->second.ClusterStoNCorr ,StoN*cos);
689  if(noise == 0.0) LogDebug("SiStripMonitorTrack") << "Module " << name << " in Event " << eventNb << " noise " << noise << std::endl;
690  fillME(iModME->second.ClusterCharge,charge);
691 
692  fillME(iModME->second.ClusterChargeCorr,charge*cos);
693 
694  fillME(iModME->second.ClusterWidth ,width);
695  fillME(iModME->second.ClusterPos ,position);
696 
697  //fill the PGV histo
698  float PGVmax = cluster->maxCharge();
699  int PGVposCounter = cluster->maxIndex();
700  for (int i= int(conf_.getParameter<edm::ParameterSet>("TProfileClusterPGV").getParameter<double>("xmin"));i<PGVposCounter;++i)
701  fillME(iModME->second.ClusterPGV, i,0.);
702  for (std::vector<uint8_t>::const_iterator it=cluster->stripCharges().begin();it<cluster->stripCharges().end();++it) {
703  fillME(iModME->second.ClusterPGV, PGVposCounter++,(*it)/PGVmax);
704  }
705  for (int i= PGVposCounter;i<int(conf_.getParameter<edm::ParameterSet>("TProfileClusterPGV").getParameter<double>("xmax"));++i)
706  fillME(iModME->second.ClusterPGV, i,0.);
707  //end fill the PGV histo
708  }
709 }
#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)
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
static int position[264][3]
Definition: ReadPGInfo.cc:509
void SiStripMonitorTrack::getSubDetTag ( std::string &  folder_name,
std::string &  tag 
)
private

Definition at line 755 of file SiStripMonitorTrack.cc.

755  {
756 
757  tag = folder_name.substr(folder_name.find("MechanicalView")+15);
758  if (tag.find("side_") != std::string::npos) {
759  tag.replace(tag.find_last_of("/"),1,"_");
760  }
761 }
template<class T >
void SiStripMonitorTrack::RecHitInfo ( const T tkrecHit,
LocalVector  LV,
reco::TrackRef  track_ref,
const edm::EventSetup es 
)
private

Definition at line 558 of file SiStripMonitorTrack.cc.

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

558  {
559 
560  if(!tkrecHit->isValid()){
561  LogTrace("SiStripMonitorTrack") <<"\t\t Invalid Hit " << std::endl;
562  return;
563  }
564 
565  const uint32_t& detid = tkrecHit->geographicalId().rawId();
567  LogTrace("SiStripMonitorTrack") << "Modules Excluded" << std::endl;
568  return;
569  }
570 
571  LogTrace("SiStripMonitorTrack")
572  <<"\n\t\tRecHit on det "<<tkrecHit->geographicalId().rawId()
573  <<"\n\t\tRecHit in LP "<<tkrecHit->localPosition()
574  <<"\n\t\tRecHit in GP "<<tkgeom->idToDet(tkrecHit->geographicalId())->surface().toGlobal(tkrecHit->localPosition())
575  <<"\n\t\tRecHit trackLocal vector "<<LV.x() << " " << LV.y() << " " << LV.z() <<std::endl;
576 
577  //Get SiStripCluster from SiStripRecHit
578  if ( tkrecHit != NULL ){
579  const SiStripCluster* SiStripCluster_ = &*(tkrecHit->cluster());
580  SiStripClusterInfo SiStripClusterInfo_(*SiStripCluster_,es,detid);
581 
582  if ( clusterInfos(&SiStripClusterInfo_,detid,OnTrack, LV ) ) {
583  vPSiStripCluster.push_back(SiStripCluster_);
584  }
585  }else{
586  edm::LogError("SiStripMonitorTrack") << "NULL hit" << std::endl;
587  }
588  }
bool clusterInfos(SiStripClusterInfo *cluster, const uint32_t &detid, enum ClusterFlags flags, LocalVector LV)
T y() const
Definition: PV3DBase.h:62
#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:63
std::vector< const SiStripCluster * > vPSiStripCluster
edm::ESHandle< TrackerGeometry > tkgeom
#define LogTrace(id)
std::vector< uint32_t > ModulesToBeExcluded_
T x() const
Definition: PV3DBase.h:61
void SiStripMonitorTrack::trackStudy ( const edm::Event ev,
const edm::EventSetup es 
)
private

Definition at line 446 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(), SiStripMatchedRecHit2D::monoHit(), ProjectedSiStripRecHit2D::originalHit(), DetId::rawId(), alignCSCRings::s, GluedGeomDet::stereoDet(), SiStripMatchedRecHit2D::stereoHit(), tkgeom, GeomDet::toGlobal(), GeomDet::toLocal(), TrackLabel_, TrackProducer_, PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by analyze().

446  {
447 
448  // track input
449 
450  edm::Handle<reco::TrackCollection > trackCollectionHandle;
451  ev.getByLabel(TrackProducer_, TrackLabel_, trackCollectionHandle);//takes the track collection
452  if (!trackCollectionHandle.isValid()){
453  edm::LogError("SiStripMonitorTrack")<<" Track Collection is not valid !! " << TrackLabel_<<std::endl;
454  return;
455  }
456 
457  // trajectory input
458  edm::Handle<TrajTrackAssociationCollection> TItkAssociatorCollection;
459  ev.getByLabel(TrackProducer_, TrackLabel_, TItkAssociatorCollection);
460  if( !TItkAssociatorCollection.isValid()){
461  edm::LogError("SiStripMonitorTrack")<<"Association not found "<<std::endl;
462  return;
463  }
464 
465  //Perform track study
466  int i=0;
467  for(TrajTrackAssociationCollection::const_iterator it = TItkAssociatorCollection->begin();it != TItkAssociatorCollection->end(); ++it){
468  const edm::Ref<std::vector<Trajectory> > traj_iterator = it->key;
469  // Trajectory Map, extract Trajectory for this track
470  reco::TrackRef trackref = it->val;
471  LogDebug("SiStripMonitorTrack")
472  << "Track number "<< i+1
473  << "\n\tmomentum: " << trackref->momentum()
474  << "\n\tPT: " << trackref->pt()
475  << "\n\tvertex: " << trackref->vertex()
476  << "\n\timpact parameter: " << trackref->d0()
477  << "\n\tcharge: " << trackref->charge()
478  << "\n\tnormalizedChi2: " << trackref->normalizedChi2()
479  <<"\n\tFrom EXTRA : "
480  <<"\n\t\touter PT "<< trackref->outerPt()<<std::endl;
481  i++;
482 
483  const std::vector<TrajectoryMeasurement> & measurements = traj_iterator->measurements();
484  std::vector<TrajectoryMeasurement>::const_iterator traj_mes_iterator;
485  int nhit=0;
486  for(std::vector<TrajectoryMeasurement>::const_iterator traj_mes_iterator= measurements.begin();traj_mes_iterator!=measurements.end();traj_mes_iterator++){//loop on measurements
487  //trajectory local direction and position on detector
488  LocalPoint stateposition;
489  LocalVector statedirection;
490 
491  TrajectoryStateOnSurface updatedtsos=traj_mes_iterator->updatedState();
492  ConstRecHitPointer ttrh=traj_mes_iterator->recHit();
493  if (!ttrh->isValid()) {continue;}
494 
495  nhit++;
496 
497  const ProjectedSiStripRecHit2D* phit = dynamic_cast<const ProjectedSiStripRecHit2D*>( ttrh->hit() );
498  const SiStripMatchedRecHit2D* matchedhit = dynamic_cast<const SiStripMatchedRecHit2D*>( ttrh->hit() );
499  const SiStripRecHit2D* hit2D = dynamic_cast<const SiStripRecHit2D*>( ttrh->hit() );
500  const SiStripRecHit1D* hit1D = dynamic_cast<const SiStripRecHit1D*>( ttrh->hit() );
501 
502  // RecHitType type=Single;
503 
504  if(matchedhit){
505  LogTrace("SiStripMonitorTrack")<<"\nMatched recHit found"<< std::endl;
506  // type=Matched;
507 
508  GluedGeomDet * gdet=(GluedGeomDet *)tkgeom->idToDet(matchedhit->geographicalId());
509  GlobalVector gtrkdirup=gdet->toGlobal(updatedtsos.localMomentum());
510  //mono side
511  const GeomDetUnit * monodet=gdet->monoDet();
512  statedirection=monodet->toLocal(gtrkdirup);
513  SiStripRecHit2D m = matchedhit->monoHit();
514  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(&m,statedirection,trackref,es);
515  //stereo side
516  const GeomDetUnit * stereodet=gdet->stereoDet();
517  statedirection=stereodet->toLocal(gtrkdirup);
518  SiStripRecHit2D s = matchedhit->stereoHit();
519  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(&s,statedirection,trackref,es);
520  }
521  else if(phit){
522  LogTrace("SiStripMonitorTrack")<<"\nProjected recHit found"<< std::endl;
523  // type=Projected;
524  GluedGeomDet * gdet=(GluedGeomDet *)tkgeom->idToDet(phit->geographicalId());
525 
526  GlobalVector gtrkdirup=gdet->toGlobal(updatedtsos.localMomentum());
527  const SiStripRecHit2D& originalhit=phit->originalHit();
528  const GeomDetUnit * det;
529  if(!StripSubdetector(originalhit.geographicalId().rawId()).stereo()){
530  //mono side
531  LogTrace("SiStripMonitorTrack")<<"\nProjected recHit found MONO"<< std::endl;
532  det=gdet->monoDet();
533  statedirection=det->toLocal(gtrkdirup);
534  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(&(phit->originalHit()),statedirection,trackref,es);
535  }
536  else{
537  LogTrace("SiStripMonitorTrack")<<"\nProjected recHit found STEREO"<< std::endl;
538  //stereo side
539  det=gdet->stereoDet();
540  statedirection=det->toLocal(gtrkdirup);
541  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(&(phit->originalHit()),statedirection,trackref,es);
542  }
543  }else if (hit2D){
544  statedirection=updatedtsos.localMomentum();
545  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(hit2D,statedirection,trackref,es);
546  } else if (hit1D) {
547  statedirection=updatedtsos.localMomentum();
548  if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit1D>(hit1D,statedirection,trackref,es);
549  } else {
550  LogDebug ("SiStrioMonitorTrack")
551  << " LocalMomentum: "<<statedirection
552  << "\nLocal x-z plane angle: "<<atan2(statedirection.x(),statedirection.z());
553  }
554  }
555  }
556 }
#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
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
LocalVector localMomentum() const
T mag() const
Definition: PV3DBase.h:66
T z() const
Definition: PV3DBase.h:63
edm::ESHandle< TrackerGeometry > tkgeom
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
#define LogTrace(id)
SiStripRecHit2D stereoHit() const
key_type key() const
Accessor for product key.
Definition: Ref.h:266
SiStripRecHit2D monoHit() const
DetId geographicalId() const
T x() const
Definition: PV3DBase.h:61
const SiStripRecHit2D & originalHit() const
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:21

Member Data Documentation

bool SiStripMonitorTrack::applyClusterQuality_
private

Definition at line 179 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

edm::InputTag SiStripMonitorTrack::Cluster_src_
private

Definition at line 150 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 185 of file SiStripMonitorTrack.h.

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

int SiStripMonitorTrack::eventNb
private

Definition at line 176 of file SiStripMonitorTrack.h.

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

int SiStripMonitorTrack::firstEvent
private

Definition at line 177 of file SiStripMonitorTrack.h.

bool SiStripMonitorTrack::flag_ring
private

Definition at line 175 of file SiStripMonitorTrack.h.

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

SiStripFolderOrganizer SiStripMonitorTrack::folderOrganizer_
private

Definition at line 187 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and fillMEs().

GenericTriggerEventFlag* SiStripMonitorTrack::genTriggerEventFlag_
private

Definition at line 186 of file SiStripMonitorTrack.h.

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

std::string SiStripMonitorTrack::histname
private

Definition at line 101 of file SiStripMonitorTrack.h.

bool SiStripMonitorTrack::HistoFlag_On_
private

Definition at line 155 of file SiStripMonitorTrack.h.

float SiStripMonitorTrack::iOrbitSec
private

Definition at line 103 of file SiStripMonitorTrack.h.

Referenced by analyze().

bool SiStripMonitorTrack::layercharge
private

Definition at line 161 of file SiStripMonitorTrack.h.

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

bool SiStripMonitorTrack::layerchargecorr
private

Definition at line 163 of file SiStripMonitorTrack.h.

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

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

Definition at line 143 of file SiStripMonitorTrack.h.

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

bool SiStripMonitorTrack::layernoise
private

Definition at line 165 of file SiStripMonitorTrack.h.

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

bool SiStripMonitorTrack::layerofftrack
private

Definition at line 160 of file SiStripMonitorTrack.h.

Referenced by SiStripMonitorTrack().

bool SiStripMonitorTrack::layerontrack
private

Definition at line 159 of file SiStripMonitorTrack.h.

Referenced by SiStripMonitorTrack().

bool SiStripMonitorTrack::layerston
private

Definition at line 162 of file SiStripMonitorTrack.h.

Referenced by SiStripMonitorTrack().

bool SiStripMonitorTrack::layerstoncorrontrack
private

Definition at line 164 of file SiStripMonitorTrack.h.

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

bool SiStripMonitorTrack::layerwidth
private

Definition at line 166 of file SiStripMonitorTrack.h.

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

LocalVector SiStripMonitorTrack::LV
private

Definition at line 102 of file SiStripMonitorTrack.h.

bool SiStripMonitorTrack::Mod_On_
private

Definition at line 152 of file SiStripMonitorTrack.h.

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

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

Definition at line 142 of file SiStripMonitorTrack.h.

Referenced by bookModMEs(), and fillModMEs().

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

Definition at line 171 of file SiStripMonitorTrack.h.

Referenced by AllClusters(), and RecHitInfo().

bool SiStripMonitorTrack::OffHisto_On_
private

Definition at line 154 of file SiStripMonitorTrack.h.

edm::ParameterSet SiStripMonitorTrack::Parameters
private

Definition at line 149 of file SiStripMonitorTrack.h.

bool SiStripMonitorTrack::ring_flag
private

Definition at line 156 of file SiStripMonitorTrack.h.

int SiStripMonitorTrack::runNb
private

Definition at line 176 of file SiStripMonitorTrack.h.

Referenced by analyze().

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

Definition at line 147 of file SiStripMonitorTrack.h.

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

double SiStripMonitorTrack::sToNLowerLimit_
private

Definition at line 180 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

double SiStripMonitorTrack::sToNUpperLimit_
private

Definition at line 181 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

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

Definition at line 144 of file SiStripMonitorTrack.h.

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

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

Definition at line 146 of file SiStripMonitorTrack.h.

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

TkHistoMap * SiStripMonitorTrack::tkhisto_NumOffTrack
private

Definition at line 106 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

TkHistoMap * SiStripMonitorTrack::tkhisto_NumOnTrack
private

Definition at line 106 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

TkHistoMap* SiStripMonitorTrack::tkhisto_StoNCorrOnTrack
private

Definition at line 106 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

bool SiStripMonitorTrack::TkHistoMap_On_
private

Definition at line 157 of file SiStripMonitorTrack.h.

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

bool SiStripMonitorTrack::trackAssociatorCollection_in_EventTree
private

Definition at line 174 of file SiStripMonitorTrack.h.

std::string SiStripMonitorTrack::TrackLabel_
private

Definition at line 169 of file SiStripMonitorTrack.h.

Referenced by SiStripMonitorTrack(), and trackStudy().

std::string SiStripMonitorTrack::TrackProducer_
private

Definition at line 168 of file SiStripMonitorTrack.h.

Referenced by SiStripMonitorTrack(), and trackStudy().

bool SiStripMonitorTrack::tracksCollection_in_EventTree
private

Definition at line 173 of file SiStripMonitorTrack.h.

bool SiStripMonitorTrack::Trend_On_
private

Definition at line 153 of file SiStripMonitorTrack.h.

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

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

Definition at line 172 of file SiStripMonitorTrack.h.

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

double SiStripMonitorTrack::widthLowerLimit_
private

Definition at line 182 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

double SiStripMonitorTrack::widthUpperLimit_
private

Definition at line 183 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().