CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackingDQMClientHeavyIons.cc
Go to the documentation of this file.
1 
3 
9 
10 #include <TH1F.h>
11 #include <TClass.h>
12 #include <TString.h>
13 #include <string>
14 #include <cmath>
15 #include <climits>
16 #include <boost/tokenizer.hpp>
17 
18 using namespace std;
19 using namespace edm;
20 
22 
23 
25 
26  TopFolder_=pset.getParameter<std::string>("FolderName");
27 }
28 
30 
31  typedef vector<string> vstring;
32 
33  // Update 2014-04-02
34  // Migrated back to the endJob. the DQMFileSaver logic has
35  // to be reviewed to guarantee that the endJob is properly
36  // considered. The splitting per run is done centrally when
37  // running the harvesting in production
38 
39  // Update 2009-09-23
40  // Migrated all code from endJob to this function
41  // endJob is not necessarily called in the proper sequence
42  // and does not necessarily book histograms produced in
43  // that step.
44  // It more robust to do the histogram manipulation in
45  // this endRun function
46  // needed to access the DQMStore::save method
47 
48  ibooker.cd();
49  ibooker.setCurrentFolder(TopFolder_);
50 
51  histName = "DCAStats_";
52  DCAStats = ibooker.book2D(histName,histName,2,0,2,4,0,4);
53  DCAStats->getTH2F()->GetYaxis()->SetBinLabel(1,"Mean");
54  DCAStats->getTH2F()->GetYaxis()->SetBinLabel(2,"RMS, #sigma");
55  DCAStats->getTH2F()->GetYaxis()->SetBinLabel(3,"Skewness ,#gamma_{1}");
56  DCAStats->getTH2F()->GetYaxis()->SetBinLabel(4,"Kurtosis, #gamma_{2}");
57  DCAStats->getTH2F()->GetXaxis()->SetBinLabel(1,"Longitudinal");
58  DCAStats->getTH2F()->GetXaxis()->SetBinLabel(2,"Transverse");
59  DCAStats->getTH2F()->SetOption("text");
60 
61 
62  histName="LongDCASig_HeavyIonTk";
63  ME* element = igetter.get(TopFolder_+"/"+histName);
64  //Longitudinal First
65  DCAStats->getTH2F()->SetBinContent(1,1,element->getTH1F()->GetMean());//mean
66  DCAStats->getTH2F()->SetBinContent(1,2,element->getTH1F()->GetRMS());//rms
67  DCAStats->getTH2F()->SetBinContent(1,3,element->getTH1F()->GetSkewness());//skewness
68  DCAStats->getTH2F()->SetBinContent(1,4,element->getTH1F()->GetKurtosis());//kurtosis
69  //Transverse
70  histName="TransDCASig_HeavyIonTk";
71  ME* element1 = igetter.get(TopFolder_+"/"+histName);
72  //Longitudinal First
73  DCAStats->getTH2F()->SetBinContent(2,1,element1->getTH1F()->GetMean());//mean
74  DCAStats->getTH2F()->SetBinContent(2,2,element1->getTH1F()->GetRMS());//rms
75  DCAStats->getTH2F()->SetBinContent(2,3,element1->getTH1F()->GetSkewness());//skewness
76  DCAStats->getTH2F()->SetBinContent(2,4,element1->getTH1F()->GetKurtosis());//kurtosis
77 
78 }
79 
80 
81 
T getParameter(std::string const &) const
vector< string > vstring
Definition: ExoticaDQM.cc:86
void cd(void)
Definition: DQMStore.cc:266
MonitorElement * get(const std::string &path)
Definition: DQMStore.cc:302
TrackingDQMClientHeavyIons(const edm::ParameterSet &pset)
Definition: ME.h:11
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
MonitorElement ME
TH2F * getTH2F(void) const
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override