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

Member Function Documentation

◆ Fill() [1/3]

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

◆ Fill() [2/3]

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

◆ Fill() [3/3]

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

◆ Loop()

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

◆ Write()

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

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