17 _quantile = iConfig.getParameter<
double>(
"quantile");
28 if(ME->
getTH1()->GetEntries()>0.)
31 Float_t
mean=q[q_value].first;
32 Float_t
RMS=q[q_value].second;
40 Float_t DBin=RMS*TMath::Sqrt(12.)/2.;
41 xLow=mean-
int(mean/DBin+2)*DBin;
42 xUp=
int(0.2*mean/DBin)*DBin+mean+5*DBin;
49 ME=ibooker_.
book1D(name,
"",NBin, xLow, xUp);
65 std::vector<std::string> metFolders;
67 metFolders.push_back(
"Uncleaned/");
68 metFolders.push_back(
"Cleaned/");
71 TF1 mygaus(
"mygaus",
"gaus");
73 for (
int i=0;
i<
int(Dirs.size());
i++) {
77 if (
size_t(Dirs[
i].
find(
"met")) != string::npos) prefix =
"met";
78 if (
size_t(Dirs[
i].
find(
"pfMet")) != string::npos) prefix =
"pfMET";
80 for (std::vector<std::string>::const_iterator ic=metFolders.begin();
81 ic!=metFolders.end(); ic++) {
85 MEx = iget_.
get(dirName +
"/"+
"MEx");
86 MEy = iget_.
get(dirName +
"/"+
"MEy");
89 if (MEx->getTH1F()->GetEntries() > 50) MEx->
getTH1F()->Fit(&mygaus,
"q");
93 if (MEy->getTH1F()->GetEntries() > 50) MEy->getTH1F()->Fit(&mygaus,
"q");
103 for (
int i=0;
i<
int(Dirs.size());
i++)
105 size_t found = Dirs[
i].find(
"Alpha");
106 if (found!=string::npos)
continue;
108 edm::LogError(messageLoggerCatregory)<<
"Directory "<<Dirs[
i]<<
" doesn't exist!!";
111 vector<MonitorElement*> histoVector = iget_.
getContents(Dirs[i]);
112 for (
int i=0; i<
int(histoVector.size()); i++) {
113 QuantilePlots(histoVector[i],_quantile,ibook_);
T getParameter(std::string const &) const
const std::string & getPathname() const
get pathname of parent folder
void setCurrentFolder(std::string const &fullpath)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
static const char * messageLoggerCatregory
void setCurrentFolder(std::string const &fullpath)
MonitorElement * book1D(Args &&...args)
std::vector< MonitorElement * > getContents(Args &&...args)
MonitorElement * get(std::string const &path)
~SusyPostProcessor() override
void QuantilePlots(MonitorElement *&, double, DQMStore::IBooker &)
bool dirExists(std::string const &path)
std::vector< std::string > getSubdirs()
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
SusyPostProcessor(const edm::ParameterSet &pSet)