CMS 3D CMS Logo

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

#include <SiStripCablingDQM.h>

Inheritance diagram for SiStripCablingDQM:
SiStripBaseCondObjDQM

Public Member Functions

void fillMEsForDet (const ModMEs &selModME_, uint32_t selDetId_, const TrackerTopology *tTopo)
 
void fillMEsForLayer (uint32_t selDetId_, const TrackerTopology *tTopo)
 
void fillModMEs (const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)
 
void fillSummaryMEs (const std::vector< uint32_t > &selectedDetIds, const edm::EventSetup &es)
 
void getActiveDetIds (const edm::EventSetup &eSetup)
 
unsigned long long getCache (const edm::EventSetup &eSetup)
 
void getConditionObject (const edm::EventSetup &eSetup)
 
 SiStripCablingDQM (const edm::EventSetup &eSetup, edm::ParameterSet const &hPSet, edm::ParameterSet const &fPSet)
 
 ~SiStripCablingDQM ()
 
- Public Member Functions inherited from SiStripBaseCondObjDQM
void analysis (const edm::EventSetup &eSetup_)
 
void analysisOnDemand (const edm::EventSetup &eSetup_, uint32_t detIdOnDemand)
 
void analysisOnDemand (const edm::EventSetup &eSetup_, const std::vector< uint32_t > &detIdsOnDemand)
 
void analysisOnDemand (const edm::EventSetup &eSetup_, std::string requestedSubDetector, uint32_t requestedSide, uint32_t requestedLayer)
 
virtual void end ()
 
std::vector< uint32_t > getCabledModules ()
 
void selectModules (std::vector< uint32_t > &detIds_)
 
 SiStripBaseCondObjDQM (const edm::EventSetup &eSetup, edm::ParameterSet const &hPSet, edm::ParameterSet const &fPSet)
 
virtual ~SiStripBaseCondObjDQM ()
 

Private Attributes

edm::ESHandle< SiStripDetCablingcablingHandle_
 

Additional Inherited Members

- Protected Member Functions inherited from SiStripBaseCondObjDQM
void fillTkMap (const uint32_t &detid, const float &value)
 
std::pair< std::string, uint32_t > getLayerNameAndId (const uint32_t &detId_, const TrackerTopology *tTopo)
 
void getModMEs (ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
 
std::vector< uint32_t > GetSameLayerDetId (const std::vector< uint32_t > &activeDetIds, uint32_t selDetId, const TrackerTopology *tTopo)
 
std::pair< std::string, uint32_t > getStringNameAndId (const uint32_t &detId_, const TrackerTopology *tTopo)
 
void getSummaryMEs (ModMEs &CondObj_ME, const uint32_t &detId_, const TrackerTopology *tTopo)
 
- Protected Attributes inherited from SiStripBaseCondObjDQM
std::vector< uint32_t > activeDetIds
 
std::vector< uint32_t > all_DetIds
 
unsigned long long cacheID_current
 
unsigned long long cacheID_memory
 
std::string CondObj_fillId_
 
std::string CondObj_name_
 
const edm::EventSetupeSetup_
 
edm::ParameterSet fPSet_
 
bool GrandSummary_On_
 
bool HistoMaps_On_
 
edm::ParameterSet hPSet_
 
double maxValue
 
double minValue
 
bool Mod_On_
 
std::map< uint32_t, ModMEsModMEsMap_
 
SiStripDetInfoFileReaderreader
 
std::map< uint32_t, ModMEsSummaryMEsMap_
 
bool SummaryOnLayerLevel_On_
 
bool SummaryOnStringLevel_On_
 
TkHistoMapTk_HM_
 
TkHistoMapTk_HM_H
 
TkHistoMapTk_HM_L
 
TrackerMaptkMap
 
std::vector< int > tkMapScaler
 

Detailed Description

Definition at line 15 of file SiStripCablingDQM.h.

Constructor & Destructor Documentation

SiStripCablingDQM::SiStripCablingDQM ( const edm::EventSetup eSetup,
edm::ParameterSet const &  hPSet,
edm::ParameterSet const &  fPSet 
)

Definition at line 8 of file SiStripCablingDQM.cc.

References SiStripBaseCondObjDQM::HistoMaps_On_, and SiStripBaseCondObjDQM::Tk_HM_.

10  :SiStripBaseCondObjDQM(eSetup, hPSet, fPSet){
11 
12  // Build the Histo_TkMap:
13  if(HistoMaps_On_ ) Tk_HM_ = new TkHistoMap("SiStrip/Histo_Map","Cabling_TkMap",0.);
14 
15 }
SiStripBaseCondObjDQM(const edm::EventSetup &eSetup, edm::ParameterSet const &hPSet, edm::ParameterSet const &fPSet)
SiStripCablingDQM::~SiStripCablingDQM ( )

Definition at line 19 of file SiStripCablingDQM.cc.

19 {}

Member Function Documentation

void SiStripCablingDQM::fillMEsForDet ( const ModMEs selModME_,
uint32_t  selDetId_,
const TrackerTopology tTopo 
)
inlinevirtual

Implements SiStripBaseCondObjDQM.

Definition at line 28 of file SiStripCablingDQM.h.

28 {;}
void SiStripCablingDQM::fillMEsForLayer ( uint32_t  selDetId_,
const TrackerTopology tTopo 
)
inlinevirtual

Implements SiStripBaseCondObjDQM.

Definition at line 29 of file SiStripCablingDQM.h.

29 {;}
void SiStripCablingDQM::fillModMEs ( const std::vector< uint32_t > &  selectedDetIds,
const edm::EventSetup es 
)
inlinevirtual

Reimplemented from SiStripBaseCondObjDQM.

Definition at line 25 of file SiStripCablingDQM.h.

25 {;}
void SiStripCablingDQM::fillSummaryMEs ( const std::vector< uint32_t > &  selectedDetIds,
const edm::EventSetup es 
)
inlinevirtual

Reimplemented from SiStripBaseCondObjDQM.

Definition at line 26 of file SiStripCablingDQM.h.

26 {;}
void SiStripCablingDQM::getActiveDetIds ( const edm::EventSetup eSetup)
virtual

Implements SiStripBaseCondObjDQM.

Definition at line 25 of file SiStripCablingDQM.cc.

References SiStripBaseCondObjDQM::activeDetIds, alignmentValidation::c1, cablingHandle_, AlcaSiStripGainsHarvester_cff::DQMStore, SiStripBaseCondObjDQM::dqmStore_, TkHistoMap::fill(), MonitorElement::Fill(), SiStripBaseCondObjDQM::fillTkMap(), SiStripBaseCondObjDQM::fPSet_, edm::EventSetup::get(), getConditionObject(), edm::ParameterSet::getParameter(), MonitorElement::getTH1(), SiStripBaseCondObjDQM::HistoMaps_On_, SiStripBaseCondObjDQM::hPSet_, i, edm::ESHandleBase::isValid(), j, mergeVDriftHistosByStation::name, cppFunctionSkipper::operator, edm::ESHandle< class >::product(), MonitorElement::setAxisTitle(), AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), StripSubdetector::TEC, TrackerTopology::tecSide(), TrackerTopology::tecWheel(), StripSubdetector::TIB, TrackerTopology::tibLayer(), StripSubdetector::TID, TrackerTopology::tidSide(), TrackerTopology::tidWheel(), SiStripBaseCondObjDQM::Tk_HM_, StripSubdetector::TOB, and TrackerTopology::tobLayer().

25  {
26 
27  //Retrieve tracker topology from geometry
29  eSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
30  const TrackerTopology* const tTopo = tTopoHandle.product();
31 
32  // Get active and total detIds
33  getConditionObject(eSetup);
34  if(!cablingHandle_.isValid()) {
35  edm::LogError("InvalidCablingHandle") << "Invalid Cabling Handle";
36  return;
37  }
38  cablingHandle_->addActiveDetectorsRawIds(activeDetIds);
39  cablingHandle_->addAllDetectorsRawIds(activeDetIds);
40 
41 
42  //Initialize arrays for counting:
43  int counterTIB[4];
44  for(int i=0;i<4;i++) counterTIB[i]=0;
45  int counterTID[2][3];
46  for(int i=0;i<2;i++){
47  for(int j=0;j<3;j++)counterTID[i][j]=0;
48  }
49  int counterTOB[6];
50  for(int i=0;i<6;i++)counterTOB[i]=0;
51  int counterTEC[2][9];
52  for(int i=0;i<2;i++){
53  for(int j=0;j<9;j++)counterTEC[i][j]=0;
54  }
55 
56 
57 
58  std::vector<uint32_t>::const_iterator idet=activeDetIds.begin();
59 
60  //fill arrays for counting and fill Histo_Map with value for connected :
61  for(;idet!=activeDetIds.end();++idet){
62  uint32_t detId = *idet;
63  StripSubdetector subdet(detId);
64 
65  if(HistoMaps_On_ ) {Tk_HM_->fill(detId, cablingHandle_->nApvPairs(detId)*2);}
66  if(fPSet_.getParameter<bool>("TkMap_On") || hPSet_.getParameter<bool>("TkMap_On")){
67 
68  int32_t n_conn = 0;
69  for(uint32_t connDet_i=0; connDet_i<cablingHandle_->getConnections(detId).size(); connDet_i++){
70  if(cablingHandle_->getConnections(detId)[connDet_i]!=0 && cablingHandle_->getConnections(detId)[connDet_i]->isConnected()!=0) n_conn++;
71  }
72  fillTkMap(detId,n_conn*2.);
73  }
74  switch (subdet.subdetId())
75  {
77  {
78  int i = tTopo->tibLayer(detId) - 1;
79  counterTIB[i]++;
80  break;
81  }
83  {
84  int j = tTopo->tidWheel(detId) - 1;
85  int side = tTopo->tidSide(detId);
86  if (side == 2) {
87  counterTID[0][j]++;
88  } else if (side == 1) {
89  counterTID[1][j]++;
90  }
91  break;
92  }
94  {
95  int i = tTopo->tobLayer(detId) - 1;
96  counterTOB[i]++;
97  break;
98  }
100  {
101  int j = tTopo->tecWheel(detId) - 1;
102  int side = tTopo->tecSide(detId);
103  if (side == 2) {
104  counterTEC[0][j]++;
105  } else if (side == 1) {
106  counterTEC[1][j]++;
107  }
108  break;
109  }
110  }
111 
112  } // idet
113 
114  //obtained from tracker.dat and hard-coded
115  int TIBDetIds[4]={672,864,540,648};
116  int TIDDetIds[2][3]={{136,136,136},{136,136,136}};
117  int TOBDetIds[6]={1008,1152,648,720,792,888};
118  int TECDetIds[2][9]={{408,408,408,360,360,360,312,312,272},{408,408,408,360,360,360,312,312,272}};
119 
120 
121 
123 
124  std::string FolderName=fPSet_.getParameter<std::string>("FolderName_For_QualityAndCabling_SummaryHistos");
125 
126  dqmStore_->setCurrentFolder(FolderName);
127 
128  // dqmStore_->cd("SiStrip/MechanicalView/");
130  ME = dqmStore_->book2D("SummaryOfCabling","SummaryOfCabling",6,0.5,6.5,9,0.5,9.5);
131  ME->setAxisTitle("Sub Det",1);
132  ME->setAxisTitle("Layer",2);
133 
134 
135  ME->getTH1()->GetXaxis()->SetBinLabel(1,"TIB");
136  ME->getTH1()->GetXaxis()->SetBinLabel(2,"TID F");
137  ME->getTH1()->GetXaxis()->SetBinLabel(3,"TID B");
138  ME->getTH1()->GetXaxis()->SetBinLabel(4,"TOB");
139  ME->getTH1()->GetXaxis()->SetBinLabel(5,"TEC F");
140  ME->getTH1()->GetXaxis()->SetBinLabel(6,"TEC B");
141 
142  for(int i=0;i<4;i++){
143  ME->Fill(1,i+1,float(counterTIB[i])/TIBDetIds[i]);
144  }
145 
146  for(int i=0;i<2;i++){
147  for(int j=0;j<3;j++){
148  ME->Fill(i+2,j+1,float(counterTID[i][j])/TIDDetIds[i][j]);
149  }
150  }
151 
152  for(int i=0;i<6;i++){
153  ME->Fill(4,i+1,float(counterTOB[i])/TOBDetIds[i]);
154  }
155 
156  for(int i=0;i<2;i++){
157  for(int j=0;j<9;j++){
158  ME->Fill(i+5,j+1,float(counterTEC[i][j])/TECDetIds[i][j]);
159  }
160  }
161 
162  if (fPSet_.getParameter<bool>("OutputSummaryAtLayerLevelAsImage")){
163 
164  TCanvas c1("c1");
165  ME->getTH1()->Draw("TEXT");
166  ME->getTH1()->SetStats(kFALSE);
167  std::string name (ME->getTH1()->GetTitle());
168  name+=".png";
169  c1.Print(name.c_str());
170  }
171 
172 }
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
unsigned int tibLayer(const DetId &id) const
unsigned int tidWheel(const DetId &id) const
void fillTkMap(const uint32_t &detid, const float &value)
void Fill(long long x)
unsigned int tidSide(const DetId &id) const
void fill(uint32_t &detid, float value)
Definition: TkHistoMap.cc:180
int j
Definition: DBlmapReader.cc:9
TH1 * getTH1(void) const
void getConditionObject(const edm::EventSetup &eSetup)
edm::ESHandle< SiStripDetCabling > cablingHandle_
const T & get() const
Definition: EventSetup.h:56
T const * product() const
Definition: ESHandle.h:86
MonitorElement ME
std::vector< uint32_t > activeDetIds
bool isValid() const
Definition: ESHandle.h:47
unsigned int tecWheel(const DetId &id) const
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const
unsigned long long SiStripCablingDQM::getCache ( const edm::EventSetup eSetup)
inlinevirtual

Implements SiStripBaseCondObjDQM.

Definition at line 32 of file SiStripCablingDQM.h.

References edm::EventSetup::get().

32 { return eSetup.get<SiStripDetCablingRcd>().cacheIdentifier();}
const T & get() const
Definition: EventSetup.h:56
void SiStripCablingDQM::getConditionObject ( const edm::EventSetup eSetup)
inlinevirtual

Member Data Documentation

edm::ESHandle<SiStripDetCabling> SiStripCablingDQM::cablingHandle_
private

Definition at line 44 of file SiStripCablingDQM.h.

Referenced by getActiveDetIds(), and getConditionObject().