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

#include <RPCBxTest.h>

Inheritance diagram for RPCBxTest:
RPCClient

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &c)
 Analyze. More...
 
void beginJob (DQMStore *)
 BeginJob. More...
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &context)
 Begin Lumi block. More...
 
void beginRun (const edm::Run &r, const edm::EventSetup &c, std::vector< MonitorElement * >, std::vector< RPCDetId >)
 
virtual void endJob (void)
 
void endLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &c)
 End Lumi Block. More...
 
virtual void endRun (const edm::Run &r, const edm::EventSetup &c)
 
 RPCBxTest (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~RPCBxTest ()
 Destructor. More...
 
- Public Member Functions inherited from RPCClient
virtual void beginJob (DQMStore *, std::string)=0
 
virtual void beginRun (const edm::Run &, const edm::EventSetup &)=0
 
virtual void clientOperation (edm::EventSetup const &c)=0
 
virtual void getMonitorElements (std::vector< MonitorElement * > &, std::vector< RPCDetId > &)=0
 
virtual ~RPCClient (void)
 

Private Attributes

MonitorElementBXEntriesBarrel
 
MonitorElementBXEntriesEndcapN
 
MonitorElementBXEntriesEndcapP
 
MonitorElementBXMeanBarrel
 
MonitorElementBXMeanDisk [10]
 
MonitorElementBXMeanEndcapN
 
MonitorElementBXMeanEndcapP
 
MonitorElementBXMeanWheel [5]
 
MonitorElementBXRmsBarrel
 
MonitorElementBXRmsDisk [10]
 
MonitorElementBXRmsEndcapN
 
MonitorElementBXRmsEndcapP
 
MonitorElementBXRmsWheel [5]
 
DQMStoredbe_
 
double distanceMean_
 
int entriesCut_
 
std::string globalFolder_
 
std::vector< MonitorElement * > myBXMe_
 
std::vector< RPCDetIdmyDetIds_
 
int nLumiSegs_
 
int numberOfDisks_
 
int numberOfRings_
 
int prescaleFactor_
 
double rmsCut_
 

Detailed Description

Definition at line 13 of file RPCBxTest.h.

Constructor & Destructor Documentation

RPCBxTest::RPCBxTest ( const edm::ParameterSet ps)

Constructor.

Definition at line 13 of file RPCBxTest.cc.

References distanceMean_, entriesCut_, edm::ParameterSet::getUntrackedParameter(), globalFolder_, numberOfDisks_, numberOfRings_, prescaleFactor_, and rmsCut_.

13  {
14  edm::LogVerbatim ("rpcbxtest") << "[RPCBxTest]: Constructor";
15 
16  prescaleFactor_ = ps.getUntrackedParameter<int>("DiagnosticPrescale", 1);
17 
18  //Nome della dir per gli istogrammi nuovi . Cominciare sempre con RPC/RecHits/
19  globalFolder_ = ps.getUntrackedParameter<std::string>("RPCGlobalFolder", "RPC/RecHits/SummaryHistograms/");
20 
21  entriesCut_ = ps.getUntrackedParameter<int>("EntriesCut");
22  rmsCut_ = ps.getUntrackedParameter<double>("RMSCut");
23  distanceMean_ = ps.getUntrackedParameter<double>("DistanceFromZeroBx");
24 
25  numberOfDisks_ = ps.getUntrackedParameter<int>("NumberOfEndcapDisks", 3);
26  numberOfRings_ = ps.getUntrackedParameter<int>("NumberOfEndcapRings", 2);
27 }
T getUntrackedParameter(std::string const &, T const &) const
double distanceMean_
Definition: RPCBxTest.h:43
int prescaleFactor_
Definition: RPCBxTest.h:46
std::string globalFolder_
Definition: RPCBxTest.h:44
int entriesCut_
Definition: RPCBxTest.h:48
int numberOfDisks_
Definition: RPCBxTest.h:45
int numberOfRings_
Definition: RPCBxTest.h:45
double rmsCut_
Definition: RPCBxTest.h:47
RPCBxTest::~RPCBxTest ( )
virtual

Destructor.

Definition at line 29 of file RPCBxTest.cc.

References dbe_.

29 { dbe_=0;}
DQMStore * dbe_
Definition: RPCBxTest.h:49

Member Function Documentation

void RPCBxTest::analyze ( const edm::Event iEvent,
const edm::EventSetup c 
)
virtual

Analyze.

Implements RPCClient.

Definition at line 164 of file RPCBxTest.cc.

164 {}
void RPCBxTest::beginJob ( DQMStore dbe)

BeginJob.

Definition at line 31 of file RPCBxTest.cc.

References dbe_.

31  {
32  edm::LogVerbatim ("rpcbxtest") << "[RPCBxTest]: Begin job ";
33  dbe_ = dbe;
34 }
DQMStore * dbe_
Definition: RPCBxTest.h:49
void RPCBxTest::beginLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  context 
)
virtual

Begin Lumi block.

Implements RPCClient.

Definition at line 161 of file RPCBxTest.cc.

161  {
162 }
void RPCBxTest::beginRun ( const edm::Run r,
const edm::EventSetup c,
std::vector< MonitorElement * >  meVector,
std::vector< RPCDetId detIdVector 
)

Definition at line 37 of file RPCBxTest.cc.

References DQMStore::book1D(), BXEntriesBarrel, BXEntriesEndcapN, BXEntriesEndcapP, BXMeanBarrel, BXMeanDisk, BXMeanEndcapN, BXMeanEndcapP, BXMeanWheel, BXRmsBarrel, BXRmsDisk, BXRmsEndcapN, BXRmsEndcapP, BXRmsWheel, dbe_, DQMStore::get(), MonitorElement::getName(), MonitorElement::getTags(), globalFolder_, i, MessageLogger_cff::limit, myBXMe_, myDetIds_, numberOfDisks_, rpcdqm::OCCUPANCY, evf::evtn::offset(), DQMStore::removeElement(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), and w().

37  {
38  edm::LogVerbatim ("rpcbxtest") << "[RPCBxTest]: Begin run";
39 
40  MonitorElement* me;
42 
43  std::stringstream histoName;
44 
45  histoName.str("");
46  histoName<<"BX_Mean_Distribution_Barrel";
47  BXMeanBarrel = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 11, -5.5, 5.5);
48  BXMeanBarrel->setAxisTitle("Bx",1);
49 
50  histoName.str("");
51  histoName<<"BX_Mean_Distribution_EndcapP";
52  BXMeanEndcapP = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 11, -5.5, 5.5);
53 
54  histoName.str("");
55  histoName<<"BX_Mean_Distribution_EndcapN";
56  BXMeanEndcapN = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 11, -5.5, 5.5);
57 
58 
59  histoName.str("");
60  histoName<<"BX_Entries_Distribution_Barrel";
61  BXEntriesBarrel = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 1000, -0.5, 999.5);
62 
63  histoName.str("");
64  histoName<<"BX_Entries_Distribution_EndcapP";
65  BXEntriesEndcapP = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(),1000, -0.5, 999.5);
66 
67  histoName.str("");
68  histoName<<"BX_Entries_Distribution_EndcapN";
69  BXEntriesEndcapN = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 1000, -0.5, 999.5);
70 
71 
72  histoName.str("");
73  histoName<<"BX_RMS_Distribution_Barrel";
74  BXRmsBarrel = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 21, -0.1, 4.1);
75 
76  histoName.str("");
77  histoName<<"BX_RMS_Distribution_EndcapP";
78  BXRmsEndcapP = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 21, -0.1, 4.1);
79 
80  histoName.str("");
81  histoName<<"BX_RMS_Distribution_EndcapN";
82  BXRmsEndcapN = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 21, -0.1, 4.1);
83 
84  rpcdqm::utils rpcUtils;
85 
86  int limit = numberOfDisks_;
87  if(numberOfDisks_ < 2) limit = 2;
88 
89  for (int w = -1 * limit; w<=limit;w++ ){//loop on wheels and disks
90  if (w>-3 && w<3){//wheels
91  histoName.str("");
92  histoName<<"BX_Mean_Distribution_Wheel"<<w;
93  me = 0;
94  me = dbe_->get(globalFolder_ + histoName.str()) ;
95  if ( 0!=me ) {
96  dbe_->removeElement(me->getName());
97  }
98  BXMeanWheel[w+2] = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 10, -0.5, 9.5);
99 
100  histoName.str("");
101  histoName<<"BX_RMS_Distribution_Wheel"<<w;
102  me = 0;
103  me = dbe_->get(globalFolder_ + histoName.str()) ;
104  if ( 0!=me){
105  dbe_->removeElement(me->getName());
106  }
107  BXRmsWheel[w+2] = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 50, -0.5, 4.5);
108  }//end loop on wheels
109 
110  if (w == 0 || w< (-1 * numberOfDisks_) || w > numberOfDisks_)continue;
111  //Endcap
112  int offset = numberOfDisks_;
113  if (w>0) offset --; //used to skip case equale to zero
114 
115  histoName.str("");
116  histoName<<"BX_Mean_Distribution_Disk"<<w;
117  me = 0;
118  me = dbe_->get(globalFolder_ + histoName.str()) ;
119  if ( 0!=me){
120  dbe_->removeElement(me->getName());
121  }
122  BXMeanDisk[w+offset] = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(),10, -0.5, 9.5);
123 
124 
125  histoName.str("");
126  histoName<<"BX_RMS_Distribution_Disk"<<w;
127  me = 0;
128  me = dbe_->get(globalFolder_ + histoName.str()) ;
129  if ( 0!=me){
130  dbe_->removeElement(me->getName());
131  }
132  BXRmsDisk[w+offset] = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 50, -0.5, 4.5);
133  }
134 
135 
136  //Qui prende gli isto del BX per roll definiti nel client
137  //crea due vettore ordinati myBXMe_(istogrammi) e myDetIds_(rpcDetId)
138  //Get ME for each roll
139  for (unsigned int i = 0 ; i<meVector.size(); i++){
140 
141  bool flag= false;
142 
143  DQMNet::TagList tagList;
144  tagList = meVector[i]->getTags();
145  DQMNet::TagList::iterator tagItr = tagList.begin();
146 
147  while (tagItr != tagList.end() && !flag ) {
148  if((*tagItr) == rpcdqm::OCCUPANCY)
149  flag= true;
150  tagItr++;
151  }
152 
153  if(flag){
154  myBXMe_.push_back(meVector[i]);
155  myDetIds_.push_back(detIdVector[i]);
156  }
157  }
158 
159 }
const std::string & getName(void) const
get name of ME
int i
Definition: DBlmapReader.cc:9
long int flag
Definition: mlp_lapack.h:47
MonitorElement * BXRmsEndcapP
Definition: RPCBxTest.h:66
MonitorElement * BXRmsEndcapN
Definition: RPCBxTest.h:65
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
MonitorElement * BXRmsBarrel
Definition: RPCBxTest.h:67
MonitorElement * BXRmsWheel[5]
Definition: RPCBxTest.h:69
MonitorElement * BXMeanEndcapN
Definition: RPCBxTest.h:59
std::vector< RPCDetId > myDetIds_
Definition: RPCBxTest.h:53
MonitorElement * BXEntriesBarrel
Definition: RPCBxTest.h:57
MonitorElement * BXMeanDisk[10]
Definition: RPCBxTest.h:63
DQMNet::TagList getTags(void) const
MonitorElement * BXRmsDisk[10]
Definition: RPCBxTest.h:68
void removeElement(const std::string &name)
Definition: DQMStore.cc:2572
std::string globalFolder_
Definition: RPCBxTest.h:44
unsigned int offset(bool)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1468
DQMStore * dbe_
Definition: RPCBxTest.h:49
std::vector< uint32_t > TagList
Definition: DQMNet.h:83
MonitorElement * BXMeanEndcapP
Definition: RPCBxTest.h:60
int numberOfDisks_
Definition: RPCBxTest.h:45
MonitorElement * BXMeanWheel[5]
Definition: RPCBxTest.h:62
MonitorElement * BXEntriesEndcapN
Definition: RPCBxTest.h:55
MonitorElement * BXEntriesEndcapP
Definition: RPCBxTest.h:56
MonitorElement * BXMeanBarrel
Definition: RPCBxTest.h:61
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::vector< MonitorElement * > myBXMe_
Definition: RPCBxTest.h:52
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
T w() const
void RPCBxTest::endJob ( void  )
virtual

Implements RPCClient.

Definition at line 168 of file RPCBxTest.cc.

168  {
169  edm::LogVerbatim ("rpcbxtest") << "[RPCBxTest]: end job ";
170 
171 }
void RPCBxTest::endLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  c 
)
virtual

End Lumi Block.

Implements RPCClient.

Definition at line 166 of file RPCBxTest.cc.

166 { }
void RPCBxTest::endRun ( const edm::Run r,
const edm::EventSetup c 
)
virtual

Implements RPCClient.

Definition at line 184 of file RPCBxTest.cc.

References BXEntriesBarrel, BXEntriesEndcapN, BXEntriesEndcapP, BXMeanBarrel, BXMeanDisk, BXMeanEndcapN, BXMeanEndcapP, BXMeanWheel, BXRmsBarrel, BXRmsDisk, BXRmsEndcapN, BXRmsEndcapP, BXRmsWheel, python.tagInventory::entries, entriesCut_, MonitorElement::Fill(), MonitorElement::getTH1F(), i, timingPdfMaker::mean, myBXMe_, myDetIds_, NULL, RPCDetId::region(), RPCDetId::ring(), RMS, plotscripts::rms(), rmsCut_, and RPCDetId::station().

184  {
185 
186  MonitorElement * myMe;
187  RPCDetId detId;
188  TH1F * myTH1F;
189 
190  MonitorElement * ENTRIES =NULL;
191  MonitorElement * MEAN =NULL;
192  MonitorElement * MEANRing =NULL;
193  MonitorElement * RMS =NULL;
194  MonitorElement * RMSRing =NULL;
195 
196  for (unsigned int i = 0 ; i<myBXMe_.size();i++){
197 
198  myMe = myBXMe_[i];
199  detId = myDetIds_[i];
200 
201  //Prendi TH1F corrispondente al Monitor Element
202  myTH1F = myMe->getTH1F();
203  // //Spegni Overflow
204 // myTH1F->StatOverflows(false); // per accendere overflow mettere true
205 // //Ricalcola la media e l'RMS //commentare le 3 righe seguenti. Ricorda di ricompilare
206 // myTH1F->GetXaxis()->SetRangeUser(-9.5,9.5);
207 // Double_t stat[4];
208 // myTH1F->GetStats(stat);
209 
210 
211  float mean = myTH1F->GetMean();
212  float rms = myTH1F->GetRMS();
213  float entries = myTH1F->GetEntries();
214 
215  //Get Occupancy ME for roll
216  RPCGeomServ RPCname(detId);
217  // if(rms==0) cout<<RPCname.name()<<endl;
218 
219  if(detId.region()== 0){
220  ENTRIES = BXEntriesBarrel;
221  MEAN = BXMeanBarrel; //nome istogramma definito in beginRun
222  MEANRing = BXMeanWheel[detId.ring()+2];
223  RMS = BXRmsBarrel;
224  RMSRing = BXRmsWheel[detId.ring()+2];
225  }else if(detId.region()==1){
226  ENTRIES = BXEntriesEndcapP;
227  MEAN = BXMeanEndcapP;
228  MEANRing = BXMeanDisk[detId.station()+2];
229  RMS = BXRmsEndcapP;
230  RMSRing = BXRmsDisk[detId.station()+2];
231  }else if(detId.region()==-1){
232  ENTRIES = BXEntriesEndcapN;
233  MEAN = BXMeanEndcapN;
234  MEANRing = BXMeanDisk[3-detId.station()];
235  RMS = BXRmsEndcapN;
236  RMSRing = BXRmsDisk[3-detId.station()];
237  }
238 
239  ENTRIES->Fill(entries);
240 
241  if(entries >= entriesCut_){
242  RMSRing->Fill(rms);
243  RMS->Fill(rms);
244 
245  if(rms <= rmsCut_){
246 
247  //if(mean> distanceMean_ || mean<-distanceMean_ ) cout<<RPCname.name()<<endl;
248 
249  MEAN->Fill(mean);
250  MEANRing->Fill(mean);
251  }
252  }
253 
254  }
255 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * BXRmsEndcapP
Definition: RPCBxTest.h:66
MonitorElement * BXRmsEndcapN
Definition: RPCBxTest.h:65
MonitorElement * BXRmsBarrel
Definition: RPCBxTest.h:67
MonitorElement * BXRmsWheel[5]
Definition: RPCBxTest.h:69
MonitorElement * BXMeanEndcapN
Definition: RPCBxTest.h:59
std::vector< RPCDetId > myDetIds_
Definition: RPCBxTest.h:53
#define NULL
Definition: scimark2.h:8
MonitorElement * BXEntriesBarrel
Definition: RPCBxTest.h:57
void Fill(long long x)
MonitorElement * BXMeanDisk[10]
Definition: RPCBxTest.h:63
int ring() const
Definition: RPCDetId.h:76
MonitorElement * BXRmsDisk[10]
Definition: RPCBxTest.h:68
int entriesCut_
Definition: RPCBxTest.h:48
TH1F * getTH1F(void) const
MonitorElement * BXMeanEndcapP
Definition: RPCBxTest.h:60
MonitorElement * BXMeanWheel[5]
Definition: RPCBxTest.h:62
MonitorElement * BXEntriesEndcapN
Definition: RPCBxTest.h:55
MonitorElement * BXEntriesEndcapP
Definition: RPCBxTest.h:56
MonitorElement * BXMeanBarrel
Definition: RPCBxTest.h:61
std::vector< MonitorElement * > myBXMe_
Definition: RPCBxTest.h:52
double rmsCut_
Definition: RPCBxTest.h:47
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
Definition: RPCDetId.h:67
int station() const
Definition: RPCDetId.h:100

Member Data Documentation

MonitorElement* RPCBxTest::BXEntriesBarrel
private

Definition at line 57 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXEntriesEndcapN
private

Definition at line 55 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXEntriesEndcapP
private

Definition at line 56 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXMeanBarrel
private

Definition at line 61 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXMeanDisk[10]
private

Definition at line 63 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXMeanEndcapN
private

Definition at line 59 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXMeanEndcapP
private

Definition at line 60 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXMeanWheel[5]
private

Definition at line 62 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXRmsBarrel
private

Definition at line 67 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXRmsDisk[10]
private

Definition at line 68 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXRmsEndcapN
private

Definition at line 65 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXRmsEndcapP
private

Definition at line 66 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

MonitorElement* RPCBxTest::BXRmsWheel[5]
private

Definition at line 69 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

DQMStore* RPCBxTest::dbe_
private

Definition at line 49 of file RPCBxTest.h.

Referenced by beginJob(), beginRun(), and ~RPCBxTest().

double RPCBxTest::distanceMean_
private

Definition at line 43 of file RPCBxTest.h.

Referenced by RPCBxTest().

int RPCBxTest::entriesCut_
private

Definition at line 48 of file RPCBxTest.h.

Referenced by endRun(), and RPCBxTest().

std::string RPCBxTest::globalFolder_
private

Definition at line 44 of file RPCBxTest.h.

Referenced by beginRun(), and RPCBxTest().

std::vector<MonitorElement *> RPCBxTest::myBXMe_
private

Definition at line 52 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

std::vector<RPCDetId> RPCBxTest::myDetIds_
private

Definition at line 53 of file RPCBxTest.h.

Referenced by beginRun(), and endRun().

int RPCBxTest::nLumiSegs_
private

Definition at line 50 of file RPCBxTest.h.

int RPCBxTest::numberOfDisks_
private

Definition at line 45 of file RPCBxTest.h.

Referenced by beginRun(), and RPCBxTest().

int RPCBxTest::numberOfRings_
private

Definition at line 45 of file RPCBxTest.h.

Referenced by RPCBxTest().

int RPCBxTest::prescaleFactor_
private

Definition at line 46 of file RPCBxTest.h.

Referenced by RPCBxTest().

double RPCBxTest::rmsCut_
private

Definition at line 47 of file RPCBxTest.h.

Referenced by endRun(), and RPCBxTest().