19 _quantile = iConfig.getParameter<
double>(
"quantile");
37 if(ME->
getTH1()->GetEntries()>0.)
40 Float_t
mean=q[q_value].first;
41 Float_t RMS=q[q_value].second;
49 Float_t DBin=RMS*TMath::Sqrt(12.)/2.;
50 xLow=mean-int(mean/DBin+2)*DBin;
51 xUp=int(0.2*mean/DBin)*DBin+mean+5*DBin;
58 ME=dqm->book1D(name,
"",NBin, xLow, xUp);
70 dqm->setCurrentFolder(
"JetMET/MET");
72 Dirs = dqm->getSubdirs();
74 std::vector<std::string> metFolders;
76 metFolders.push_back(
"All/");
77 metFolders.push_back(
"BasicCleanup/");
78 metFolders.push_back(
"ExtraCleanup/");
80 for (
int i=0;
i<int(Dirs.size());
i++) {
82 std::string
prefix =
"dummy";
84 if (
size_t(Dirs[
i].
find(
"Calo")) != string::npos) prefix =
"Calo";
85 if (
size_t(Dirs[
i].
find(
"Pf")) != string::npos) prefix =
"Pf";
86 if (
size_t(Dirs[
i].
find(
"Tc")) != string::npos) prefix =
"";
88 for (std::vector<std::string>::const_iterator ic=metFolders.begin();
89 ic!=metFolders.end(); ic++) {
91 std::string
dirName = Dirs[
i] +
"/" + *ic;
93 MEx = dqm->get(dirName +
"METTask_" + prefix +
"MEx");
94 MEy = dqm->get(dirName +
"METTask_" + prefix +
"MEx");
97 if (MEx->getTH1F()->GetEntries() > 50) MEx->getTH1F()->Fit(
"gaus",
"q");
101 if (MEy->getTH1F()->GetEntries() > 50) MEy->getTH1F()->Fit(
"gaus",
"q");
109 dqm->setCurrentFolder(SUSYFolder);
110 Dirs = dqm->getSubdirs();
111 for (
int i=0;
i<int(Dirs.size());
i++)
113 size_t found = Dirs[
i].find(
"Alpha");
114 if (found!=string::npos)
continue;
115 if(!dqm->dirExists(Dirs[
i])){
116 edm::LogError(messageLoggerCatregory)<<
"Directory "<<Dirs[
i]<<
" doesn't exist!!";
119 vector<MonitorElement*> histoVector = dqm->getContents(Dirs[i]);
120 for (
int i=0; i<int(histoVector.size()); i++) {
121 QuantilePlots(histoVector[i],_quantile);
T getParameter(std::string const &) const
virtual void beginJob(void)
void endRun(const edm::Run &, const edm::EventSetup &)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
static const char * messageLoggerCatregory
const std::string & getPathname(void) const
get pathname of parent folder
void QuantilePlots(MonitorElement *ME, double q_value)
virtual void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup)
virtual void beginRun(const edm::Run &, const edm::EventSetup &iSetup)
SusyPostProcessor(const edm::ParameterSet &pSet)