DAS  3.0
Das Analysis System
Hist

Description

Contains the histograms that are filled in getMultiJetobservables. These histograms are filled through the different Fill() methods.

The attributes of this structure are the following:

  • name --> name of the instance to avoid memory leak
  • njets --> histogram of the number of jets in the event
  • dsigmadphi --> $\Delta \phi$ between the leading and subleading Jets
  • ptleading --> $p_T$ of the leading jet (in term of pt)
  • deta --> Delta Eta distribution between the leading and subleading Jets
  • pt --> pt of all the jets in the event
  • pteta --> 2D histogram binned in $p_T$ and $\Delta\eta$
  • Ht --> $H_T$ of the event
  • EF --> Energy fraction of the leading jet
  • SpT --> $S_{p_T} $ of the event see MultiJets::SpT()
  • Sphi --> $S_{\phi}$ of the event see MultiJets::Sphi()

Public Member Functions

 Hist (TString thename)
 
template<typename Jet >
void Fill (const MultiJets< Jet > &multijets, double evweight)
 
void Write (TDirectory *dir)
 

Public Attributes

TString name
 
TH1F njets
 
TH1F pt
 
TH1F Ht
 
TH1F dphi
 
TH1F deta
 
TH1F EF
 
TH1F SpT
 
TH1F Sphi
 
TH2F ptnjets
 
TH2F pteta
 

Private Member Functions

template<typename HIST >
void Loop (vector< HIST * > hists, TDirectory *dir)
 

Constructor & Destructor Documentation

◆ Hist()

Hist ( TString  thename)
inline
60  :
61  name(thename),
62  njets(name+"njets","total number of jets in the event;N_{jets};N_{evts}",20,0,20),
63  pt(name+"pt","Inclusive jets;p_{T} (GeV);N_{jets}",pt_edges.size()-1,pt_edges.data()),
64  Ht(name+"Ht","Events Ht;H_{T} (GeV);N_{jets}",pt_edges.size()-1,pt_edges.data()),
65  dphi(name+"dphi","\\phi difference between leading and subleading jets;\\Delta \\phi;N_{jets}",40,0,M_PI),
66  deta(name+"deta","\\eta difference between leading and subleading jets;\\Delta \\eta;N_{jets}",binsY.size()-1, binsY.data()),
67  EF(name+"EF","Energy fraction;\\frac{p_{T,1}}{H_{T}};N_{jets}",20,0,1),
68  SpT(name+"SpT","p_{T} separation;S_{p_{T}};N_{jets}",100,0,1),
69  Sphi(name+"Sphi","\\phi separation;S_{\\phi};N_{jets}",100,0,M_PI),
70  ptnjets(name+"ptnjets","pt of the first 6 jets;p_{T};rank", pt_edges.size()-1, pt_edges.data(),6,0,6),
71  pteta(name+"pteta",";p_{T};\\eta", pt_edges.size()-1, pt_edges.data(), y_edges.size()-1, y_edges.data())
72  {}

Member Function Documentation

◆ Fill()

void Fill ( const MultiJets< Jet > &  multijets,
double  evweight 
)
inline
75  {
76  for (int i = 0; i < multijets.jets.size(); i++){
77  pt.Fill((multijets.jets.at(i)).CorrPt(), evweight * (multijets.jets.at(i)).weights.front());
78  pteta.Fill((multijets.jets.at(i)).CorrPt(), (multijets.jets.at(i)).p4.Eta(), evweight * (multijets.jets.at(i)).weights.front());
79  ptnjets.Fill((multijets.jets.at(i)).CorrPt(), i, evweight * (multijets.jets.at(i)).weights.front());
80  }
81  njets.Fill( multijets.jets.size(), evweight * multijets.jetswgt());
82  dphi.Fill(abs(multijets.dijet.DeltaPhi()), evweight * multijets.dijet.Weight());
83  deta.Fill(abs(multijets.dijet.DeltaEta()), evweight * multijets.dijet.Weight());
84  Ht.Fill(multijets.Ht(), evweight * multijets.jetswgt());
85  EF.Fill(multijets.jets.at(0).CorrPt() / multijets.Ht(), evweight * multijets.jetswgt());
86  if (multijets.jets.size() == 6) {
87  SpT.Fill (multijets.SpT() , evweight * multijets.jetswgt());
88  Sphi.Fill(multijets.Sphi(), evweight * multijets.jetswgt());
89  }
90  }

◆ Loop()

void Loop ( vector< HIST * >  hists,
TDirectory *  dir 
)
inlineprivate
94  {
95  for (HIST * h: hists){
96  h->SetDirectory(dir);
97  TString histoname(h->GetName());
98  histoname.ReplaceAll(name,"");
99  h->Write(histoname);
100  }
101  }

◆ Write()

void Write ( TDirectory *  dir)
inline
105  {
106  dir->cd();
107  auto subdir = dir->mkdir(name);
108  subdir->cd();
109  Loop<TH1F>({&njets, &pt, &dphi, &deta, &Ht, &EF, &SpT}, subdir);
110  Loop<TH2F>({&ptnjets, &pteta}, subdir);
111 
112  }

Member Data Documentation

◆ deta

TH1F deta

◆ dphi

TH1F dphi

◆ EF

TH1F EF

◆ Ht

TH1F Ht

◆ name

TString name

◆ njets

TH1F njets

◆ pt

TH1F pt

◆ pteta

TH2F pteta

◆ ptnjets

TH2F ptnjets

◆ Sphi

TH1F Sphi

◆ SpT

TH1F SpT

The documentation for this struct was generated from the following file:
DAS::y_edges
static const std::vector< double > y_edges
Definition: binnings.h:36
DAS::pt_edges
static const std::vector< double > pt_edges
Definition: binnings.h:33
DAS::TPS::Hist::njets
TH1F njets
Definition: getTPSobservables.cc:57
DAS::TPS::Hist::ptnjets
TH2F ptnjets
Definition: getTPSobservables.cc:58
DAS::TPS::Hist::deta
TH1F deta
Definition: getTPSobservables.cc:57
DAS::TPS::Hist::dphi
TH1F dphi
Definition: getTPSobservables.cc:57
DAS::TPS::Hist::Ht
TH1F Ht
Definition: getTPSobservables.cc:57
DAS::TPS::Hist::SpT
TH1F SpT
Definition: getTPSobservables.cc:57
DAS::TPS::Hist::name
TString name
Definition: getTPSobservables.cc:55
DAS::TPS::Hist::EF
TH1F EF
Definition: getTPSobservables.cc:57
DAS::TPS::Hist::Sphi
TH1F Sphi
Definition: getTPSobservables.cc:57
DAS::TPS::Hist::pteta
TH2F pteta
Definition: getTPSobservables.cc:58
DAS::TPS::Hist::pt
TH1F pt
Definition: getTPSobservables.cc:57
DAS::binsY
static const std::vector< double > binsY
Definition: common.h:8