15void BmnHist::DrawRef(unique_ptr<TCanvas>& canGemStrip, vector<PadInfo*>* canGemStripPads)
17 DrawRef(canGemStrip.get(), canGemStripPads);
22 for (
size_t iPad = 0; iPad < canPads->size(); iPad++) {
24 PadInfo* info = canPads->at(iPad);
25 if ((!pad) || (!info))
55 if (info->
aux.size()) {
56 for (
size_t it = 0; it < info->
aux.size(); it++) {
57 auto h_aux = info->
aux.at(it);
58 maxy =
TMath::Max(maxy, h_aux->GetBinContent(h_aux->GetMaximumBin()));
60 if (info->
aux[0]->Integral() > 0)
61 info->
aux[0]->SetMaximum(1.2 * maxy);
74 for (
size_t it = 0; it < info->
aux.size(); it++) {
75 auto h = info->
aux.at(it);
78 if (it < info->auxOpt.size())
79 opt += info->
auxOpt.at(it);
93 (info->
opt +
" goff").c_str());
103 vector<PadInfo*> canPads,
104 vector<TString> Names)
111 printf(
"Loading ref histos\n");
113 if (
refFile->IsOpen() ==
false) {
114 printf(
"Cannot open file %s !\n", FullName.
Data());
118 for (
size_t iPad = 0; iPad < canPads.size(); iPad++) {
128 tempH =
static_cast<TH1*
>(
refFile->Get(refName +
fTitle +
"_hists/" + refName + name));
133 printf(
"Cannot load %s !\n", name.
Data());
136 info->
ref =
static_cast<TH1*
>(tempH->
Clone(refName + name));
150 info->current->Reset();
153 for (
auto& h : info->aux)
char * Form(const char *fmt,...)
BmnStatus
Define status code.
BmnSetup
Define experimental setup.
static void DrawRef(unique_ptr< TCanvas > &canGemStrip, vector< PadInfo * > *canGemStripPads)
static void DrawPad(TVirtualPad *pad, PadInfo *info)
static BmnStatus DrawPadFromTree(BmnPadBranch *br)
static void ResetPadTree(BmnPadBranch *br)
static void FillPad(PadInfo *info, TTree *tree)
static void SetHistStyleTH1(TH1 *h)
static BmnStatus FillPadFromTree(BmnPadBranch *br, TTree *tree)
static BmnStatus LoadRefRun(Int_t refID, TString FullName, TString fTitle, vector< PadInfo * > canPads, vector< TString > Names)
BmnHist(Int_t periodID=7, BmnSetup setup=kBMNSETUP)
vector< BmnPadBranch * > & GetBranchesRef()
Storage for pad content and it's options.
virtual void SetTitleOffset(Float_t offset=1)
virtual void SetTitleSize(Float_t size=0.04)
virtual void SetTitleColor(Color_t color=1)
virtual void SetLineColor(Color_t lcolor)
virtual void SetDirectory(TDirectory *dir)
virtual void SetTitleSize(Float_t size=0.02, Option_t *axis="X")
virtual Bool_t Add(const TH1 *h, const TH1 *h2, Double_t c1=1, Double_t c2=1)
TDirectory * GetDirectory() const
virtual TH1 * DrawNormalized(Option_t *option="", Double_t norm=1) const
virtual void Reset(Option_t *option="")
virtual Double_t GetMaximum(Double_t maxval=FLT_MAX) const
virtual void SetMaximum(Double_t maximum=-1111)
void Draw(Option_t *option="") override
virtual Double_t Integral(Int_t binx1, Int_t binx2, Option_t *option="") const
virtual Int_t GetMaximumBin() const
virtual Double_t GetBinContent(Int_t bin) const
TObject * Clone(const char *newname="") const override
virtual void SetLabelSize(Float_t size=0.02, Option_t *axis="X")
void Draw(Option_t *option="") override
const char * GetName() const override
void SetLogz(Int_t value=1) override
void SetLogy(Int_t value=1) override
void SetLogx(Int_t value=1) override
const char * Data() const
virtual Long64_t Draw(const char *varexp, const char *selection, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0)
virtual void Modified(Bool_t flag=1)=0
void Clear(Option_t *option="") override=0
Double_t Max(Double_t a, Double_t b)