  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
    5 #ifndef MSVTXPLOTCOMPARISON_H 
    6 #define MSVTXPLOTCOMPARISON_H 
   27 #include "TEfficiency.h" 
   28 #include "TGraphAsymmErrors.h" 
   29 #include "TMultiGraph.h" 
   39         MSVtxPlotComparison(
const std::vector<std::string> &datapaths, 
const std::vector<std::string> &
labels, 
const std::string &pltdir);
 
   46             std::unique_ptr<T> 
plot{
nullptr};
 
   61         void drawTHStack(std::unique_ptr<PlotInfo<THStack>> &hstackInfo);
 
   74         TGraphAsymmErrors* 
getRatio(
const TGraphAsymmErrors* 
num, 
const TGraphAsymmErrors* 
denom);
 
   75         void drawRatio(TGraphAsymmErrors* 
ratio, TGraphAsymmErrors* denomErrNorm, 
const TString &xlabel, 
const TAxis* plotXaxis, 
const TAxis* plotYaxis, 
double axisRescaling);
 
   78         Bool_t 
isTH1(
const TClass *objectClass);
 
   81         Int_t 
getPointIdx(
const TGraphAsymmErrors* graph, 
double x);
 
   97         std::unique_ptr<TCanvas> 
m_c{
nullptr};
 
  113         const std::array<Int_t, 10> 
m_colors{
m_kP10Blue, 
m_kP10Yellow, 
m_kP10Red, 
m_kP10Grey, 
m_kP10Violet, 
m_kP10Brown, 
m_kP10Orange, 
m_kP10Green, 
m_kP10Ash, 
m_kP10Cyan};
 
  114         static constexpr 
std::array m_markers{kOpenCircle, kOpenSquare, kOpenTriangleUp, kOpenDiamond, kOpenStar, kOpenTriangleDown, kOpenDoubleDiamond, kOpenCrossX};
 
  117 #endif // MSVTXPLOTCOMPARISON_H 
  
TGraphAsymmErrors * getNormalisedGraph(const TGraphAsymmErrors *graph)
 
Bool_t isTEfficiency(const TClass *objectClass)
 
Bool_t ignorePlot(TKey *key)
 
void drawTMultigraph(std::unique_ptr< PlotInfo< TMultiGraph >> &mgInfo)
 
std::unique_ptr< TCanvas > m_c
 
void makeTH1Comparison(TKey *key)
 
void drawTMultigraphPlot(std::unique_ptr< PlotInfo< TMultiGraph >> &mgInfo)
 
void makeTEfficiencyComparison(TKey *key)
 
Bool_t isTH1(const TClass *objectClass)
 
TString m_plotdir_inputObjects
 
virtual ~MSVtxPlotComparison()
 
TString m_plotdir_recoVtxHits
 
std::vector< std::string > m_labels
 
static constexpr std::array m_markers
 
MSVtxPlotComparison(const std::vector< std::string > &datapaths, const std::vector< std::string > &labels, const std::string &pltdir)
 
const std::array< Int_t, 10 > m_colors
 
TString m_plotdir_vtxFakeRate
 
void drawTHStackRatioPlot(std::unique_ptr< PlotInfo< THStack >> &hstackInfo)
 
void drawTHStackPlot(std::unique_ptr< PlotInfo< THStack >> &hstackInfo)
 
TString m_plotdir_vtxResiduals
 
std::unique_ptr< MSVtxPlotComparison::PlotInfo< TMultiGraph > > getTMultigraphPlotInfo(TEfficiency *h)
 
std::unique_ptr< TFile > m_output_file
 
Int_t getPointIdx(const TGraphAsymmErrors *graph, double x)
 
TString m_plotdir_recoVtx
 
std::unique_ptr< MSVtxPlotComparison::PlotInfo< THStack > > getTHStackPlotInfo(const TH1 *h)
 
TString m_plotdir_vtxEfficiency
 
void drawTHStack(std::unique_ptr< PlotInfo< THStack >> &hstackInfo)
 
void drawTMultigraphRatioPlot(std::unique_ptr< PlotInfo< TMultiGraph >> &mgInfo)
 
void drawRatio(TGraphAsymmErrors *ratio, TGraphAsymmErrors *denomErrNorm, const TString &xlabel, const TAxis *plotXaxis, const TAxis *plotYaxis, double axisRescaling)
 
TString m_plotdir_truthVtx
 
const TString getTMultigraphplotpath(const TString &name)
 
TGraphAsymmErrors * getRatio(const TH1 *num, const TH1 *denom)
 
PlotInfo(std::unique_ptr< T > plot, TLegend *legend, double maxy, TString xlabel, const TString ylabel)
 
const TString getTHStackplotpath(const TString &name)
 
std::vector< std::string > m_datapaths