Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-04-05 08:10:22

0001 #ifndef DIFFERENTIALCONTAINER_H
0002 #define DIFFERENTIALCONTAINER_H
0003 
0004 #include "binning.h"
0005 
0006 struct DifferentialContainer
0007 {
0008   std::string particle;
0009   std::vector<TH1F*> hists;
0010   HistogramInfo var_info;
0011 
0012   DifferentialContainer(const std::string& hparticle, const HistogramInfo& hinfo)
0013   : particle(hparticle), var_info(hinfo)
0014   {
0015     hists = makeDifferentialHistograms(BinInfo::mass_bins.at(particle),hinfo);
0016   }
0017 
0018   DifferentialContainer(TFile* f, const std::string& hparticle, const HistogramInfo& hinfo)
0019   : particle(hparticle), var_info(hinfo)
0020   {
0021     for(int i=0; i<hinfo.bins.size()+2; i++)
0022     {
0023       std::string name = BinInfo::mass_bins.at(particle).name + "_vs" + hinfo.name + "_" + std::to_string(i);
0024       TH1F* h = (TH1F*)f->Get(name.c_str());
0025       hists.push_back(h);
0026     }
0027   }
0028 
0029   void Write()
0030   {
0031     for(TH1F* h : hists)
0032     {
0033       h->Write();
0034     }
0035   }
0036 };
0037 
0038 #endif