PandaRoot
DataObject Struct Reference

#include <PndTimeStructureAnaTask.h>

Public Member Functions

 DataObject ()
 
 DataObject (TString branchName, Double_t timeGap)
 
std::vector< Double_t > CalcIntegral (TH1 *h1)
 
std::vector< Double_t > GetBinCenters (TH1 *h1)
 
void FillGraphs ()
 
void FillGraph (TH1D *theGraph, TH1 *h1)
 
void FillGraphPercent (TH1D *theGraph, TH1 *h1)
 

Public Attributes

TString fBranchName
 
TClonesArray * fBranch
 
TH1D * fTimeHisto
 
TH1D * fEventHisto
 
TH1D * fEventDiffHisto
 
TH1D * fEventGap
 
TH1D * fEventGapPerc
 
TH1D * fEventsInSelection
 
TH1D * fOverlap
 
TH1D * fOverlapPerc
 
Int_t fOldEventNr
 
Double_t fOldTimeStamp
 
Bool_t fEventMixture
 
Double_t fTimeGap
 
Int_t fNEventsInSelection
 
std::map< Int_t, std::pair< Double_t, Double_t > > fEventStartStopMap
 

Detailed Description

Definition at line 29 of file PndTimeStructureAnaTask.h.

Constructor & Destructor Documentation

◆ DataObject() [1/2]

DataObject::DataObject ( )
inline

◆ DataObject() [2/2]

DataObject::DataObject ( TString  branchName,
Double_t  timeGap 
)
inline

Definition at line 32 of file PndTimeStructureAnaTask.h.

References fBranchName, fEventDiffHisto, fEventHisto, fEventsInSelection, and fTimeHisto.

33  : fBranchName(branchName), fBranch(nullptr), fOldEventNr(-1), fOldTimeStamp(0), fEventMixture(kFALSE), fTimeGap(timeGap), fNEventsInSelection(0)
34  {
35  TString histoName("hBetweenEvents");
36  histoName += fBranchName;
37  TString eventHistoName("hInsideEvent");
38  eventHistoName += fBranchName;
39  TString eventDiffHistoName("hEventLength");
40  eventDiffHistoName += fBranchName;
41  TString eventsInSelection("hEventsInSelection");
42  eventsInSelection += fBranchName;
43  fTimeHisto = new TH1D(histoName, histoName, 10000, 0, 10000);
44  fEventHisto = new TH1D(eventHistoName, eventHistoName, 100, 0, 100);
45  fEventDiffHisto = new TH1D(eventDiffHistoName, eventDiffHistoName, 1000, 0, 1000);
46  fEventsInSelection = new TH1D(eventsInSelection, eventsInSelection, 100, 0, 100);
47  }
TClonesArray * fBranch

Member Function Documentation

◆ CalcIntegral()

std::vector<Double_t> DataObject::CalcIntegral ( TH1 *  h1)
inline

Definition at line 48 of file PndTimeStructureAnaTask.h.

References i.

Referenced by FillGraph(), and FillGraphPercent().

49  {
50  std::vector<Double_t> result;
51  Double_t sum = 0;
52  for (int i = 0; i < h1->GetNbinsX(); i++) {
53  sum += h1->GetBinContent(i);
54  result.push_back(sum);
55  }
56  return result;
57  }
unsigned int i
Definition: P4_F32vec4.h:21

◆ FillGraph()

void DataObject::FillGraph ( TH1D *  theGraph,
TH1 *  h1 
)
inline

Definition at line 87 of file PndTimeStructureAnaTask.h.

References CalcIntegral(), GetBinCenters(), and i.

Referenced by FillGraphs().

88  {
89  std::vector<Double_t> values = CalcIntegral(h1);
90  std::vector<Double_t> binCenters = GetBinCenters(h1);
91  for (size_t i = 0; i < values.size(); i++)
92  theGraph->Fill(binCenters[i], values[i]);
93  }
std::vector< Double_t > GetBinCenters(TH1 *h1)
unsigned int i
Definition: P4_F32vec4.h:21
std::vector< Double_t > CalcIntegral(TH1 *h1)

◆ FillGraphPercent()

void DataObject::FillGraphPercent ( TH1D *  theGraph,
TH1 *  h1 
)
inline

Definition at line 95 of file PndTimeStructureAnaTask.h.

References CalcIntegral(), GetBinCenters(), and i.

Referenced by FillGraphs().

96  {
97  std::vector<Double_t> values = CalcIntegral(h1);
98  std::vector<Double_t> binCenters = GetBinCenters(h1);
99  for (size_t i = 0; i < values.size(); i++)
100  theGraph->Fill(binCenters[i], values[i] / values.back() * 100.0);
101  }
std::vector< Double_t > GetBinCenters(TH1 *h1)
unsigned int i
Definition: P4_F32vec4.h:21
std::vector< Double_t > CalcIntegral(TH1 *h1)

◆ FillGraphs()

void DataObject::FillGraphs ( )
inline

Definition at line 67 of file PndTimeStructureAnaTask.h.

References fBranchName, fEventGap, fEventGapPerc, fEventHisto, FillGraph(), FillGraphPercent(), fOverlap, fOverlapPerc, and fTimeHisto.

68  {
69 
70  TString eventGapName = fBranchName + "EventGap";
71  fEventGap = new TH1D(eventGapName.Data(), eventGapName.Data(), fTimeHisto->GetNbinsX(), fTimeHisto->GetXaxis()->GetXmin(), fTimeHisto->GetXaxis()->GetXmax());
73 
74  TString eventGapPercName = fBranchName + "EventGapPerc";
75  fEventGapPerc = new TH1D(eventGapPercName.Data(), eventGapPercName.Data(), fTimeHisto->GetNbinsX(), fTimeHisto->GetXaxis()->GetXmin(), fTimeHisto->GetXaxis()->GetXmax());
77 
78  TString overlapName = fBranchName + "Overlap";
79  fOverlap = new TH1D(overlapName.Data(), overlapName.Data(), fEventHisto->GetNbinsX(), fEventHisto->GetXaxis()->GetXmin(), fEventHisto->GetXaxis()->GetXmax());
81 
82  TString overlapPercName = fBranchName + "OverlapPerc";
83  fOverlapPerc = new TH1D(overlapPercName.Data(), overlapPercName.Data(), fEventHisto->GetNbinsX(), fEventHisto->GetXaxis()->GetXmin(), fEventHisto->GetXaxis()->GetXmax());
85  }
void FillGraph(TH1D *theGraph, TH1 *h1)
void FillGraphPercent(TH1D *theGraph, TH1 *h1)

◆ GetBinCenters()

std::vector<Double_t> DataObject::GetBinCenters ( TH1 *  h1)
inline

Definition at line 59 of file PndTimeStructureAnaTask.h.

References i.

Referenced by FillGraph(), and FillGraphPercent().

60  {
61  std::vector<Double_t> result;
62  for (int i = 0; i < h1->GetNbinsX(); i++) {
63  result.push_back(h1->GetBinCenter(i));
64  }
65  return result;
66  }
unsigned int i
Definition: P4_F32vec4.h:21

Member Data Documentation

◆ fBranch

TClonesArray* DataObject::fBranch

Definition at line 104 of file PndTimeStructureAnaTask.h.

◆ fBranchName

TString DataObject::fBranchName

Definition at line 103 of file PndTimeStructureAnaTask.h.

Referenced by DataObject(), and FillGraphs().

◆ fEventDiffHisto

TH1D* DataObject::fEventDiffHisto

Definition at line 107 of file PndTimeStructureAnaTask.h.

Referenced by DataObject().

◆ fEventGap

TH1D* DataObject::fEventGap

Definition at line 108 of file PndTimeStructureAnaTask.h.

Referenced by FillGraphs().

◆ fEventGapPerc

TH1D* DataObject::fEventGapPerc

Definition at line 109 of file PndTimeStructureAnaTask.h.

Referenced by FillGraphs().

◆ fEventHisto

TH1D* DataObject::fEventHisto

Definition at line 106 of file PndTimeStructureAnaTask.h.

Referenced by DataObject(), and FillGraphs().

◆ fEventMixture

Bool_t DataObject::fEventMixture

Definition at line 115 of file PndTimeStructureAnaTask.h.

◆ fEventsInSelection

TH1D* DataObject::fEventsInSelection

Definition at line 110 of file PndTimeStructureAnaTask.h.

Referenced by DataObject().

◆ fEventStartStopMap

std::map<Int_t, std::pair<Double_t, Double_t> > DataObject::fEventStartStopMap

Definition at line 118 of file PndTimeStructureAnaTask.h.

◆ fNEventsInSelection

Int_t DataObject::fNEventsInSelection

Definition at line 117 of file PndTimeStructureAnaTask.h.

◆ fOldEventNr

Int_t DataObject::fOldEventNr

Definition at line 113 of file PndTimeStructureAnaTask.h.

◆ fOldTimeStamp

Double_t DataObject::fOldTimeStamp

Definition at line 114 of file PndTimeStructureAnaTask.h.

◆ fOverlap

TH1D* DataObject::fOverlap

Definition at line 111 of file PndTimeStructureAnaTask.h.

Referenced by FillGraphs().

◆ fOverlapPerc

TH1D* DataObject::fOverlapPerc

Definition at line 112 of file PndTimeStructureAnaTask.h.

Referenced by FillGraphs().

◆ fTimeGap

Double_t DataObject::fTimeGap

Definition at line 116 of file PndTimeStructureAnaTask.h.

◆ fTimeHisto

TH1D* DataObject::fTimeHisto

Definition at line 105 of file PndTimeStructureAnaTask.h.

Referenced by DataObject(), and FillGraphs().


The documentation for this struct was generated from the following file: