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
MuonAlignmentSummary Class Reference

#include <MuonAlignmentSummary.h>

Inheritance diagram for MuonAlignmentSummary:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

void analyze (const edm::Event &event, const edm::EventSetup &iSetup)
 Get the analysis. More...
 
void beginRun (edm::Run const &run, edm::EventSetup const &iSetup)
 Inizialize parameters for histo binning. More...
 
void endRun (edm::Run const &run, edm::EventSetup const &iSetup)
 Save the histos. More...
 
 MuonAlignmentSummary (const edm::ParameterSet &)
 Constructor. More...
 
virtual ~MuonAlignmentSummary ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Attributes

DQMStoredbe
 
bool doCSC
 
bool doDT
 
MonitorElementhLocalAngleCSC
 
MonitorElementhLocalAngleDT
 
MonitorElementhLocalAngleRmsCSC
 
MonitorElementhLocalAngleRmsDT
 
MonitorElementhLocalPhiMeanCSC
 
MonitorElementhLocalPhiMeanDT
 
MonitorElementhLocalPhiRmsCSC
 
MonitorElementhLocalPhiRmsDT
 
MonitorElementhLocalPositionCSC
 
MonitorElementhLocalPositionDT
 
MonitorElementhLocalPositionRmsCSC
 
MonitorElementhLocalPositionRmsDT
 
MonitorElementhLocalThetaMeanCSC
 
MonitorElementhLocalThetaMeanDT
 
MonitorElementhLocalThetaRmsCSC
 
MonitorElementhLocalThetaRmsDT
 
MonitorElementhLocalXMeanCSC
 
MonitorElementhLocalXMeanDT
 
MonitorElementhLocalXRmsCSC
 
MonitorElementhLocalXRmsDT
 
MonitorElementhLocalYMeanCSC
 
MonitorElementhLocalYMeanDT
 
MonitorElementhLocalYRmsCSC
 
MonitorElementhLocalYRmsDT
 
double meanAngleRange
 
double meanPositionRange
 
std::string MEFolderName
 
std::string metname
 
edm::ParameterSet parameters
 
double rmsAngleRange
 
double rmsPositionRange
 
std::stringstream topFolder
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- 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::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

DQM client for muon alignment summary

Author
J. Fernandez - Univ. Oviedo Javie.nosp@m.r.Fe.nosp@m.rnand.nosp@m.ez@c.nosp@m.ern.c.nosp@m.h

Definition at line 35 of file MuonAlignmentSummary.h.

Constructor & Destructor Documentation

MuonAlignmentSummary::MuonAlignmentSummary ( const edm::ParameterSet pSet)

Constructor.

Definition at line 12 of file MuonAlignmentSummary.cc.

References dbe, doCSC, doDT, cmsRelvalreport::exit, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), meanAngleRange, meanPositionRange, MEFolderName, cppFunctionSkipper::operator, parameters, rmsAngleRange, rmsPositionRange, AlCaHLTBitMon_QueryRunRegistry::string, and topFolder.

12  {
13 
14  parameters = pSet;
15 
16  meanPositionRange = parameters.getUntrackedParameter<double>("meanPositionRange");
17  rmsPositionRange = parameters.getUntrackedParameter<double>("rmsPositionRange");
18  meanAngleRange = parameters.getUntrackedParameter<double>("meanAngleRange");
19  rmsAngleRange = parameters.getUntrackedParameter<double>("rmsAngleRange");
20 
21  doDT = parameters.getUntrackedParameter<bool>("doDT");
22  doCSC = parameters.getUntrackedParameter<bool>("doCSC");
23 
25  topFolder << MEFolderName+"Alignment/Muon";
26 
27  if(!(doDT || doCSC) ) {
28  edm::LogError("MuonAlignmentSummary") <<" Error!! At least one Muon subsystem (DT or CSC) must be monitorized!!" << std::endl;
29  edm::LogError("MuonAlignmentSummary") <<" Please enable doDT or doCSC to True in your python cfg file!!!" << std::endl;
30  exit(1);
31  }
32 
34 
35 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::ParameterSet parameters
std::stringstream topFolder
MuonAlignmentSummary::~MuonAlignmentSummary ( )
virtual

Destructor.

Definition at line 37 of file MuonAlignmentSummary.cc.

37  {
38 }

Member Function Documentation

void MuonAlignmentSummary::analyze ( const edm::Event event,
const edm::EventSetup iSetup 
)
inlinevirtual

Get the analysis.

Implements edm::EDAnalyzer.

Definition at line 48 of file MuonAlignmentSummary.h.

48 {}
void MuonAlignmentSummary::beginRun ( edm::Run const &  run,
edm::EventSetup const &  iSetup 
)
virtual

Inizialize parameters for histo binning.

Reimplemented from edm::EDAnalyzer.

Definition at line 41 of file MuonAlignmentSummary.cc.

References DQMStore::book1D(), DQMStore::book2D(), dbe, doCSC, doDT, hLocalAngleCSC, hLocalAngleDT, hLocalAngleRmsCSC, hLocalAngleRmsDT, hLocalPhiMeanCSC, hLocalPhiMeanDT, hLocalPhiRmsCSC, hLocalPhiRmsDT, hLocalPositionCSC, hLocalPositionDT, hLocalPositionRmsCSC, hLocalPositionRmsDT, hLocalThetaMeanCSC, hLocalThetaMeanDT, hLocalThetaRmsCSC, hLocalThetaRmsDT, hLocalXMeanCSC, hLocalXMeanDT, hLocalXRmsCSC, hLocalXRmsDT, hLocalYMeanCSC, hLocalYMeanDT, hLocalYRmsCSC, hLocalYRmsDT, LogTrace, meanAngleRange, meanPositionRange, metname, MonitorElement::Reset(), rmsAngleRange, rmsPositionRange, DQMStore::setCurrentFolder(), and topFolder.

41  {
42 
43 
44  metname = "MuonAlignmentSummary";
45 
46  LogTrace(metname)<<"[MuonAlignmentSummary] Parameters initialization";
47 
48 
49  if (doDT){
50  dbe->setCurrentFolder(topFolder.str()+"/DT");
51  hLocalPositionDT=dbe->book2D("hLocalPositionDT","Local DT position (cm) absolute MEAN residuals;Sector;;cm", 14,1, 15,40,0,40);
52  hLocalAngleDT=dbe->book2D("hLocalAngleDT","Local DT angle (rad) absolute MEAN residuals;Sector;;rad", 14,1, 15,40,0,40);
53  hLocalPositionRmsDT=dbe->book2D("hLocalPositionRmsDT","Local DT position (cm) RMS residuals;Sector;;cm", 14,1, 15,40,0,40);
54  hLocalAngleRmsDT=dbe->book2D("hLocalAngleRmsDT","Local DT angle (rad) RMS residuals;Sector;;rad", 14,1, 15,40,0,40);
55 
56  hLocalXMeanDT=dbe->book1D("hLocalXMeanDT","Distribution of absolute MEAN Local X (cm) residuals for DT;<X> (cm);number of chambers",100,0,meanPositionRange);
57  hLocalXRmsDT=dbe->book1D("hLocalXRmsDT","Distribution of RMS Local X (cm) residuals for DT;X RMS (cm);number of chambers", 100,0,rmsPositionRange);
58  hLocalYMeanDT=dbe->book1D("hLocalYMeanDT","Distribution of absolute MEAN Local Y (cm) residuals for DT;<Y> (cm);number of chambers", 100,0,meanPositionRange);
59  hLocalYRmsDT=dbe->book1D("hLocalYRmsDT","Distribution of RMS Local Y (cm) residuals for DT;Y RMS (cm);number of chambers", 100,0,rmsPositionRange);
60 
61  hLocalPhiMeanDT=dbe->book1D("hLocalPhiMeanDT","Distribution of absolute MEAN #phi (rad) residuals for DT;<#phi>(rad);number of chambers", 100,0,meanAngleRange);
62  hLocalPhiRmsDT=dbe->book1D("hLocalPhiRmsDT","Distribution of RMS #phi (rad) residuals for DT;#phi RMS (rad);number of chambers", 100,0,rmsAngleRange);
63  hLocalThetaMeanDT=dbe->book1D("hLocalThetaMeanDT","Distribution of absolute MEAN #theta (rad) residuals for DT;<#theta>(rad);number of chambers", 100,0,meanAngleRange);
64  hLocalThetaRmsDT=dbe->book1D("hLocalThetaRmsDT","Distribution of RMS #theta (rad) residuals for DT;#theta RMS (rad);number of chambers",100,0,rmsAngleRange);
65 
78 
79  }
80 
81  if (doCSC){
82 
83  dbe->setCurrentFolder(topFolder.str()+"/CSC");
84  hLocalPositionCSC=dbe->book2D("hLocalPositionCSC","Local CSC position (cm) absolute MEAN residuals;Sector;;cm",36,1,37,40,0,40);
85  hLocalAngleCSC=dbe->book2D("hLocalAngleCSC","Local CSC angle (rad) absolute MEAN residuals;Sector;;rad", 36,1,37,40,0,40);
86  hLocalPositionRmsCSC=dbe->book2D("hLocalPositionRmsCSC","Local CSC position (cm) RMS residuals;Sector;;cm", 36,1,37,40,0,40);
87  hLocalAngleRmsCSC=dbe->book2D("hLocalAngleRmsCSC","Local CSC angle (rad) RMS residuals;Sector;;rad", 36,1,37,40,0,40);
88 
89  hLocalXMeanCSC=dbe->book1D("hLocalXMeanCSC","Distribution of absolute MEAN Local X (cm) residuals for CSC;<X> (cm);number of chambers",100,0,meanPositionRange);
90  hLocalXRmsCSC=dbe->book1D("hLocalXRmsCSC","Distribution of RMS Local X (cm) residuals for CSC;X RMS (cm);number of chambers", 100,0,rmsPositionRange);
91  hLocalYMeanCSC=dbe->book1D("hLocalYMeanCSC","Distribution of absolute MEAN Local Y (cm) residuals for CSC;<Y> (cm);number of chambers", 100,0,meanPositionRange);
92  hLocalYRmsCSC=dbe->book1D("hLocalYRmsCSC","Distribution of RMS Local Y (cm) residuals for CSC;Y RMS (cm);number of chambers", 100,0,rmsPositionRange);
93 
94  hLocalPhiMeanCSC=dbe->book1D("hLocalPhiMeanCSC","Distribution of absolute MEAN #phi (rad) residuals for CSC;<#phi>(rad);number of chambers", 100,0,meanAngleRange);
95  hLocalPhiRmsCSC=dbe->book1D("hLocalPhiRmsCSC","Distribution of RMS #phi (rad) residuals for CSC;#phi RMS (rad);number of chambers", 100,0,rmsAngleRange);
96  hLocalThetaMeanCSC=dbe->book1D("hLocalThetaMeanCSC","Distribution of absolute MEAN #theta (rad) residuals for CSC;<#theta>(rad);number of chambers", 100,0,meanAngleRange);
97  hLocalThetaRmsCSC=dbe->book1D("hLocalThetaRmsCSC","Distribution of RMS #theta (rad) residuals for CSC;#theta RMS (rad);number of chambers",100,0,rmsAngleRange);
98 
104  hLocalXRmsCSC->Reset();
106  hLocalYRmsCSC->Reset();
111 
112 
113  }
114 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:1006
MonitorElement * hLocalPositionRmsDT
MonitorElement * hLocalAngleRmsDT
MonitorElement * hLocalYRmsDT
MonitorElement * hLocalPositionRmsCSC
MonitorElement * hLocalThetaRmsDT
MonitorElement * hLocalAngleRmsCSC
MonitorElement * hLocalPhiMeanCSC
MonitorElement * hLocalYRmsCSC
MonitorElement * hLocalThetaRmsCSC
#define LogTrace(id)
MonitorElement * hLocalXMeanCSC
MonitorElement * hLocalXRmsCSC
MonitorElement * hLocalThetaMeanCSC
MonitorElement * hLocalPhiRmsDT
MonitorElement * hLocalYMeanCSC
MonitorElement * hLocalThetaMeanDT
MonitorElement * hLocalPhiMeanDT
MonitorElement * hLocalAngleCSC
MonitorElement * hLocalPhiRmsCSC
MonitorElement * hLocalPositionDT
MonitorElement * hLocalXRmsDT
std::stringstream topFolder
MonitorElement * hLocalYMeanDT
MonitorElement * hLocalXMeanDT
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:1134
MonitorElement * hLocalPositionCSC
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * hLocalAngleDT
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:719
void MuonAlignmentSummary::endRun ( edm::Run const &  run,
edm::EventSetup const &  iSetup 
)
virtual

Save the histos.

Reimplemented from edm::EDAnalyzer.

Definition at line 117 of file MuonAlignmentSummary.cc.

References funct::abs(), dbe, doCSC, doDT, MonitorElement::Fill(), DQMStore::get(), MonitorElement::getEntries(), MonitorElement::getMean(), MonitorElement::getMeanError(), timingPdfMaker::histo, hLocalAngleCSC, hLocalAngleDT, hLocalAngleRmsCSC, hLocalAngleRmsDT, hLocalPhiMeanCSC, hLocalPhiMeanDT, hLocalPhiRmsCSC, hLocalPhiRmsDT, hLocalPositionCSC, hLocalPositionDT, hLocalPositionRmsCSC, hLocalPositionRmsDT, hLocalThetaMeanCSC, hLocalThetaMeanDT, hLocalThetaRmsCSC, hLocalThetaRmsDT, hLocalXMeanCSC, hLocalXMeanDT, hLocalXRmsCSC, hLocalXRmsDT, hLocalYMeanCSC, hLocalYMeanDT, hLocalYRmsCSC, hLocalYRmsDT, LogTrace, Mean, metname, cmsHarvester::path, relativeConstraints::ring, MonitorElement::setBinContent(), MonitorElement::setBinLabel(), relativeConstraints::station, AlCaHLTBitMon_QueryRunRegistry::string, and topFolder.

117  {
118 
119 
120  LogTrace(metname)<<"[MuonAlignmentSummary] Saving the histos";
121 
122  char binLabel[15];
123 
124  for (int station=-4; station<5;station++){
125  if (doDT){
126  if(station>0){
127 
128  for(int wheel=-2;wheel<3;wheel++){
129 
130  for (int sector=1;sector<15;sector++){
131 
132  if(!((sector==13 || sector ==14) && station!=4)){
133 
134  std::stringstream Wheel; Wheel<<wheel;
135  std::stringstream Station; Station<<station;
136  std::stringstream Sector; Sector<<sector;
137 
138  std::string nameOfHistoLocalX="ResidualLocalX_W"+Wheel.str()+"MB"+Station.str()+"S"+Sector.str();
139  std::string nameOfHistoLocalPhi= "ResidualLocalPhi_W"+Wheel.str()+"MB"+Station.str()+"S"+Sector.str();
140  std::string nameOfHistoLocalTheta= "ResidualLocalTheta_W"+Wheel.str()+"MB"+Station.str()+"S"+Sector.str();
141  std::string nameOfHistoLocalY= "ResidualLocalY_W"+Wheel.str()+"MB"+Station.str()+"S"+Sector.str();
142 
143  std::string path= topFolder.str()+
144  "/DT/Wheel"+Wheel.str()+
145  "/Station"+Station.str()+
146  "/Sector"+Sector.str()+"/";
147 
148  std::string histo = path+nameOfHistoLocalX;
149 
150  Int_t nstation=station - 1;
151  Int_t nwheel=wheel+2;
152  MonitorElement * localX =dbe->get(histo);
153  if(localX){
154 
155  Double_t Mean=localX->getMean();
156  Double_t Error=localX->getMeanError();
157 
158  Int_t ybin=1+nwheel*8+nstation*2;
159  hLocalPositionDT->setBinContent(sector,ybin,fabs(Mean));
160  snprintf(binLabel, sizeof(binLabel), "MB%d/%d_X",wheel, station );
161  hLocalPositionDT->setBinLabel(ybin,binLabel,2);
162  hLocalPositionRmsDT->setBinContent(sector,ybin,Error);
163  hLocalPositionRmsDT->setBinLabel(ybin,binLabel,2);
164 
165  if(localX->getEntries()!=0){
166  hLocalXMeanDT->Fill(fabs(Mean));
167  hLocalXRmsDT->Fill(Error);}
168  }
169 
170  histo = path+nameOfHistoLocalPhi;
171  MonitorElement * localPhi = dbe->get(histo);
172  if(localPhi){
173 
174  Double_t Mean=localPhi->getMean();
175  Double_t Error=localPhi->getMeanError();
176 
177  Int_t ybin=1+nwheel*8+nstation*2;
178  hLocalAngleDT->setBinContent(sector,ybin,fabs(Mean));
179  snprintf(binLabel, sizeof(binLabel), "MB%d/%d_#phi", wheel,station );
180  hLocalAngleDT->setBinLabel(ybin,binLabel,2);
181  hLocalAngleRmsDT->setBinContent(sector,ybin,Error);
182  hLocalAngleRmsDT->setBinLabel(ybin,binLabel,2);
183 
184  if(localPhi->getEntries()!=0){
185  hLocalPhiMeanDT->Fill(fabs(Mean));
186  hLocalPhiRmsDT->Fill(Error);}
187  }
188 
189  if(station!=4){
190 
191  histo=path+nameOfHistoLocalY;
192  MonitorElement * localY = dbe->get(histo);
193  if(localY){
194 
195  Double_t Mean=localY->getMean();
196  Double_t Error=localY->getMeanError();
197 
198  Int_t ybin=2+nwheel*8+nstation*2;
199  hLocalPositionDT->setBinContent(sector,ybin,fabs(Mean));
200  snprintf(binLabel, sizeof(binLabel), "MB%d/%d_Y", wheel,station );
201  hLocalPositionDT->setBinLabel(ybin,binLabel,2);
202  hLocalPositionRmsDT->setBinContent(sector,ybin,Error);
203  hLocalPositionRmsDT->setBinLabel(ybin,binLabel,2);
204  if(localY->getEntries()!=0){
205  hLocalYMeanDT->Fill(fabs(Mean));
206  hLocalYRmsDT->Fill(Error);}
207  }
208  histo = path+nameOfHistoLocalTheta;
209  MonitorElement * localTheta = dbe->get(histo);
210  if(localTheta){
211  Double_t Mean=localTheta->getMean();
212  Double_t Error=localTheta->getMeanError();
213 
214  Int_t ybin=2+nwheel*8+nstation*2;
215  hLocalAngleDT->setBinContent(sector,ybin,fabs(Mean));
216  snprintf(binLabel, sizeof(binLabel), "MB%d/%d_#theta",wheel,station );
217  hLocalAngleDT->setBinLabel(ybin,binLabel,2);
218  hLocalAngleRmsDT->setBinContent(sector,ybin,Error);
219  hLocalAngleRmsDT->setBinLabel(ybin,binLabel,2);
220  if(localTheta->getEntries()!=0){
221  hLocalThetaMeanDT->Fill(fabs(Mean));
222  hLocalThetaRmsDT->Fill(Error);}
223  }
224 
225  }// station != 4
226 
227  } //avoid non existing sectors
228  } //sector
229  } //wheel
230  } //station>0
231  }// doDT
232 
233  if (doCSC){
234  if(station!=0){
235 
236  for(int ring=1;ring<5;ring++){
237 
238  for(int chamber=1;chamber<37;chamber++){
239 
240  if( !( ((abs(station)==2 || abs(station)==3 || abs(station)==4) && ring==1 && chamber>18) ||
241  ((abs(station)==2 || abs(station)==3 || abs(station)==4) && ring>2)) ){
242  std::stringstream Ring; Ring<<ring;
243  std::stringstream Station; Station<<station;
244  std::stringstream Chamber; Chamber<<chamber;
245 
246  std::string nameOfHistoLocalX="ResidualLocalX_ME"+Station.str()+"R"+Ring.str()+"C"+Chamber.str();
247  std::string nameOfHistoLocalPhi= "ResidualLocalPhi_ME"+Station.str()+"R"+Ring.str()+"C"+Chamber.str();
248  std::string nameOfHistoLocalTheta= "ResidualLocalTheta_ME"+Station.str()+"R"+Ring.str()+"C"+Chamber.str();
249  std::string nameOfHistoLocalY= "ResidualLocalY_ME"+Station.str()+"R"+Ring.str()+"C"+Chamber.str();
250 
251  std::string path = topFolder.str()+
252  "/CSC/Station"+Station.str()+
253  "/Ring"+Ring.str()+
254  "/Chamber"+Chamber.str()+"/";
255 
256  Int_t ybin=abs(station)*2+ring;
257  if(abs(station)==1) ybin=ring;
258  if (station>0) ybin=ybin+10;
259  else ybin = 11 -ybin;
260  std::string histo = path + nameOfHistoLocalX;
261  MonitorElement * localX = dbe->get(histo);
262  if(localX){
263 
264  Double_t Mean=localX->getMean();
265  Double_t Error=localX->getMeanError();
266 
267  Int_t ybin2=2*ybin-1;
268  hLocalPositionCSC->setBinContent(chamber,ybin2,fabs(Mean));
269  snprintf(binLabel, sizeof(binLabel), "ME%d/%d_X", station,ring );
270  hLocalPositionCSC->setBinLabel(ybin2,binLabel,2);
271  hLocalPositionRmsCSC->setBinContent(chamber,ybin2,Error);
272  hLocalPositionRmsCSC->setBinLabel(ybin2,binLabel,2);
273  if(localX->getEntries()!=0){
274  hLocalXMeanCSC->Fill(fabs(Mean));
275  hLocalXRmsCSC->Fill(Error);}
276  }
277  histo = path + nameOfHistoLocalPhi;
278 
279  MonitorElement * localPhi = dbe->get(histo);
280  if(localPhi){
281 
282 
283  Double_t Mean=localPhi->getMean();
284  Double_t Error=localPhi->getMeanError();
285 
286  Int_t ybin2=2*ybin-1;
287  hLocalAngleCSC->setBinContent(chamber,ybin2,fabs(Mean));
288  snprintf(binLabel, sizeof(binLabel), "ME%d/%d_#phi", station,ring );
289  hLocalAngleCSC->setBinLabel(ybin2,binLabel,2);
290  hLocalAngleRmsCSC->setBinContent(chamber,ybin2,Error);
291  hLocalAngleRmsCSC->setBinLabel(ybin2,binLabel,2);
292  if(localPhi->getEntries()!=0){
293  hLocalPhiMeanCSC->Fill(fabs(Mean));
294  hLocalPhiRmsCSC->Fill(Error);}
295  }
296  histo = path + nameOfHistoLocalTheta;
297  MonitorElement * localTheta = dbe->get(histo);
298  if(localTheta){
299 
300 
301  Double_t Mean=localTheta->getMean();
302  Double_t Error=localTheta->getMeanError();
303 
304  Int_t ybin2=2*ybin;
305  hLocalAngleCSC->setBinContent(chamber,ybin2,fabs(Mean));
306  snprintf(binLabel, sizeof(binLabel), "ME%d/%d_#theta", station,ring );
307  hLocalAngleCSC->setBinLabel(ybin2,binLabel,2);
308  hLocalAngleRmsCSC->setBinContent(chamber,ybin2,Error);
309  hLocalAngleRmsCSC->setBinLabel(ybin2,binLabel,2);
310  if(localTheta->getEntries()!=0){
311  hLocalThetaMeanCSC->Fill(fabs(Mean));
312  hLocalThetaRmsCSC->Fill(Error);}
313 
314  }
315  histo = path + nameOfHistoLocalY;
316 
317  MonitorElement * localY = dbe->get(histo);
318  if(localY){
319 
320  Double_t Mean=localY->getMean();
321  Double_t Error=localY->getMeanError();
322 
323  Int_t ybin2=2*ybin;
324  hLocalPositionCSC->setBinContent(chamber,ybin2,fabs(Mean));
325  snprintf(binLabel, sizeof(binLabel), "ME%d/%d_Y", station,ring );
326  hLocalPositionCSC->setBinLabel(ybin2,binLabel,2);
327  hLocalPositionRmsCSC->setBinContent(chamber,ybin2,Error);
328  hLocalPositionRmsCSC->setBinLabel(ybin2,binLabel,2);
329  if(localY->getEntries()!=0){
330  hLocalYMeanCSC->Fill(fabs(Mean));
331  hLocalYRmsCSC->Fill(Error);}
332  }
333  } //avoid non existing rings
334  } //chamber
335  } //ring
336  } // station!=0
337  }// doCSC
338 
339  } // loop on stations
340 
341 }
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * hLocalPositionRmsDT
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * hLocalAngleRmsDT
double getEntries(void) const
get # of entries
double getMean(int axis=1) const
get mean value of histogram along x, y or z axis (axis=1, 2, 3 respectively)
double getMeanError(int axis=1) const
void Fill(long long x)
MonitorElement * hLocalYRmsDT
tuple path
else: Piece not in the list, fine.
MonitorElement * hLocalPositionRmsCSC
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
MonitorElement * hLocalThetaRmsDT
MonitorElement * hLocalAngleRmsCSC
MonitorElement * hLocalPhiMeanCSC
MonitorElement * hLocalYRmsCSC
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1760
MonitorElement * hLocalThetaRmsCSC
#define LogTrace(id)
MonitorElement * hLocalXMeanCSC
MonitorElement * hLocalXRmsCSC
MonitorElement * hLocalThetaMeanCSC
MonitorElement * hLocalPhiRmsDT
MonitorElement * hLocalYMeanCSC
MonitorElement * hLocalThetaMeanDT
MonitorElement * hLocalPhiMeanDT
MonitorElement * hLocalAngleCSC
MonitorElement * hLocalPhiRmsCSC
MonitorElement * hLocalPositionDT
MonitorElement * hLocalXRmsDT
std::stringstream topFolder
MonitorElement * hLocalYMeanDT
MonitorElement * hLocalXMeanDT
MonitorElement * hLocalPositionCSC
MonitorElement * hLocalAngleDT

Member Data Documentation

DQMStore* MuonAlignmentSummary::dbe
private

Definition at line 56 of file MuonAlignmentSummary.h.

Referenced by beginRun(), endRun(), and MuonAlignmentSummary().

bool MuonAlignmentSummary::doCSC
private

Definition at line 95 of file MuonAlignmentSummary.h.

Referenced by beginRun(), endRun(), and MuonAlignmentSummary().

bool MuonAlignmentSummary::doDT
private

Definition at line 95 of file MuonAlignmentSummary.h.

Referenced by beginRun(), endRun(), and MuonAlignmentSummary().

MonitorElement* MuonAlignmentSummary::hLocalAngleCSC
private

Definition at line 74 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalAngleDT
private

Definition at line 60 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalAngleRmsCSC
private

Definition at line 75 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalAngleRmsDT
private

Definition at line 61 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalPhiMeanCSC
private

Definition at line 81 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalPhiMeanDT
private

Definition at line 67 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalPhiRmsCSC
private

Definition at line 82 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalPhiRmsDT
private

Definition at line 68 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalPositionCSC
private

Definition at line 72 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalPositionDT
private

Definition at line 58 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalPositionRmsCSC
private

Definition at line 73 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalPositionRmsDT
private

Definition at line 59 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalThetaMeanCSC
private

Definition at line 83 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalThetaMeanDT
private

Definition at line 69 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalThetaRmsCSC
private

Definition at line 84 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalThetaRmsDT
private

Definition at line 70 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalXMeanCSC
private

Definition at line 77 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalXMeanDT
private

Definition at line 63 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalXRmsCSC
private

Definition at line 78 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalXRmsDT
private

Definition at line 64 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalYMeanCSC
private

Definition at line 79 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalYMeanDT
private

Definition at line 65 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalYRmsCSC
private

Definition at line 80 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

MonitorElement* MuonAlignmentSummary::hLocalYRmsDT
private

Definition at line 66 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

double MuonAlignmentSummary::meanAngleRange
private

Definition at line 92 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and MuonAlignmentSummary().

double MuonAlignmentSummary::meanPositionRange
private

Definition at line 92 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and MuonAlignmentSummary().

std::string MuonAlignmentSummary::MEFolderName
private

Definition at line 98 of file MuonAlignmentSummary.h.

Referenced by MuonAlignmentSummary().

std::string MuonAlignmentSummary::metname
private

Definition at line 89 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and endRun().

edm::ParameterSet MuonAlignmentSummary::parameters
private
double MuonAlignmentSummary::rmsAngleRange
private

Definition at line 92 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and MuonAlignmentSummary().

double MuonAlignmentSummary::rmsPositionRange
private

Definition at line 92 of file MuonAlignmentSummary.h.

Referenced by beginRun(), and MuonAlignmentSummary().

std::stringstream MuonAlignmentSummary::topFolder
private

Definition at line 99 of file MuonAlignmentSummary.h.

Referenced by beginRun(), endRun(), and MuonAlignmentSummary().