7 #include "DQM/DQMRenderPlugin.h"
10 #include "TProfile2D.h"
13 #include "TGraphPolar.h"
25 virtual bool applies(
const VisDQMObject &
o,
const VisDQMImgInfo & )
27 return ((o.name.find(
"RecoTauV/" ) != std::string::npos ) && (o.name.find(
"Eff" ) != std::string::npos ) );
30 virtual void preDraw( TCanvas *
canvas,
const VisDQMObject &
o,
const VisDQMImgInfo & , VisDQMRenderInfo & renderInfo)
33 TH1*
obj =
dynamic_cast<TH1*
>( o.object );
37 gStyle->SetOptStat(0);
38 renderInfo.drawOptions =
"E0";
39 if(o.name.find(
"Rejection" ) != std::string::npos ) canvas->SetLogy();
40 if(o.name.find(
"RealData" ) != std::string::npos ) canvas->SetLogy();
44 string variable = stripVar(o.name);
45 obj->SetTitle((discriminator+
" fake rate vs "+variable).c_str());
46 obj->GetXaxis()->SetTitle(variable.c_str());
47 obj->GetYaxis()->SetTitle(
"fake rate");
48 double min = (canvas->GetLogy() ) ? 0.001 : 0.;
49 double max = (canvas->GetLogy() ) ? 2. : 1.2;
50 obj->GetYaxis()->SetRangeUser(min,max);
51 obj->SetMarkerStyle(20);
54 virtual void postDraw( TCanvas *,
const VisDQMObject &,
const VisDQMImgInfo & )
62 return name.substr(name.rfind(
"/")+1,name.rfind(
"Eff")-name.rfind(
"/")-1);
66 return name.substr(name.rfind(
"Eff")+3);
virtual void postDraw(TCanvas *, const VisDQMObject &, const VisDQMImgInfo &)
static PFTauRenderPlugin instance
virtual void preDraw(TCanvas *canvas, const VisDQMObject &o, const VisDQMImgInfo &, VisDQMRenderInfo &renderInfo)
virtual bool applies(const VisDQMObject &o, const VisDQMImgInfo &)
string stripVar(string name)
string stripDicriminator(string name)