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 Member Functions | Private Attributes
DataCertificationJetMET Class Reference

#include <DataCertificationJetMET.h>

Inheritance diagram for DataCertificationJetMET:
edm::EDAnalyzer

Public Member Functions

 DataCertificationJetMET (const edm::ParameterSet &)
 
 ~DataCertificationJetMET ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob (void)
 
virtual void beginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &)
 
virtual void beginRun (const edm::Run &, const edm::EventSetup &)
 
virtual void endJob ()
 
virtual void endLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &)
 
virtual void endRun (const edm::Run &, const edm::EventSetup &)
 

Private Attributes

bool caloJetKSTest
 
bool caloJetMeanTest
 
bool caloMETKSTest
 
bool caloMETMeanTest
 
edm::ParameterSet conf_
 
DQMStoredbe_
 
edm::Service< TFileServicefs_
 
bool InMemory_
 
bool isData
 
bool jetTests [5][2]
 
bool jptJetKSTest
 
bool jptJetMeanTest
 
std::string metFolder
 
bool metTests [5][2]
 
bool muMETKSTest
 
bool muMETMeanTest
 
bool pfJetKSTest
 
bool pfJetMeanTest
 
bool pfMETKSTest
 
bool pfMETMeanTest
 
bool tcMETKSTest
 
bool tcMETMeanTest
 
int verbose_
 

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)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Definition at line 29 of file DataCertificationJetMET.h.

Constructor & Destructor Documentation

DataCertificationJetMET::DataCertificationJetMET ( const edm::ParameterSet iConfig)
explicit

Definition at line 19 of file DataCertificationJetMET.cc.

19  :conf_(iConfig)
20 {
21  // now do what ever initialization is needed
22 }
DataCertificationJetMET::~DataCertificationJetMET ( )

Definition at line 25 of file DataCertificationJetMET.cc.

26 {
27  // do anything here that needs to be done at desctruction time
28  // (e.g. close files, deallocate resources etc.)
29 }

Member Function Documentation

void DataCertificationJetMET::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::EDAnalyzer.

Definition at line 38 of file DataCertificationJetMET.cc.

References isData, and edm::EventBase::isRealData().

39 {
40  using namespace edm;
41  isData = iEvent.isRealData();
42 
43 }
bool isRealData() const
Definition: EventBase.h:60
void DataCertificationJetMET::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 47 of file DataCertificationJetMET.cc.

References conf_, gather_cfg::cout, dbe_, edm::ParameterSet::getUntrackedParameter(), jetTests, metFolder, metTests, cmsCodeRules.cppFunctionSkipper::operator, and verbose_.

48 {
49 
50  // -----------------------------------------
51  // verbose_ 0: suppress printouts
52  // 1: show printouts
53  verbose_ = conf_.getUntrackedParameter<int>("Verbose",0);
54  metFolder = conf_.getUntrackedParameter<std::string>("metFolder");
55 
56  jetTests[0][0] = conf_.getUntrackedParameter<bool>("caloBarrelJetMeanTest",true);
57  jetTests[0][1] = conf_.getUntrackedParameter<bool>("caloBarrelJetKSTest",false);
58  jetTests[1][0] = conf_.getUntrackedParameter<bool>("caloEndcapJetMeanTest",true);
59  jetTests[1][1] = conf_.getUntrackedParameter<bool>("caloEndcapJetKSTest",false);
60  jetTests[2][0] = conf_.getUntrackedParameter<bool>("caloForwardJetMeanTest",true);
61  jetTests[2][1] = conf_.getUntrackedParameter<bool>("caloForwardJetKSTest",false);
62  jetTests[3][0] = conf_.getUntrackedParameter<bool>("pfJetMeanTest",true);
63  jetTests[3][1] = conf_.getUntrackedParameter<bool>("pfJetKSTest",false);
64  jetTests[4][0] = conf_.getUntrackedParameter<bool>("jptJetMeanTest",true);
65  jetTests[4][1] = conf_.getUntrackedParameter<bool>("jptJetKSTest",false);
66 
67  metTests[0][0] = conf_.getUntrackedParameter<bool>("caloMETMeanTest",true);
68  metTests[0][1] = conf_.getUntrackedParameter<bool>("caloMETKSTest",false);
69  metTests[1][0] = conf_.getUntrackedParameter<bool>("calonohfMETMeanTest",true);
70  metTests[1][1] = conf_.getUntrackedParameter<bool>("calonohfMETKSTest",false);
71  metTests[2][0] = conf_.getUntrackedParameter<bool>("pfMETMeanTest",true);
72  metTests[2][1] = conf_.getUntrackedParameter<bool>("pfMETKSTest",false);
73  metTests[3][0] = conf_.getUntrackedParameter<bool>("tcMETMeanTest",true);
74  metTests[3][1] = conf_.getUntrackedParameter<bool>("tcMETKSTest",false);
75  metTests[4][0] = conf_.getUntrackedParameter<bool>("muMETMeanTest",true);
76  metTests[4][1] = conf_.getUntrackedParameter<bool>("muMETKSTest",false);
77 
78 
79  if (verbose_) std::cout << ">>> BeginJob (DataCertificationJetMET) <<<" << std::endl;
80 
81  // -----------------------------------------
82  //
84 }
T getUntrackedParameter(std::string const &, T const &) const
tuple cout
Definition: gather_cfg.py:41
void DataCertificationJetMET::beginLuminosityBlock ( const edm::LuminosityBlock lumiBlock,
const edm::EventSetup c 
)
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 108 of file DataCertificationJetMET.cc.

References gather_cfg::cout, edm::LuminosityBlockBase::id(), edm::LuminosityBlockID::luminosityBlock(), edm::LuminosityBlockID::run(), and verbose_.

109 {
110 
111  if (verbose_) std::cout << ">>> BeginLuminosityBlock (DataCertificationJetMET) <<<" << std::endl;
112  if (verbose_) std::cout << ">>> lumiBlock = " << lumiBlock.id() << std::endl;
113  if (verbose_) std::cout << ">>> run = " << lumiBlock.id().run() << std::endl;
114  if (verbose_) std::cout << ">>> lumiBlock = " << lumiBlock.id().luminosityBlock() << std::endl;
115 
116 }
LuminosityBlockID id() const
RunNumber_t run() const
LuminosityBlockNumber_t luminosityBlock() const
tuple cout
Definition: gather_cfg.py:41
void DataCertificationJetMET::beginRun ( const edm::Run run,
const edm::EventSetup c 
)
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 134 of file DataCertificationJetMET.cc.

References gather_cfg::cout, and verbose_.

135 {
136 
137  if (verbose_) std::cout << ">>> BeginRun (DataCertificationJetMET) <<<" << std::endl;
138  //if (verbose_) std::cout << ">>> run = " << run.id() << std::endl;
139 
140 }
tuple cout
Definition: gather_cfg.py:41
void DataCertificationJetMET::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 88 of file DataCertificationJetMET.cc.

References conf_, gather_cfg::cout, dbe_, edm::ParameterSet::getUntrackedParameter(), download_sqlite_cfg::outputFile, ExpressReco_HICollisions_FallBack::outputFileName, DQMStore::save(), DQMStore::SaveWithReference, DQMStore::showDirStructure(), and verbose_.

89 {
90 
91  if (verbose_) std::cout << ">>> EndJob (DataCertificationJetMET) <<<" << std::endl;
92 
93  bool outputFile = conf_.getUntrackedParameter<bool>("OutputFile");
94  std::string outputFileName = conf_.getUntrackedParameter<std::string>("OutputFileName");
95  if (verbose_) std::cout << ">>> endJob " << outputFile << std:: endl;
96 
97  if(outputFile){
99  dbe_->save(outputFileName,
100  "", "","",
102  }
103 
104 }
T getUntrackedParameter(std::string const &, T 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:1883
SaveReferenceTag
Definition: DQMStore.h:38
tuple cout
Definition: gather_cfg.py:41
void showDirStructure(void) const
Definition: DQMStore.cc:2539
void DataCertificationJetMET::endLuminosityBlock ( const edm::LuminosityBlock lumiBlock,
const edm::EventSetup c 
)
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 120 of file DataCertificationJetMET.cc.

References gather_cfg::cout, dbe_, edm::LuminosityBlockBase::id(), edm::LuminosityBlockID::luminosityBlock(), edm::LuminosityBlockID::run(), DQMStore::showDirStructure(), and verbose_.

121 {
122 
123  if (verbose_) std::cout << ">>> EndLuminosityBlock (DataCertificationJetMET) <<<" << std::endl;
124  if (verbose_) std::cout << ">>> lumiBlock = " << lumiBlock.id() << std::endl;
125  if (verbose_) std::cout << ">>> run = " << lumiBlock.id().run() << std::endl;
126  if (verbose_) std::cout << ">>> lumiBlock = " << lumiBlock.id().luminosityBlock() << std::endl;
127 
128  if (verbose_) dbe_->showDirStructure();
129 
130 }
LuminosityBlockID id() const
RunNumber_t run() const
LuminosityBlockNumber_t luminosityBlock() const
tuple cout
Definition: gather_cfg.py:41
void showDirStructure(void) const
Definition: DQMStore.cc:2539
void DataCertificationJetMET::endRun ( const edm::Run run,
const edm::EventSetup c 
)
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 144 of file DataCertificationJetMET.cc.

References DQMStore::book2D(), DQMStore::bookFloat(), gather_cfg::cout, dbe_, MonitorElement::Fill(), DQMStore::get(), DQMStore::getAllContents(), MonitorElement::getQReport(), lhef::getStatus(), DQMStore::getSubdirs(), MonitorElement::getTH2F(), edm::RunBase::id(), InMemory_, isData, jetTests, metFolder, metTests, DQMStore::pwd(), edm::RunID::run(), python.OfflineDbClientMP_cfg::RunNumber, MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), DQMStore::showDirStructure(), and verbose_.

145 {
146 
147  if (verbose_) std::cout << ">>> EndRun (DataCertificationJetMET) <<<" << std::endl;
148  //if (verbose_) std::cout << ">>> run = " << run.id() << std::endl;
149 
150  // -----------------------------------------
151 
152  std::vector<MonitorElement*> mes;
153  std::vector<std::string> subDirVec;
154  std::string RunDir;
155  std::string RunNum;
156  int RunNumber=0;
157 
158  std::string RefRunDir;
159 
160  if (verbose_) std::cout << "InMemory_ = " << InMemory_ << std::endl;
161 
162  if (InMemory_) {
163  //----------------------------------------------------------------
164  // Histograms are in memory (for standard full-chain mode)
165  //----------------------------------------------------------------
166 
167  mes = dbe_->getAllContents("");
168  if (verbose_) std::cout << "1 >>> found " << mes.size() << " monitoring elements!" << std::endl;
169 
170  dbe_->setCurrentFolder("JetMET");
171  subDirVec = dbe_->getSubdirs();
172  for (std::vector<std::string>::const_iterator ic = subDirVec.begin();
173  ic != subDirVec.end(); ic++) {
174  if (verbose_) std::cout << "-AAA- Dir = >>" << ic->c_str() << "<<" << std::endl;
175  }
176 
177  RunDir = "";
178  RunNumber = run.id().run();
179 
180  } else {
181  //----------------------------------------------------------------
182  // Open input files (for standalone mode)
183  //----------------------------------------------------------------
184 
185  mes = dbe_->getAllContents("");
186  if (verbose_) std::cout << "found " << mes.size() << " monitoring elements!" << std::endl;
187 
188  dbe_->setCurrentFolder("/");
189  std::string currDir = dbe_->pwd();
190  if (verbose_) std::cout << "--- Current Directory " << currDir << std::endl;
191 
192  subDirVec = dbe_->getSubdirs();
193 
194  // *** If the same file is read in then we have only one subdirectory
195  int ind = 0;
196  for (std::vector<std::string>::const_iterator ic = subDirVec.begin();
197  ic != subDirVec.end(); ic++) {
198  RunDir = *ic;
199  RunNum = *ic;
200  if (verbose_) std::cout << "-XXX- Dir = >>" << ic->c_str() << "<<" << std::endl;
201  ind++;
202  }
203 
204  //
205  // Current
206  //
207  if (RunDir == "JetMET") {
208  RunDir = "";
209  if (verbose_) std::cout << "-XXX- RunDir = >>" << RunDir.c_str() << "<<" << std::endl;
210  }
211  RunNum.erase(0,4);
212  if (RunNum!="")
213  RunNumber = atoi(RunNum.c_str());
214  if (verbose_) std::cout << "--- >>" << RunNumber << "<<" << std::endl;
215 
216  }
217 
219 
220  //----------
221 
222  dbe_->setCurrentFolder("JetMET/EventInfo/");
223  MonitorElement* reportSummary = dbe_->bookFloat("reportSummary");
224  MonitorElement* CertificationSummary = dbe_->bookFloat("CertificationSummary");
225 
226  MonitorElement* reportSummaryMap = dbe_->book2D("reportSummaryMap","reportSummaryMap",3,0,3,5,0,5);
227  MonitorElement* CertificationSummaryMap = dbe_->book2D("CertificationSummaryMap","CertificationSummaryMap",3,0,3,5,0,5);
228  reportSummaryMap->getTH2F()->SetStats(kFALSE);
229  CertificationSummaryMap->getTH2F()->SetStats(kFALSE);
230  reportSummaryMap->getTH2F()->SetOption("colz");
231  CertificationSummaryMap->getTH2F()->SetOption("colz");
232 
233  reportSummaryMap->setBinLabel(1,"CaloTower");
234  reportSummaryMap->setBinLabel(2,"MET");
235  reportSummaryMap->setBinLabel(3,"Jet");
236 
237  CertificationSummaryMap->setBinLabel(1,"CaloTower");
238  CertificationSummaryMap->setBinLabel(2,"MET");
239  CertificationSummaryMap->setBinLabel(3,"Jet");
240 
241  reportSummary->Fill(1.);
242  CertificationSummary->Fill(1.);
243 
244 
245  if (RunDir=="Reference") RunDir="";
246  if (verbose_) std::cout << RunDir << std::endl;
247  dbe_->setCurrentFolder("JetMET/EventInfo/CertificationSummaryContents/");
248 
249  std::string refHistoName;
250  std::string newHistoName;
251 
252  //-----------------------------
253  // Jet DQM Data Certification
254  //-----------------------------
255  MonitorElement *meJetPt[5];
256  MonitorElement *meJetEta[5];
257  MonitorElement *meJetPhi[5];
258  MonitorElement *meJetEMFrac[4];
259  MonitorElement *meJetConstituents[4];
260  MonitorElement *meJetNTracks;
261 
262  RunDir = "";
263  if (RunDir == "") newHistoName = "JetMET/Jet/";
264  else newHistoName = RunDir+"/JetMET/Run summary/Jet/";
265  std::string cleaningdir = "";
266  if (isData)
267  cleaningdir = "Cleaned";
268  //Jet Phi histos
269  meJetPhi[0] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Phi_Barrel");
270  meJetPhi[1] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Phi_EndCap");
271  meJetPhi[2] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Phi_Forward");
272  meJetPhi[3] = dbe_->get(newHistoName+"PFJets/Phi");
273  meJetPhi[4] = dbe_->get(newHistoName+"JPT/Phi");
274 
275  //Jet Eta histos
276  meJetEta[0] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Eta");
277  meJetEta[1] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Eta");
278  meJetEta[2] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Eta");
279  meJetEta[3] = dbe_->get(newHistoName+"PFJets/Eta");
280  meJetEta[4] = dbe_->get(newHistoName+"JPT/Eta");
281 
282  //Jet Pt histos
283  meJetPt[0] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Pt_Barrel");
284  meJetPt[1] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Pt_EndCap");
285  meJetPt[2] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Pt_Forward");
286  meJetPt[3] = dbe_->get(newHistoName+"PFJets/Pt2");
287  meJetPt[4] = dbe_->get(newHistoName+"JPT/Pt2");
288 
290  meJetConstituents[0] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Constituents");
291  meJetConstituents[1] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Constituents");
292  meJetConstituents[2] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/Constituents");
293  meJetConstituents[3] = dbe_->get(newHistoName+"PFJets/Constituents");
294  //
296  meJetEMFrac[0] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/EFrac");
297  meJetEMFrac[1] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/EFrac");
298  meJetEMFrac[2] = dbe_->get(newHistoName+cleaningdir+"AntiKtJets/EFrac");
299  meJetEMFrac[3] = dbe_->get(newHistoName+"PFJets/EFrac");
300 
301  //JPT specific histos
302  meJetNTracks = dbe_->get(newHistoName+"JPT/nTracks");
303 
304  //------------------------------------------------------------------------------
305  //--- Extract quality test results and fill data certification results for Jets
306  //--- Tests for Calo Barrel, EndCap and Forward, as well as PF and JPT jets
307  //--- For Calo and PF jets:
308  //--- Look at mean of Constituents, EM Frac and Pt
309  //--- Look at Kolmogorov result for Eta, Phi, and Pt
310  //--- For JPT jets:
311  //--- Look at mean of Pt, AllPionsTrackNHits?, nTracks,
312  //--- Look at Kolmogorov result for Eta, Phi, and Pt
313  //------------------------------------------------------------------------------
314 
315  //5 types of Jets {AK5 Barrel, AK5 EndCap, AK5 Forward, PF, JPT}
316  //--- Method 1
317  //--Kolmogorov test
318  const QReport * QReport_JetEta[5];
319  const QReport * QReport_JetPhi[5];
320  //--Mean and KS tests
321  //for Calo and PF jets
322  const QReport * QReport_JetConstituents[4][2];
323  const QReport * QReport_JetEFrac[4][2];
324  const QReport * QReport_JetPt[5][2];
325  //for JPT jets
326  const QReport * QReport_JetNTracks[2];
327 
328 
329  float qr_Jet_NTracks[2] = {-1.};
330  float qr_Jet_Constituents[4][2] = {{-1.}};
331  float qr_Jet_EFrac[4][2] = {{-1.}};
332  float qr_Jet_Eta[5] = {-1.};
333  float qr_Jet_Phi[5] = {-1.};
334  float qr_Jet_Pt[5][2] = {{-1.}};
335  float dc_Jet[5] = {-1.};
336 
337  for (int jtyp = 0; jtyp < 5; ++jtyp){
338  //Mean test results
339  if (jtyp < 4){
340  if (meJetConstituents[jtyp]) {
341  QReport_JetConstituents[jtyp][0] = meJetConstituents[jtyp]->getQReport("meanJetConstituentsTest");
342  QReport_JetConstituents[jtyp][1] = meJetConstituents[jtyp]->getQReport("KolmogorovTest");
343  }
344  if (meJetEMFrac[jtyp]) {
345  QReport_JetEFrac[jtyp][0] = meJetEMFrac[jtyp]->getQReport("meanEMFractionTest");
346  QReport_JetEFrac[jtyp][1] = meJetEMFrac[jtyp]->getQReport("KolmogorovTest");
347  }
348  }
349  else {
350  if (meJetNTracks) {
351  QReport_JetNTracks[0] = meJetNTracks->getQReport("meanNTracksTest");
352  QReport_JetNTracks[1] = meJetNTracks->getQReport("KolmogorovTest");
353  }
354  }
355  if (meJetPt[jtyp]) {
356  QReport_JetPt[jtyp][0] = meJetPt[jtyp]->getQReport("meanJetPtTest");
357  QReport_JetPt[jtyp][1] = meJetPt[jtyp]->getQReport("KolmogorovTest");
358  }
359  if (meJetPhi[jtyp])
360  QReport_JetPhi[jtyp] = meJetPhi[jtyp]->getQReport("KolmogorovTest");
361  if (meJetEta[jtyp])
362  QReport_JetEta[jtyp] = meJetEta[jtyp]->getQReport("KolmogorovTest");
363 
364  //Jet Pt test
365  if (QReport_JetPt[jtyp][0]){
366  if (QReport_JetPt[jtyp][0]->getStatus()==100 ||
367  QReport_JetPt[jtyp][0]->getStatus()==200)
368  qr_Jet_Pt[jtyp][0] = 1;
369  else if (QReport_JetPt[jtyp][0]->getStatus()==300)
370  qr_Jet_Pt[jtyp][0] = 0;
371  else
372  qr_Jet_Pt[jtyp][0] = -1;
373  }
374  else qr_Jet_Pt[jtyp][0] = -2;
375 
376  if (QReport_JetPt[jtyp][1]){
377  if (QReport_JetPt[jtyp][1]->getStatus()==100 ||
378  QReport_JetPt[jtyp][1]->getStatus()==200)
379  qr_Jet_Pt[jtyp][1] = 1;
380  else if (QReport_JetPt[jtyp][1]->getStatus()==300)
381  qr_Jet_Pt[jtyp][1] = 0;
382  else
383  qr_Jet_Pt[jtyp][1] = -1;
384  }
385  else qr_Jet_Pt[jtyp][1] = -2;
386 
387  //Jet Phi test
388  if (QReport_JetPhi[jtyp]){
389  if (QReport_JetPhi[jtyp]->getStatus()==100 ||
390  QReport_JetPhi[jtyp]->getStatus()==200)
391  qr_Jet_Phi[jtyp] = 1;
392  else if (QReport_JetPhi[jtyp]->getStatus()==300)
393  qr_Jet_Phi[jtyp] = 0;
394  else
395  qr_Jet_Phi[jtyp] = -1;
396  }
397  else qr_Jet_Phi[jtyp] = -2;
398 
399  //Jet Eta test
400  if (QReport_JetEta[jtyp]){
401  if (QReport_JetEta[jtyp]->getStatus()==100 ||
402  QReport_JetEta[jtyp]->getStatus()==200)
403  qr_Jet_Eta[jtyp] = 1;
404  else if (QReport_JetEta[jtyp]->getStatus()==300)
405  qr_Jet_Eta[jtyp] = 0;
406  else
407  qr_Jet_Eta[jtyp] = -1;
408  }
409  else qr_Jet_Eta[jtyp] = -2;
410 
411  if (jtyp < 4) {
412  //Jet Constituents test
413  if (QReport_JetConstituents[jtyp][0]){
414  if (QReport_JetConstituents[jtyp][0]->getStatus()==100 ||
415  QReport_JetConstituents[jtyp][0]->getStatus()==200)
416  qr_Jet_Constituents[jtyp][0] = 1;
417  else if (QReport_JetConstituents[jtyp][0]->getStatus()==300)
418  qr_Jet_Constituents[jtyp][0] = 0;
419  else
420  qr_Jet_Constituents[jtyp][0] = -1;
421  }
422  else qr_Jet_Constituents[jtyp][0] = -2;
423 
424  if (QReport_JetConstituents[jtyp][1]){
425  if (QReport_JetConstituents[jtyp][1]->getStatus()==100 ||
426  QReport_JetConstituents[jtyp][1]->getStatus()==200)
427  qr_Jet_Constituents[jtyp][1] = 1;
428  else if (QReport_JetConstituents[jtyp][1]->getStatus()==300)
429  qr_Jet_Constituents[jtyp][1] = 0;
430  else
431  qr_Jet_Constituents[jtyp][1] = -1;
432  }
433  else qr_Jet_Constituents[jtyp][1] = -2;
434 
435  //Jet EMFrac test
436  if (QReport_JetEFrac[jtyp][0]){
437  if (QReport_JetEFrac[jtyp][0]->getStatus()==100 ||
438  QReport_JetEFrac[jtyp][0]->getStatus()==200)
439  qr_Jet_EFrac[jtyp][0] = 1;
440  else if (QReport_JetEFrac[jtyp][0]->getStatus()==300)
441  qr_Jet_EFrac[jtyp][0] = 0;
442  else
443  qr_Jet_EFrac[jtyp][0] = -1;
444  }
445  else qr_Jet_EFrac[jtyp][0] = -2;
446 
447  if (QReport_JetEFrac[jtyp][1]){
448  if (QReport_JetEFrac[jtyp][1]->getStatus()==100 ||
449  QReport_JetEFrac[jtyp][1]->getStatus()==200)
450  qr_Jet_EFrac[jtyp][1] = 1;
451  else if (QReport_JetEFrac[jtyp][1]->getStatus()==300)
452  qr_Jet_EFrac[jtyp][1] = 0;
453  else
454  qr_Jet_EFrac[jtyp][1] = -1;
455  }
456  else qr_Jet_EFrac[jtyp][1] = -2;
457  }
458  else {
459  for (int ii = 0; ii < 2; ++ii) {
460  //Jet NTracks test
461  if (QReport_JetNTracks[ii]){
462  if (QReport_JetNTracks[ii]->getStatus()==100 ||
463  QReport_JetNTracks[ii]->getStatus()==200)
464  qr_Jet_NTracks[ii] = 1;
465  else if (QReport_JetNTracks[ii]->getStatus()==300)
466  qr_Jet_NTracks[ii] = 0;
467  else
468  qr_Jet_NTracks[ii] = -1;
469  }
470  else qr_Jet_NTracks[ii] = -2;
471  }
472  }
473 
474  if (verbose_) {
475  printf("====================Jet Type %d QTest Report Summary========================\n",jtyp);
476  printf("Eta: Phi: Pt 1: 2: Const/Ntracks 1: 2: EFrac/tracknhits 1: 2:\n");
477  if (jtyp<4) {
478  printf("%2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f\n", \
479  qr_Jet_Eta[jtyp], \
480  qr_Jet_Phi[jtyp], \
481  qr_Jet_Pt[jtyp][0], \
482  qr_Jet_Pt[jtyp][1], \
483  qr_Jet_Constituents[jtyp][0], \
484  qr_Jet_Constituents[jtyp][1], \
485  qr_Jet_EFrac[jtyp][0], \
486  qr_Jet_EFrac[jtyp][1]);
487  }
488  else {
489  printf("%2.2f %2.2f %2.2f %2.2f %2.2f %2.2f\n", \
490  qr_Jet_Eta[jtyp], \
491  qr_Jet_Phi[jtyp], \
492  qr_Jet_Pt[jtyp][0], \
493  qr_Jet_Pt[jtyp][1], \
494  qr_Jet_NTracks[0], \
495  qr_Jet_NTracks[1]);
496  }
497  printf("===========================================================================\n");
498  }
499  //certification result for Jet
500 
501  //Only apply certain tests, as defined in the config
502  for (int ttyp = 0; ttyp < 2; ++ttyp) {
503  if (!jetTests[jtyp][ttyp]) {
504  qr_Jet_Pt[jtyp][ttyp] = 1;
505  if (ttyp ==1) {
506  qr_Jet_Eta[jtyp] = 1;
507  qr_Jet_Phi[jtyp] = 1;
508  }
509  if (jtyp < 4) {
510  qr_Jet_EFrac[jtyp][ttyp] = 1;
511  qr_Jet_Constituents[jtyp][ttyp] = 1;
512  }
513  else{
514  qr_Jet_NTracks[ttyp] = 1;
515  }
516  }
517  }
518 
519 
520  if (jtyp < 4) {
521  if ( (qr_Jet_EFrac[jtyp][0] == 0) ||
522  (qr_Jet_EFrac[jtyp][1] == 0) ||
523  (qr_Jet_Constituents[jtyp][1] == 0) ||
524  (qr_Jet_Constituents[jtyp][0] == 0) ||
525  (qr_Jet_Eta[jtyp] == 0) ||
526  (qr_Jet_Phi[jtyp] == 0) ||
527  (qr_Jet_Pt[jtyp][0] == 0) ||
528  (qr_Jet_Pt[jtyp][1] == 0)
529  )
530  dc_Jet[jtyp] = 0;
531  else if ( (qr_Jet_EFrac[jtyp][0] == -1) &&
532  (qr_Jet_EFrac[jtyp][1] == -1) &&
533  (qr_Jet_Constituents[jtyp][1] == -1) &&
534  (qr_Jet_Constituents[jtyp][0] == -1) &&
535  (qr_Jet_Eta[jtyp] == -1) &&
536  (qr_Jet_Phi[jtyp] == -1) &&
537  (qr_Jet_Pt[jtyp][0] == -1) &&
538  (qr_Jet_Pt[jtyp][1] == -1 )
539  )
540  dc_Jet[jtyp] = -1;
541  else if ( (qr_Jet_EFrac[jtyp][0] == -2) &&
542  (qr_Jet_EFrac[jtyp][1] == -2) &&
543  (qr_Jet_Constituents[jtyp][1] == -2) &&
544  (qr_Jet_Constituents[jtyp][0] == -2) &&
545  (qr_Jet_Eta[jtyp] == -2) &&
546  (qr_Jet_Phi[jtyp] == -2) &&
547  (qr_Jet_Pt[jtyp][0] == -2) &&
548  (qr_Jet_Pt[jtyp][1] == -2)
549  )
550  dc_Jet[jtyp] = -2;
551  else
552  dc_Jet[jtyp] = 1;
553  }
554  else {
555  if ( (qr_Jet_NTracks[0] == 0) ||
556  (qr_Jet_NTracks[1] == 0) ||
557  (qr_Jet_Eta[jtyp] == 0) ||
558  (qr_Jet_Phi[jtyp] == 0) ||
559  (qr_Jet_Pt[jtyp][0] == 0) ||
560  (qr_Jet_Pt[jtyp][1] == 0)
561  )
562  dc_Jet[jtyp] = 0;
563  else if ( (qr_Jet_NTracks[0] == -1) &&
564  (qr_Jet_NTracks[1] == -1) &&
565  (qr_Jet_Eta[jtyp] == -1) &&
566  (qr_Jet_Phi[jtyp] == -1) &&
567  (qr_Jet_Pt[jtyp][0] == -1) &&
568  (qr_Jet_Pt[jtyp][1] == -1)
569  )
570  dc_Jet[jtyp] = -1;
571  else if ( (qr_Jet_NTracks[0] == -2) &&
572  (qr_Jet_NTracks[1] == -2) &&
573  (qr_Jet_Eta[jtyp] == -2) &&
574  (qr_Jet_Phi[jtyp] == -2) &&
575  (qr_Jet_Pt[jtyp][0] == -2) &&
576  (qr_Jet_Pt[jtyp][1] == -2)
577  )
578  dc_Jet[jtyp] = -2;
579  else
580  dc_Jet[jtyp] = 1;
581  }
582 
583  if (verbose_) std::cout<<"Certifying Jet algo: "<<jtyp<<" with value: "<<dc_Jet[jtyp]<<std::endl;
584  CertificationSummaryMap->Fill(2, 4-jtyp, dc_Jet[jtyp]);
585  reportSummaryMap->Fill(2, 4-jtyp, dc_Jet[jtyp]);
586  }
587 
588 
589  //-----------------------------
590  // MET DQM Data Certification
591  //-----------------------------
592 
593  //
594  // Prepare test histograms
595  //
596  MonitorElement *meMExy[5][2];
597  MonitorElement *meMEt[5];
598  MonitorElement *meSumEt[5];
599  MonitorElement *meMETPhi[5];
600  //MonitorElement *meMETEMFrac[5];
601  //MonitorElement *meMETEmEt[3][2];
602  //MonitorElement *meMETHadEt[3][2];
603 
604  RunDir = "";
605  if (RunDir == "") newHistoName = "JetMET/MET/";
606  else newHistoName = RunDir+"/JetMET/Run summary/MET/";
607 
608  if (isData)
609  cleaningdir = "BasicCleanup";
610  else
611  cleaningdir = "All";
612  //MEx/MEy monitor elements
613  meMExy[0][0] = dbe_->get(newHistoName+"CaloMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloMEx");
614  meMExy[0][1] = dbe_->get(newHistoName+"CaloMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloMEy");
615  meMExy[1][0] = dbe_->get(newHistoName+"CaloMETNoHF/"+cleaningdir+"/"+metFolder+"/METTask_CaloMEx");
616  meMExy[1][1] = dbe_->get(newHistoName+"CaloMETNoHF/"+cleaningdir+"/"+metFolder+"/METTask_CaloMEy");
617  meMExy[2][0] = dbe_->get(newHistoName+"PfMET/"+cleaningdir+"/"+metFolder+"/METTask_PfMEx");
618  meMExy[2][1] = dbe_->get(newHistoName+"PfMET/"+cleaningdir+"/"+metFolder+"/METTask_PfMEy");
619  meMExy[3][0] = dbe_->get(newHistoName+"TcMET/"+cleaningdir+"/"+metFolder+"/METTask_MEx");
620  meMExy[3][1] = dbe_->get(newHistoName+"TcMET/"+cleaningdir+"/"+metFolder+"/METTask_MEy");
621  meMExy[4][0] = dbe_->get(newHistoName+"MuCorrMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloMEx");
622  meMExy[4][1] = dbe_->get(newHistoName+"MuCorrMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloMEy");
623  //MET Phi monitor elements
624  meMETPhi[0] = dbe_->get(newHistoName+"CaloMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloMETPhi");
625  meMETPhi[1] = dbe_->get(newHistoName+"CaloMETNoHF/"+cleaningdir+"/"+metFolder+"/METTask_CaloMETPhi");
626  meMETPhi[2] = dbe_->get(newHistoName+"PfMET/"+cleaningdir+"/"+metFolder+"/METTask_PfMETPhi");
627  meMETPhi[3] = dbe_->get(newHistoName+"TcMET/"+cleaningdir+"/"+metFolder+"/METTask_METPhi");
628  meMETPhi[4] = dbe_->get(newHistoName+"MuCorrMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloMETPhi");
629  //MET monitor elements
630  meMEt[0] = dbe_->get(newHistoName+"CaloMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloMET");
631  meMEt[1] = dbe_->get(newHistoName+"CaloMETNoHF/"+cleaningdir+"/"+metFolder+"/METTask_CaloMET");
632  meMEt[2] = dbe_->get(newHistoName+"PfMET/"+cleaningdir+"/"+metFolder+"/METTask_PfMET");
633  meMEt[3] = dbe_->get(newHistoName+"TcMET/"+cleaningdir+"/"+metFolder+"/METTask_MET");
634  meMEt[4] = dbe_->get(newHistoName+"MuCorrMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloMET");
635  //SumET monitor elements
636  meSumEt[0] = dbe_->get(newHistoName+"CaloMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloSumET");
637  meSumEt[1] = dbe_->get(newHistoName+"CaloMETNoHF/"+cleaningdir+"/"+metFolder+"/METTask_CaloSumET");
638  meSumEt[2] = dbe_->get(newHistoName+"PfMET/"+cleaningdir+"/"+metFolder+"/METTask_PfSumET");
639  meSumEt[3] = dbe_->get(newHistoName+"TcMET/"+cleaningdir+"/"+metFolder+"/METTask_SumET");
640  meSumEt[4] = dbe_->get(newHistoName+"MuCorrMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloSumET");
641 
642  //----------------------------------------------------------------------------
643  //--- Extract quality test results and fill data certification results for MET
644  //----------------------------------------------------------------------------
645 
646  //5 types of MET {CaloMET, CaloMETNoHF, PfMET, TcMET, MuCorrMET}
647  //2 types of tests Mean test/Kolmogorov test
648  const QReport * QReport_MExy[5][2][2];
649  const QReport * QReport_MEt[5][2];
650  const QReport * QReport_SumEt[5][2];
651  //2 types of tests phiQTest and Kolmogorov test
652  const QReport * QReport_METPhi[5][2];
653 
654 
655  float qr_MET_MExy[5][2][2] = {{{-999.}}};
656  float qr_MET_MEt[5][2] = {{-999.}};
657  float qr_MET_SumEt[5][2] = {{-999.}};
658  float qr_MET_METPhi[5][2] = {{-999.}};
659  float dc_MET[5] = {-999.};
660 
661  for (int mtyp = 0; mtyp < 5; ++mtyp){
662  //Mean test results
663  //std::cout<<"meMEx = :"<<meMExy[mtyp][0]<<std::endl;
664  //std::cout<<"meMEy = :"<<meMExy[mtyp][1]<<std::endl;
665  //std::cout<<"meMET = :"<<meMEt[mtyp]<<std::endl;
666  //std::cout<<"meMETPhi = :"<<meMExy[mtyp]<<std::endl;
667  //std::cout<<"meSumEt = :"<<meMExy[mtyp]<<std::endl;
668  if (meMExy[mtyp][0]) {
669  QReport_MExy[mtyp][0][0] = meMExy[mtyp][0]->getQReport("meanMExyTest");
670  QReport_MExy[mtyp][1][0] = meMExy[mtyp][0]->getQReport("KolmogorovTest");
671  }
672  if (meMExy[mtyp][1]) {
673  QReport_MExy[mtyp][0][1] = meMExy[mtyp][1]->getQReport("meanMExyTest");
674  QReport_MExy[mtyp][1][1] = meMExy[mtyp][1]->getQReport("KolmogorovTest");
675  }
676  if (meMEt[mtyp]) {
677  QReport_MEt[mtyp][0] = meMEt[mtyp]->getQReport("meanMETTest");
678  QReport_MEt[mtyp][1] = meMEt[mtyp]->getQReport("KolmogorovTest");
679  }
680 
681  if (meSumEt[mtyp]) {
682  QReport_SumEt[mtyp][0] = meSumEt[mtyp]->getQReport("meanSumETTest");
683  QReport_SumEt[mtyp][1] = meSumEt[mtyp]->getQReport("KolmogorovTest");
684  }
685 
686  if (meMETPhi[mtyp]) {
687  QReport_METPhi[mtyp][0] = meMETPhi[mtyp]->getQReport("phiQTest");
688  QReport_METPhi[mtyp][1] = meMETPhi[mtyp]->getQReport("KolmogorovTest");
689  }
690  for (int testtyp = 0; testtyp < 2; ++testtyp) {
691  //MEx test
692  if (QReport_MExy[mtyp][testtyp][0]){
693  if (QReport_MExy[mtyp][testtyp][0]->getStatus()==100 ||
694  QReport_MExy[mtyp][testtyp][0]->getStatus()==200)
695  qr_MET_MExy[mtyp][testtyp][0] = 1;
696  else if (QReport_MExy[mtyp][testtyp][0]->getStatus()==300)
697  qr_MET_MExy[mtyp][testtyp][0] = 0;
698  else
699  qr_MET_MExy[mtyp][testtyp][0] = -1;
700  }
701  else qr_MET_MExy[mtyp][testtyp][0] = -2;
702 
703  //MEy test
704  if (QReport_MExy[mtyp][testtyp][1]){
705  if (QReport_MExy[mtyp][testtyp][1]->getStatus()==100 ||
706  QReport_MExy[mtyp][testtyp][1]->getStatus()==200)
707  qr_MET_MExy[mtyp][testtyp][1] = 1;
708  else if (QReport_MExy[mtyp][testtyp][1]->getStatus()==300)
709  qr_MET_MExy[mtyp][testtyp][1] = 0;
710  else
711  qr_MET_MExy[mtyp][testtyp][1] = -1;
712  }
713  else qr_MET_MExy[mtyp][testtyp][1] = -2;
714 
715  //MEt test
716  if (QReport_MEt[mtyp][testtyp]){
717  if (QReport_MEt[mtyp][testtyp]->getStatus()==100 ||
718  QReport_MEt[mtyp][testtyp]->getStatus()==200)
719  qr_MET_MEt[mtyp][testtyp] = 1;
720  else if (QReport_MEt[mtyp][testtyp]->getStatus()==300)
721  qr_MET_MEt[mtyp][testtyp] = 0;
722  else
723  qr_MET_MEt[mtyp][testtyp] = -1;
724  }
725  else qr_MET_MEt[mtyp][testtyp] = -2;
726 
727  //SumEt test
728  if (QReport_SumEt[mtyp][testtyp]){
729  if (QReport_SumEt[mtyp][testtyp]->getStatus()==100 ||
730  QReport_SumEt[mtyp][testtyp]->getStatus()==200)
731  qr_MET_SumEt[mtyp][testtyp] = 1;
732  else if (QReport_SumEt[mtyp][testtyp]->getStatus()==300)
733  qr_MET_SumEt[mtyp][testtyp] = 0;
734  else
735  qr_MET_SumEt[mtyp][testtyp] = -1;
736  }
737  else qr_MET_SumEt[mtyp][testtyp] = -2;
738 
739  //METPhi test
740  if (QReport_METPhi[mtyp][testtyp]){
741  if (QReport_METPhi[mtyp][testtyp]->getStatus()==100 ||
742  QReport_METPhi[mtyp][testtyp]->getStatus()==200)
743  qr_MET_METPhi[mtyp][testtyp] = 1;
744  else if (QReport_METPhi[mtyp][testtyp]->getStatus()==300)
745  qr_MET_METPhi[mtyp][testtyp] = 0;
746  else
747  qr_MET_METPhi[mtyp][testtyp] = -1;
748  }
749  else qr_MET_METPhi[mtyp][testtyp] = -2;
750  }
751 
752  if (verbose_) {
753  //certification result for MET
754  printf("====================MET Type %d QTest Report Summary========================\n",mtyp);
755  printf("MEx test MEy test MEt test: SumEt test: METPhi test:\n");
756  for (int tt = 0; tt < 2; ++tt) {
757  printf("%2.2f %2.2f %2.2f %2.2f %2.2f\n",qr_MET_MExy[mtyp][tt][0], \
758  qr_MET_MExy[mtyp][tt][1], \
759  qr_MET_MEt[mtyp][tt], \
760  qr_MET_SumEt[mtyp][tt], \
761  qr_MET_METPhi[mtyp][tt]);
762  }
763  printf("===========================================================================\n");
764  }
765 
766 
767  //Only apply certain tests, as defined in the config
768  for (int ttyp = 0; ttyp < 2; ++ttyp) {
769  if (!metTests[mtyp][ttyp]) {
770  qr_MET_MExy[mtyp][ttyp][0] = 1;
771  qr_MET_MExy[mtyp][ttyp][1] = 1;
772  qr_MET_MEt[mtyp][ttyp] = 1;
773  qr_MET_SumEt[mtyp][ttyp] = 1;
774  qr_MET_METPhi[mtyp][ttyp] = 1;
775  }
776  }
777 
778 
779  if (
780  (qr_MET_MExy[mtyp][0][0] == 0) ||
781  (qr_MET_MExy[mtyp][0][1] == 0) ||
782  (qr_MET_MEt[mtyp][0] == 0) ||
783  (qr_MET_SumEt[mtyp][0] == 0) ||
784  (qr_MET_METPhi[mtyp][0] == 0) ||
785  (qr_MET_MExy[mtyp][1][0] == 0) ||
786  (qr_MET_MExy[mtyp][1][1] == 0) ||
787  (qr_MET_MEt[mtyp][1] == 0) ||
788  (qr_MET_SumEt[mtyp][1] == 0) ||
789  (qr_MET_METPhi[mtyp][1] == 0)
790  )
791  dc_MET[mtyp] = 0;
792  else if (
793  (qr_MET_MExy[mtyp][0][0] == -1) &&
794  (qr_MET_MExy[mtyp][0][1] == -1) &&
795  (qr_MET_MEt[mtyp][0] == -1) &&
796  (qr_MET_SumEt[mtyp][0] == -1) &&
797  (qr_MET_METPhi[mtyp][0] == -1) &&
798  (qr_MET_MExy[mtyp][1][0] == -1) &&
799  (qr_MET_MExy[mtyp][1][1] == -1) &&
800  (qr_MET_MEt[mtyp][1] == -1) &&
801  (qr_MET_SumEt[mtyp][1] == -1) &&
802  (qr_MET_METPhi[mtyp][1] == -1)
803  )
804  dc_MET[mtyp] = -1;
805  else if (
806  (qr_MET_MExy[mtyp][0][0] == -2) &&
807  (qr_MET_MExy[mtyp][0][1] == -2) &&
808  (qr_MET_MEt[mtyp][0] == -2) &&
809  (qr_MET_SumEt[mtyp][0] == -2) &&
810  (qr_MET_METPhi[mtyp][0] == -2) &&
811  (qr_MET_MExy[mtyp][1][0] == -2) &&
812  (qr_MET_MExy[mtyp][1][1] == -2) &&
813  (qr_MET_MEt[mtyp][1] == -2) &&
814  (qr_MET_SumEt[mtyp][1] == -2) &&
815  (qr_MET_METPhi[mtyp][1] == -2)
816  )
817  dc_MET[mtyp] = -2;
818  else
819  dc_MET[mtyp] = 1;
820 
821  if (verbose_) std::cout<<"Certifying MET algo: "<<mtyp<<" with value: "<<dc_MET[mtyp]<<std::endl;
822  CertificationSummaryMap->Fill(1, 4-mtyp, dc_MET[mtyp]);
823  reportSummaryMap->Fill(1, 4-mtyp, dc_MET[mtyp]);
824  }
825 
826 
827  //-----------------------------
828  // CaloTowers DQM Data Certification
829  //-----------------------------
830 
831  //
832  // Prepare test histograms
833  //
834  //MonitorElement *meCTOcc[3];
835  //MonitorElement *meCTEn[3];
836  //MonitorElement *meCT[3];
837  //MonitorElement *meCT[3];
838 
839  //RunDir = "";
840  //if (RunDir == "") newHistoName = "JetMET/MET/";
841  //else newHistoName = RunDir+"/JetMET/Run summary/MET/";
842 
843  //meMExy[0][0] = dbe_->get(newHistoName+"CaloMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloMEx");
844  //meMExy[0][1] = dbe_->get(newHistoName+"CaloMET/"+cleaningdir+"/"+metFolder+"/METTask_CaloMEy");
845  //meMExy[1][0] = dbe_->get(newHistoName+"CaloMETNoHF/"+cleaningdir+"/"+metFolder+"/METTask_CaloMEx");
846 
847  //----------------------------------------------------------------------------
848  //--- Extract quality test results and fill data certification results for MET
849  //----------------------------------------------------------------------------
850 
851  float qr_CT_Occ[3] = {-2.};
852  float dc_CT[3] = {-2.};
853  dc_CT[0] = -2.;
854  dc_CT[1] = -2.;
855  dc_CT[2] = -2.;
856 
857  qr_CT_Occ[0] = dc_CT[0];
858  qr_CT_Occ[1] = dc_CT[1];
859  qr_CT_Occ[2] = dc_CT[2];
860 
861  for (int cttyp = 0; cttyp < 3; ++cttyp) {
862 
863  if (verbose_) std::cout<<"Certifying CaloTowers with value: "<<dc_CT[cttyp]<<std::endl;
864  CertificationSummaryMap->Fill(0, 4-cttyp, dc_CT[cttyp]);
865  reportSummaryMap->Fill(0, 4-cttyp, dc_CT[cttyp]);
866  }
867  dbe_->setCurrentFolder("");
868 
869 }
const QReport * getQReport(const std::string &qtname) const
get QReport corresponding to &lt;qtname&gt; (null pointer if QReport does not exist)
RunID const & id() const
Definition: RunBase.h:43
std::vector< std::string > getSubdirs(void) const
Definition: DQMStore.cc:1221
RunNumber_t run() const
Definition: RunID.h:44
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)
static int getStatus(const HepMC::GenParticle *p)
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:456
std::vector< MonitorElement * > getAllContents(const std::string &path) const
Definition: DQMStore.cc:1474
void Fill(long long x)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1270
tuple cout
Definition: gather_cfg.py:41
void showDirStructure(void) const
Definition: DQMStore.cc:2539
TH2F * getTH2F(void) const
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:647
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
const std::string & pwd(void) const
Definition: DQMStore.cc:209

Member Data Documentation

bool DataCertificationJetMET::caloJetKSTest
private

Definition at line 57 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::caloJetMeanTest
private

Definition at line 56 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::caloMETKSTest
private

Definition at line 63 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::caloMETMeanTest
private

Definition at line 62 of file DataCertificationJetMET.h.

edm::ParameterSet DataCertificationJetMET::conf_
private

Definition at line 47 of file DataCertificationJetMET.h.

Referenced by beginJob(), and endJob().

DQMStore* DataCertificationJetMET::dbe_
private

Definition at line 48 of file DataCertificationJetMET.h.

Referenced by beginJob(), endJob(), endLuminosityBlock(), and endRun().

edm::Service<TFileService> DataCertificationJetMET::fs_
private

Definition at line 49 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::InMemory_
private

Definition at line 52 of file DataCertificationJetMET.h.

Referenced by endRun().

bool DataCertificationJetMET::isData
private

Definition at line 53 of file DataCertificationJetMET.h.

Referenced by analyze(), and endRun().

bool DataCertificationJetMET::jetTests[5][2]
private

Definition at line 71 of file DataCertificationJetMET.h.

Referenced by beginJob(), and endRun().

bool DataCertificationJetMET::jptJetKSTest
private

Definition at line 61 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::jptJetMeanTest
private

Definition at line 60 of file DataCertificationJetMET.h.

std::string DataCertificationJetMET::metFolder
private

Definition at line 54 of file DataCertificationJetMET.h.

Referenced by beginJob(), and endRun().

bool DataCertificationJetMET::metTests[5][2]
private

Definition at line 72 of file DataCertificationJetMET.h.

Referenced by beginJob(), and endRun().

bool DataCertificationJetMET::muMETKSTest
private

Definition at line 69 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::muMETMeanTest
private

Definition at line 68 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::pfJetKSTest
private

Definition at line 59 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::pfJetMeanTest
private

Definition at line 58 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::pfMETKSTest
private

Definition at line 65 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::pfMETMeanTest
private

Definition at line 64 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::tcMETKSTest
private

Definition at line 67 of file DataCertificationJetMET.h.

bool DataCertificationJetMET::tcMETMeanTest
private

Definition at line 66 of file DataCertificationJetMET.h.

int DataCertificationJetMET::verbose_
private