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 41 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 44 of file PndTimeStructureAnaTask.h.

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

45  : fBranchName(branchName), fBranch(nullptr), fOldEventNr(-1), fOldTimeStamp(0), fEventMixture(kFALSE), fTimeGap(timeGap), fNEventsInSelection(0)
46  {
47  TString histoName("hBetweenEvents");
48  histoName += fBranchName;
49  TString eventHistoName("hInsideEvent");
50  eventHistoName += fBranchName;
51  TString eventDiffHistoName("hEventLength");
52  eventDiffHistoName += fBranchName;
53  TString eventsInSelection("hEventsInSelection");
54  eventsInSelection += fBranchName;
55  fTimeHisto = new TH1D(histoName, histoName, 10000, 0, 10000);
56  fEventHisto = new TH1D(eventHistoName, eventHistoName, 100, 0, 100);
57  fEventDiffHisto = new TH1D(eventDiffHistoName, eventDiffHistoName, 1000, 0, 1000);
58  fEventsInSelection = new TH1D(eventsInSelection, eventsInSelection, 100, 0, 100);
59  }
TClonesArray * fBranch

Member Function Documentation

◆ CalcIntegral()

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

Definition at line 60 of file PndTimeStructureAnaTask.h.

References i.

Referenced by FillGraph(), and FillGraphPercent().

61  {
62  std::vector<Double_t> result;
63  Double_t sum = 0;
64  for (int i = 0; i < h1->GetNbinsX(); i++) {
65  sum += h1->GetBinContent(i);
66  result.push_back(sum);
67  }
68  return result;
69  }
unsigned int i
Definition: P4_F32vec4.h:33

◆ FillGraph()

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

Definition at line 99 of file PndTimeStructureAnaTask.h.

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

Referenced by FillGraphs().

100  {
101  std::vector<Double_t> values = CalcIntegral(h1);
102  std::vector<Double_t> binCenters = GetBinCenters(h1);
103  for (size_t i = 0; i < values.size(); i++)
104  theGraph->Fill(binCenters[i], values[i]);
105  }
std::vector< Double_t > GetBinCenters(TH1 *h1)
unsigned int i
Definition: P4_F32vec4.h:33
std::vector< Double_t > CalcIntegral(TH1 *h1)

◆ FillGraphPercent()

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

Definition at line 107 of file PndTimeStructureAnaTask.h.

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

Referenced by FillGraphs().

108  {
109  std::vector<Double_t> values = CalcIntegral(h1);
110  std::vector<Double_t> binCenters = GetBinCenters(h1);
111  for (size_t i = 0; i < values.size(); i++)
112  theGraph->Fill(binCenters[i], values[i] / values.back() * 100.0);
113  }
std::vector< Double_t > GetBinCenters(TH1 *h1)
unsigned int i
Definition: P4_F32vec4.h:33
std::vector< Double_t > CalcIntegral(TH1 *h1)

◆ FillGraphs()

void DataObject::FillGraphs ( )
inline

Definition at line 79 of file PndTimeStructureAnaTask.h.

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

80  {
81 
82  TString eventGapName = fBranchName + "EventGap";
83  fEventGap = new TH1D(eventGapName.Data(), eventGapName.Data(), fTimeHisto->GetNbinsX(), fTimeHisto->GetXaxis()->GetXmin(), fTimeHisto->GetXaxis()->GetXmax());
85 
86  TString eventGapPercName = fBranchName + "EventGapPerc";
87  fEventGapPerc = new TH1D(eventGapPercName.Data(), eventGapPercName.Data(), fTimeHisto->GetNbinsX(), fTimeHisto->GetXaxis()->GetXmin(), fTimeHisto->GetXaxis()->GetXmax());
89 
90  TString overlapName = fBranchName + "Overlap";
91  fOverlap = new TH1D(overlapName.Data(), overlapName.Data(), fEventHisto->GetNbinsX(), fEventHisto->GetXaxis()->GetXmin(), fEventHisto->GetXaxis()->GetXmax());
93 
94  TString overlapPercName = fBranchName + "OverlapPerc";
95  fOverlapPerc = new TH1D(overlapPercName.Data(), overlapPercName.Data(), fEventHisto->GetNbinsX(), fEventHisto->GetXaxis()->GetXmin(), fEventHisto->GetXaxis()->GetXmax());
97  }
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 71 of file PndTimeStructureAnaTask.h.

References i.

Referenced by FillGraph(), and FillGraphPercent().

72  {
73  std::vector<Double_t> result;
74  for (int i = 0; i < h1->GetNbinsX(); i++) {
75  result.push_back(h1->GetBinCenter(i));
76  }
77  return result;
78  }
unsigned int i
Definition: P4_F32vec4.h:33

Member Data Documentation

◆ fBranch

TClonesArray* DataObject::fBranch

Definition at line 116 of file PndTimeStructureAnaTask.h.

◆ fBranchName

TString DataObject::fBranchName

Definition at line 115 of file PndTimeStructureAnaTask.h.

Referenced by DataObject(), and FillGraphs().

◆ fEventDiffHisto

TH1D* DataObject::fEventDiffHisto

Definition at line 119 of file PndTimeStructureAnaTask.h.

Referenced by DataObject().

◆ fEventGap

TH1D* DataObject::fEventGap

Definition at line 120 of file PndTimeStructureAnaTask.h.

Referenced by FillGraphs().

◆ fEventGapPerc

TH1D* DataObject::fEventGapPerc

Definition at line 121 of file PndTimeStructureAnaTask.h.

Referenced by FillGraphs().

◆ fEventHisto

TH1D* DataObject::fEventHisto

Definition at line 118 of file PndTimeStructureAnaTask.h.

Referenced by DataObject(), and FillGraphs().

◆ fEventMixture

Bool_t DataObject::fEventMixture

Definition at line 127 of file PndTimeStructureAnaTask.h.

◆ fEventsInSelection

TH1D* DataObject::fEventsInSelection

Definition at line 122 of file PndTimeStructureAnaTask.h.

Referenced by DataObject().

◆ fEventStartStopMap

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

Definition at line 130 of file PndTimeStructureAnaTask.h.

◆ fNEventsInSelection

Int_t DataObject::fNEventsInSelection

Definition at line 129 of file PndTimeStructureAnaTask.h.

◆ fOldEventNr

Int_t DataObject::fOldEventNr

Definition at line 125 of file PndTimeStructureAnaTask.h.

◆ fOldTimeStamp

Double_t DataObject::fOldTimeStamp

Definition at line 126 of file PndTimeStructureAnaTask.h.

◆ fOverlap

TH1D* DataObject::fOverlap

Definition at line 123 of file PndTimeStructureAnaTask.h.

Referenced by FillGraphs().

◆ fOverlapPerc

TH1D* DataObject::fOverlapPerc

Definition at line 124 of file PndTimeStructureAnaTask.h.

Referenced by FillGraphs().

◆ fTimeGap

Double_t DataObject::fTimeGap

Definition at line 128 of file PndTimeStructureAnaTask.h.

◆ fTimeHisto

TH1D* DataObject::fTimeHisto

Definition at line 117 of file PndTimeStructureAnaTask.h.

Referenced by DataObject(), and FillGraphs().


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