CMS 3D CMS Logo

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

#include <DQMSourceExample.h>

Inheritance diagram for DQMSourceExample:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 DQMSourceExample (const edm::ParameterSet &)
 
 ~DQMSourceExample ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndex indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 
void beginJob ()
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context)
 
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 
void endJob ()
 
void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
void endRun (const edm::Run &r, const edm::EventSetup &c)
 
- Protected Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Member Functions

void initialize ()
 

Private Attributes

int counterEvt_
 
int counterLS_
 
DQMStoredbe_
 
MonitorElementdeadFalse
 
MonitorElementdeadTrue
 
MonitorElementf1
 
MonitorElementh1
 
MonitorElementh1hist
 
MonitorElementh2
 
MonitorElementh3
 
MonitorElementh4
 
MonitorElementi1
 
MonitorElementmeanFalse
 
MonitorElementmeanTrue
 
std::string monitorName_
 
int NBINS
 
MonitorElementnoisyFalse
 
MonitorElementnoisyTrue
 
MonitorElementp1
 
MonitorElementp2
 
edm::ParameterSet parameters_
 
int prescaleEvt_
 
int prescaleLS_
 
MonitorElements1
 
MonitorElementsumm
 
MonitorElementwExpFalse
 
MonitorElementwExpTrue
 
MonitorElementxFalse
 
float XMAX
 
float XMIN
 
MonitorElementxTrue
 
MonitorElementyFalse
 
MonitorElementyTrue
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 23 of file DQMSourceExample.h.

Constructor & Destructor Documentation

DQMSourceExample::DQMSourceExample ( const edm::ParameterSet ps)

Definition at line 25 of file DQMSourceExample.cc.

25  {
26  parameters_ = ps;
27  initialize();
28 }
edm::ParameterSet parameters_
DQMSourceExample::~DQMSourceExample ( )

Definition at line 30 of file DQMSourceExample.cc.

30  {
31 }

Member Function Documentation

void DQMSourceExample::analyze ( const edm::Event e,
const edm::EventSetup c 
)
protectedvirtual

Implements edm::EDAnalyzer.

Definition at line 163 of file DQMSourceExample.cc.

References gather_cfg::cout, python.connectstrParser::f1, i, create_public_lumi_plots::log, p1, p2, w(), x, detailsBasic3DVector::y, and detailsBasic3DVector::z.

163  {
164  counterEvt_++;
165  if (prescaleEvt_<1) return;
166  if (prescaleEvt_ > 0 && counterEvt_%prescaleEvt_!=0) return;
167  // cout << " processing conterEvt_: " << counterEvt_ <<endl;
168 
169  // fill integer and float
170 // number exceeding 32 bits
171  i1->Fill(400000000000000LL); // FIXME use double
172  f1->Fill(-3.14);
173 
174  //----------------------------------------
175  // Filling the histograms with random data
176  //----------------------------------------
177 
178  srand( 0 );
179  // fill summ histo
180  if(counterEvt_%1000 == 0) {
181  cout << " # of events = " << counterEvt_ << endl;
182  summ->Fill(counterEvt_/1000., counterEvt_);
183  }
184  // fill summ histo
185  if(counterEvt_%100 == 0) {
186  h1hist->ShiftFillLast(gRandom->Gaus(12,1.),1.,5);
187  }
188 
189  float z = gRandom->Uniform(XMAX);
190  xTrue->Fill( z, 1./log(z+1.) );
191  xFalse->Fill( z+(XMAX/2.), z );
192  yTrue->Fill( z, 1./log(z+1.) );
193  yFalse->Fill( z, z );
194  meanTrue->Fill( gRandom->Gaus(10, 2), 1.);
195  meanFalse->Fill( gRandom->Gaus(12, 3), 1.);
196  wExpTrue->Fill( gRandom->Gaus(12, 1), gRandom->Gaus(12, 1), 1.);
197  wExpFalse->Fill( gRandom->Gaus(20, 2), gRandom->Gaus(20, 2), 1.);
198  deadTrue->Fill( gRandom->Gaus(20, 10), 2.);
199  deadFalse->Fill( gRandom->Gaus(20, 4), 1.);
200  h2->Fill( gRandom->Gaus(20, 4), 1.);
201 // h3->Fill( XMIN, 0xffff00000000LL);
202 // h4->Fill( XMIN, XMIN, 0xffff00000000LL);
203 
204  //h1hist->Print();
205  //h1hist->Print();
206 
207  for ( int i = 0; i != 10; ++i ) {
208  float w = gRandom->Uniform(XMAX);
209  noisyTrue->Fill( w, 1.);
210  noisyFalse->Fill( z, 1.);
211  float x = gRandom->Gaus(12, 1);
212  float y = gRandom->Gaus(20, 2);
213  p1->Fill(x, y);
214  p2->Fill(x, y, (x+y)/2.);
215  h1->Fill(y, 1.);
216  }
217 
218  // usleep(100);
219 
220 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * deadTrue
MonitorElement * xTrue
MonitorElement * wExpFalse
MonitorElement * xFalse
MonitorElement * yFalse
MonitorElement * h2
MonitorElement * i1
float float float z
MonitorElement * summ
void Fill(long long x)
void ShiftFillLast(double y, double ye=0., int32_t xscale=1)
MonitorElement * h1hist
MonitorElement * meanTrue
MonitorElement * noisyTrue
MonitorElement * h1
MonitorElement * noisyFalse
MonitorElement * deadFalse
MonitorElement * f1
MonitorElement * p1
MonitorElement * wExpTrue
MonitorElement * yTrue
MonitorElement * meanFalse
tuple cout
Definition: gather_cfg.py:121
T w() const
Definition: DDAxes.h:10
MonitorElement * p2
void DQMSourceExample::beginJob ( void  )
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 63 of file DQMSourceExample.cc.

References DQMStore::book1D(), DQMStore::book1S(), DQMStore::book2D(), DQMStore::bookFloat(), DQMStore::bookInt(), DQMStore::bookProfile(), DQMStore::bookProfile2D(), DQMStore::bookString(), dbe_, python.connectstrParser::f1, i, NBINS, cppFunctionSkipper::operator, p1, p2, DQMStore::setCurrentFolder(), DQMStore::showDirStructure(), DQMStore::tag(), DQMStore::tagContents(), and groupFilesInBlocks::temp.

63  {
66 
68  dbe_->setCurrentFolder(monitorName_+"DQMsource/Summary");
69  summ = dbe_->book1D("summary", "Run Summary", 100, 0, 100);
70 
71  //-------------------------------------
72  // testing of Quality Tests
73  //-------------------------------------
74 
76  dbe_->setCurrentFolder(monitorName_+"DQMsource/QTests");
77 
79  NBINS = 40 ; XMIN = 0.; XMAX = 40.;
80 
84  xTrue = dbe_->book1D("XTrue", "X Range QTest", NBINS, XMIN, XMAX);
85  xFalse = dbe_->book1D("XFalse", "X Range QTest", NBINS, XMIN, XMAX);
86  yTrue = dbe_->book1D("YTrue", "Y Range QTest", NBINS, XMIN, XMAX);
87  yFalse = dbe_->book1D("YFalse", "Y Range QTest", NBINS, XMIN, XMAX);
88  wExpTrue = dbe_->book2D("WExpTrue", "Contents Within Expected QTest", NBINS, XMIN, XMAX, NBINS, XMIN, XMAX);
89  wExpFalse = dbe_->book2D("WExpFalse", "Contents Within Expected QTest", NBINS, XMIN, XMAX, NBINS, XMIN, XMAX);
90  meanTrue = dbe_->book1D("MeanTrue", "Mean Within Expected QTest", NBINS, XMIN, XMAX);
91  meanFalse = dbe_->book1D("MeanFalse", "Mean Within Expected QTest", NBINS, XMIN, XMAX);
92  deadTrue = dbe_->book1D("DeadTrue", "Dead Channel QTest", NBINS, XMIN, XMAX);
93  deadFalse = dbe_->book1D("DeadFalse", "Dead Channel QTest", NBINS, XMIN, XMAX);
94  noisyTrue = dbe_->book1D("NoisyTrue", "Noisy Channel QTest", NBINS, XMIN, XMAX);
95  noisyFalse = dbe_->book1D("NoisyFalse", "Noisy Channel QTest", NBINS, XMIN, XMAX);
96 
97 
98  //-------------------------------------
99  // book several ME more
100  //-------------------------------------
101 
103  dbe_->setCurrentFolder(monitorName_+"DQMsource/C1");
104  const int NBINS2 = 10;
105 
106  i1 = dbe_->bookInt("int1");
107  f1 = dbe_->bookFloat("float1");
108  s1 = dbe_->bookString("s1", "My string");
109  h1 = dbe_->book1D("h1f", "Example TH1F 1D histogram.", NBINS2, XMIN, XMAX);
110  h2 = dbe_->book1S("h1s", "Example TH1S histogram.", NBINS, XMIN, XMAX);
111 // h3 = dbe_->book1DD("h1d", "Example TH1D histogram.", NBINS, XMIN, XMAX);
112 // h4 = dbe_->book2DD("h2d", "Example TH2D histogram.", NBINS, XMIN, XMAX,NBINS, XMIN, XMAX);
113  p1 = dbe_->bookProfile( "prof1", "My profile 1D", NBINS,XMIN,XMAX,NBINS,XMIN,XMAX,"");
114  p2 = dbe_->bookProfile2D("prof2", "My profile 2D", NBINS,XMIN,XMAX,NBINS,XMIN,XMAX,NBINS,XMIN,XMAX,"");
115  h1hist = dbe_->book1D("history 1D","Example 1 1D history plot", 30, 0.,30.);
116 
117  // set labels for h1
118  char temp[1024];
119  for(int i = 1; i <= NBINS2; ++i) {
120  sprintf(temp, " bin no. %d", i);
121  h1->setBinLabel(i, temp);
122  }
123 
124  // assign tag to MEs h1
125  const unsigned int detector_id = 17;
126  dbe_->tag(h1, detector_id);
127 
128  // tag full directory
129  dbe_->tagContents(monitorName_+"DQMsource/C1", detector_id);
130 
131  /*
132  // contents of h5 & h6 will be reset at end of monitoring cycle
133  h5->setResetMe(true);
134  h6->setResetMe(true);
135  dbe_->showDirStructure();
136  std::vector<std::string> tags;
137  dbe_->getAllTags(tags);
138  for (size_t i = 0, e = tags.size(); i < e; ++i)
139  std::cout << "TAGS [" << i << "] = " << tags[i] << std::endl;
140  */
141 
143 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * deadTrue
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
MonitorElement * xTrue
MonitorElement * s1
MonitorElement * wExpFalse
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 * xFalse
MonitorElement * yFalse
MonitorElement * h2
MonitorElement * i1
MonitorElement * summ
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:659
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1359
MonitorElement * h1hist
MonitorElement * meanTrue
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:688
MonitorElement * noisyTrue
MonitorElement * h1
MonitorElement * noisyFalse
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1036
MonitorElement * deadFalse
MonitorElement * f1
MonitorElement * p1
MonitorElement * wExpTrue
std::string monitorName_
MonitorElement * yTrue
void tagContents(const std::string &path, unsigned int myTag)
tag all children of folder (does NOT include subfolders)
Definition: DQMStore.cc:1390
MonitorElement * meanFalse
void showDirStructure(void) const
Definition: DQMStore.cc:2766
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:629
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:850
MonitorElement * p2
MonitorElement * book1S(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:738
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
MonitorElement * bookProfile2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, const char *option="s")
Definition: DQMStore.cc:1180
void DQMSourceExample::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup context 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 155 of file DQMSourceExample.cc.

156  {
157 }
void DQMSourceExample::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 148 of file DQMSourceExample.cc.

148  {
149 }
void DQMSourceExample::endJob ( void  )
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 240 of file DQMSourceExample.cc.

References gather_cfg::cout.

240  {
241  std::cout << "DQMSourceExample::endJob()" << std::endl;
242 }
tuple cout
Definition: gather_cfg.py:121
void DQMSourceExample::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 225 of file DQMSourceExample.cc.

226  {
227 
228 }
void DQMSourceExample::endRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 233 of file DQMSourceExample.cc.

233  {
234 
235 }
void DQMSourceExample::initialize ( )
private

Definition at line 36 of file DQMSourceExample.cc.

References gather_cfg::cout, dbe_, and cppFunctionSkipper::operator.

36  {
37 
39  counterEvt_ = 0; counterLS_ = 0;
40 
43 
45  monitorName_ = parameters_.getUntrackedParameter<string>("monitorName","YourSubsystemName");
46  cout << "DQMSourceExample: Monitor name = " << monitorName_ << endl;
47  if (monitorName_ != "" ) monitorName_ = monitorName_+"/" ;
48 
50  prescaleLS_ = parameters_.getUntrackedParameter<int>("prescaleLS", -1);
51  cout << "DQMSourceExample: DQM lumi section prescale = " << prescaleLS_ << " lumi section(s)"<< endl;
52  prescaleEvt_ = parameters_.getUntrackedParameter<int>("prescaleEvt", -1);
53  cout << "DQMSourceExample: DQM event prescale = " << prescaleEvt_ << " events(s)"<< endl;
54 
55 // read in files (use DQMStore.collateHistograms = True for summing
56 // dbe_->load("ref.root");
57 // dbe_->load("ref.root");
58 }
T getUntrackedParameter(std::string const &, T const &) const
edm::ParameterSet parameters_
std::string monitorName_
tuple cout
Definition: gather_cfg.py:121

Member Data Documentation

int DQMSourceExample::counterEvt_
private

Definition at line 61 of file DQMSourceExample.h.

int DQMSourceExample::counterLS_
private

Definition at line 62 of file DQMSourceExample.h.

DQMStore* DQMSourceExample::dbe_
private

Definition at line 58 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::deadFalse
private

Definition at line 84 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::deadTrue
private

Definition at line 83 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::f1
private

Definition at line 90 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::h1
private
MonitorElement* DQMSourceExample::h1hist
private

Definition at line 95 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::h2
private
MonitorElement* DQMSourceExample::h3
private

Definition at line 97 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::h4
private

Definition at line 98 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::i1
private

Definition at line 89 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::meanFalse
private

Definition at line 81 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::meanTrue
private

Definition at line 80 of file DQMSourceExample.h.

std::string DQMSourceExample::monitorName_
private

Definition at line 59 of file DQMSourceExample.h.

int DQMSourceExample::NBINS
private

Definition at line 69 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::noisyFalse
private

Definition at line 86 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::noisyTrue
private

Definition at line 85 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::p1
private

Definition at line 92 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::p2
private

Definition at line 93 of file DQMSourceExample.h.

edm::ParameterSet DQMSourceExample::parameters_
private
int DQMSourceExample::prescaleEvt_
private

Definition at line 64 of file DQMSourceExample.h.

int DQMSourceExample::prescaleLS_
private

Definition at line 65 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::s1
private

Definition at line 91 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::summ
private

Definition at line 99 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::wExpFalse
private

Definition at line 79 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::wExpTrue
private

Definition at line 78 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::xFalse
private

Definition at line 74 of file DQMSourceExample.h.

float DQMSourceExample::XMAX
private

Definition at line 70 of file DQMSourceExample.h.

float DQMSourceExample::XMIN
private

Definition at line 70 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::xTrue
private

Definition at line 73 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::yFalse
private

Definition at line 76 of file DQMSourceExample.h.

MonitorElement* DQMSourceExample::yTrue
private

Definition at line 75 of file DQMSourceExample.h.