DAS  3.0
Das Analysis System
Hist

Description

Contains the histograms that are filled in getMNobservables. These histograms are filled through the different Fill() methods. Beware that the three Fill() methods are different.

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 --> $(\pi - \Delta \phi)$ between the MN Jets
  • ptleading --> $p_T$ of the leading jet (in term of pt)
  • ptratmn --> ratio of pt of the mnjets (see the Obs2Jets)
  • deta --> Delta Eta distribution between the MN Jets
  • pt --> pt of all the jets in the event
  • ptmnfwd --> pt of the most fwd MN jet
  • ptmnbwd --> pt of the most bwd MN jet
  • njetsptave --> 2D histogram jets multiplicity and average pt of the MN jets
  • njetsdeta --> 2D histogram jets multiplicity and delat eta btw the MN jets
  • ptavedeta --> 2D histogram binned in $p_{T,MN,ave}$ and $ \Delta \eta$
  • dphideta --> 2D histogram binned in $\Delta\phi$ and $\Delta\eta$
  • cos1,2,3 --> TProfile containing $ \left\langle \cos \left( n \left( \pi - \Delta \phi \right) \right) \right\rangle $ for $n=1,2,3$
  • ptavemini --> See Obs2Jets
  • detaavemini --> See Obs2Jets
  • retaavemini --> See Obs2Jets
  • rptexpdeta --> See Obs2Jets

Public Member Functions

 Hist (TString thename)
 
void Fill (vector< RecJet > &recJets, double evweight)
 
void Fill (vector< GenJet > &genJets, double evweight)
 
void Fill (Obs2Jets &mn2Jets, ObsMiniJets &miniJets, double evweight)
 
void Write (TDirectory *dir)
 

Public Attributes

TString name
 
TH1F njets
 
TH1F dsigmadphi
 
TH1F ptleading
 
TH1F ptratmn
 
TH1F pt
 
TH1F ptmnfwd
 
TH1F ptmnbwd
 
TH1F deta
 
TH2F njetsptave
 
TH2F njetsdeta
 
TH2F ptavedeta
 
TH2F dphideta
 
TH2F pteta
 
TProfile cos1
 
TProfile cos2
 
TProfile cos3
 
TH1F ptavemini
 
TH1F detaavemini
 
TH1F retaavemini
 
TH1F rptexpdeta
 

Private Member Functions

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

Constructor & Destructor Documentation

◆ Hist()

Hist ( TString  thename)
inline
74  :
75  name(thename),
76  njets(name+"njets",";N_{jets};N_{evts}",20,0,20),
77  dsigmadphi(name+"dsigmadphi",";\\Delta \\phi;N_{jets}",binsPhi.size()-1, binsPhi.data()),
78  ptleading(name+"ptlead","pt of the leading jet;p_{T} (GeV);N_{jets}", pt_edges.size()-1, pt_edges.data()),
79  ptratmn(name+"ptratmn","Pt Balance;\\frac{p_{T,1}}{p_{T,2}};N_{jets}",30,0,1),
80  pt(name+"pt","INclusive jets;p_{T} (GeV);N_{jets}",pt_edges.size()-1,pt_edges.data()),
81  ptmnfwd(name+"ptmnfwd","Pt Backward MN jet;p_{T}^{fwd} (GeV);N_{jets}",pt_edges.size()-1,pt_edges.data()),
82  ptmnbwd(name+"ptmnbwd","Pt Foward MN jet;p_{T}^{fwd} (GeV);N_{jets}",pt_edges.size()-1,pt_edges.data()),
83  deta(name+"delta_eta",";\\Delta \\eta;\\frac{d \\sigma}{d p_{T} d \\eta};", binsY.size()-1, binsY.data()),
84  njetsptave(name+"njetsptave","Jet multiplicity;p_{T}^{ave};N_{jets}", pt_edges.size()-1, pt_edges.data(),20,0,20),
85  njetsdeta(name+"njetsdeta","Jet multiplicity;\\Delta \\eta;N_{jets}", binsY.size()-1, binsY.data(),10 ,0 ,10),
86  ptavedeta(name+"ptavedeta","ptavedeta",pt_edges.size()-1, pt_edges.data(),binsY.size()-1, binsY.data()),
87  dphideta(name+"dphideta","dphideta",30, 0, M_PI, binsY.size()-1, binsY.data()),
88  pteta(name+"pteta",";p_{T};\\eta", pt_edges.size()-1, pt_edges.data(), y_edges.size()-1, y_edges.data()),
89  cos1(name+"cos1","cos1",30,0,10,0,1),
90  cos2(name+"cos2","cos2",30,0,10,0,1),
91  cos3(name+"cos3","cos3",30,0,10,0,1),
92  ptavemini(name+"ptavemini","ptavemini",50,0.,80.),
93  detaavemini(name+"detaavemini","detaavemini",50,0.,5.),
94  retaavemini(name+"retaavemini","retaavemini",50,0.,1.),
95  rptexpdeta(name+"rptexpdeta","rptexpdeta",50,0.,2.)
96  { }

Member Function Documentation

◆ Fill() [1/3]

void Fill ( Obs2Jets mn2Jets,
ObsMiniJets miniJets,
double  evweight 
)
inline
122  {
123  double w1 = evweight * mn2Jets.weight;
124  double w2 = evweight * miniJets.weight;
125 
126  dsigmadphi.Fill( mn2Jets.DPhi() , w1 );
127  deta.Fill( mn2Jets.DEta(), w1 );
128  njetsptave.Fill( mn2Jets.PtAve(), miniJets.size()+2, w1 );
129  njetsdeta.Fill( mn2Jets.DEta(), miniJets.size()+2, w1 );
130  ptratmn.Fill( mn2Jets.PtRatMN(), w1 );
131  ptavedeta.Fill( mn2Jets.PtAve(), mn2Jets.DEta(), w1 );
132  dphideta.Fill( mn2Jets.DPhi(), mn2Jets.DEta(), w1 );
133 
134  ptmnfwd.Fill( mn2Jets.PtFWD(), evweight * mn2Jets.weightFWD );
135  ptmnbwd.Fill( mn2Jets.PtBWD(), evweight * mn2Jets.weightBWD );
136 
137  cos1.Fill( mn2Jets.DEta(), mn2Jets.CosDPhi(1), w1 );
138  cos2.Fill( mn2Jets.DEta(), mn2Jets.CosDPhi(2), w1 );
139  cos3.Fill( mn2Jets.DEta(), mn2Jets.CosDPhi(3), w1 );
140 
141  if (miniJets.size()>0) ptavemini.Fill(miniJets.PtAveMini(), w2 );
142  if (miniJets.size()>1) {
143  detaavemini.Fill(miniJets.DEtaAveMini(), w2 );
144  retaavemini.Fill(miniJets.REtaAveMini(), w2 );
145  rptexpdeta.Fill(miniJets.RPtExpDEta(), w2 );
146  }
147  }

◆ Fill() [2/3]

void Fill ( vector< GenJet > &  genJets,
double  evweight 
)
inline
110  {
111  double jetswgt = (genJets.front()).weights.front();
112  for (auto it = next(genJets.begin()) ; it != genJets.end() ; ++it)
113  jetswgt *= (it->weights).front();
114  for (auto it = genJets.begin() ; it != genJets.end() ; ++it) {
115  pt.Fill( (it->p4).Pt(), evweight * (it->weights).front() );
116  pteta.Fill( (it->p4).Pt(), (it->p4).Eta(), evweight * (it->weights).front());
117  }
118  njets.Fill(genJets.size(), evweight * jetswgt);
119  ptleading.Fill( (genJets.front()).p4.Pt(), evweight * (genJets.front()).weights.front() );
120  }

◆ Fill() [3/3]

void Fill ( vector< RecJet > &  recJets,
double  evweight 
)
inline
98  {
99  double jetswgt = (recJets.front()).weights.front();
100  for (auto it = next(recJets.begin()) ; it != recJets.end() ; ++it)
101  jetswgt *= (it->weights).front();
102  for (auto it = recJets.begin() ; it != recJets.end() ; ++it) {
103  pt.Fill(it->CorrPt(), evweight * (it->weights).front());
104  pteta.Fill(it->CorrPt(), it->p4.Eta(), evweight * (it->weights).front());
105  }
106  njets.Fill( recJets.size(), evweight*jetswgt );
107  ptleading.Fill( (recJets.front()).CorrPt(), evweight * (recJets.front()).weights.front() );
108  }

◆ Loop()

void Loop ( vector< HIST * >  hists,
TDirectory *  dir 
)
inlineprivate
151  {
152  for (HIST * h: hists){
153  h->SetDirectory(dir);
154  TString histoname(h->GetName());
155  histoname.ReplaceAll(name,"");
156  h->Write(histoname);
157  }
158  }

◆ Write()

void Write ( TDirectory *  dir)
inline
162  {
163  dir->cd();
164  auto subdir = dir->mkdir(name);
165  subdir->cd();
166  Loop<TH1F>({&njets, &dsigmadphi, &ptleading, &ptratmn, &ptmnfwd, &ptmnbwd, &pt,
167  &ptavemini, &detaavemini, &retaavemini, &rptexpdeta, &deta}, subdir);
168  Loop<TH2F>({&njetsptave, &njetsdeta, &ptavedeta, &dphideta, &pteta}, subdir);
169  Loop<TProfile>({&cos1, &cos2, &cos3}, subdir);
170  }

Member Data Documentation

◆ cos1

TProfile cos1

◆ cos2

TProfile cos2

◆ cos3

TProfile cos3

◆ deta

TH1F deta

◆ detaavemini

TH1F detaavemini

◆ dphideta

TH2F dphideta

◆ dsigmadphi

TH1F dsigmadphi

◆ name

TString name

◆ njets

TH1F njets

◆ njetsdeta

TH2F njetsdeta

◆ njetsptave

TH2F njetsptave

◆ pt

TH1F pt

◆ ptavedeta

TH2F ptavedeta

◆ ptavemini

TH1F ptavemini

◆ pteta

TH2F pteta

◆ ptleading

TH1F ptleading

◆ ptmnbwd

TH1F ptmnbwd

◆ ptmnfwd

TH1F ptmnfwd

◆ ptratmn

TH1F ptratmn

◆ retaavemini

TH1F retaavemini

◆ rptexpdeta

TH1F rptexpdeta

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::MN::Hist::cos1
TProfile cos1
Definition: getMNobservables.cc:70
DAS::MN::Hist::retaavemini
TH1F retaavemini
Definition: getMNobservables.cc:72
DAS::MN::Hist::rptexpdeta
TH1F rptexpdeta
Definition: getMNobservables.cc:72
DAS::MN::Hist::ptavedeta
TH2F ptavedeta
Definition: getMNobservables.cc:69
DAS::MN::Hist::name
TString name
Definition: getMNobservables.cc:66
DAS::pt_edges
static const std::vector< double > pt_edges
Definition: binnings.h:33
DAS::MN::Hist::dphideta
TH2F dphideta
Definition: getMNobservables.cc:69
DAS::MN::Hist::ptleading
TH1F ptleading
Definition: getMNobservables.cc:68
DAS::MN::Hist::njetsdeta
TH2F njetsdeta
Definition: getMNobservables.cc:69
DAS::MN::Hist::cos3
TProfile cos3
Definition: getMNobservables.cc:70
DAS::MN::Hist::pteta
TH2F pteta
Definition: getMNobservables.cc:69
DAS::MN::Hist::cos2
TProfile cos2
Definition: getMNobservables.cc:70
DAS::MN::Hist::ptavemini
TH1F ptavemini
Definition: getMNobservables.cc:72
DAS::MN::Hist::ptmnfwd
TH1F ptmnfwd
Definition: getMNobservables.cc:68
DAS::MN::Hist::njets
TH1F njets
Definition: getMNobservables.cc:68
DAS::MN::Hist::detaavemini
TH1F detaavemini
Definition: getMNobservables.cc:72
DAS::MN::Hist::dsigmadphi
TH1F dsigmadphi
Definition: getMNobservables.cc:68
DAS::binsPhi
static const std::vector< double > binsPhi
Definition: common.h:9
DAS::MN::Hist::njetsptave
TH2F njetsptave
Definition: getMNobservables.cc:69
DAS::MN::Hist::ptratmn
TH1F ptratmn
Definition: getMNobservables.cc:68
weights
DAS::Weights weights
Definition: classes.h:12
DAS::MN::Hist::ptmnbwd
TH1F ptmnbwd
Definition: getMNobservables.cc:68
DAS::binsY
static const std::vector< double > binsY
Definition: common.h:8
DAS::MN::Hist::deta
TH1F deta
Definition: getMNobservables.cc:68
DAS::MN::Hist::pt
TH1F pt
Definition: getMNobservables.cc:68