13 #ifndef PndTimeStructureAnaTask_H 14 #define PndTimeStructureAnaTask_H 17 #include "FairTSBufferFunctional.h" 18 #include "FairEventHeader.h" 35 TString histoName(
"hBetweenEvents");
37 TString eventHistoName(
"hInsideEvent");
39 TString eventDiffHistoName(
"hEventLength");
41 TString eventsInSelection(
"hEventsInSelection");
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);
50 std::vector<Double_t> result;
52 for (
int i = 0;
i < h1->GetNbinsX();
i++) {
53 sum += h1->GetBinContent(
i);
54 result.push_back(sum);
61 std::vector<Double_t> result;
62 for (
int i = 0;
i < h1->GetNbinsX();
i++) {
63 result.push_back(h1->GetBinCenter(
i));
74 TString eventGapPercName =
fBranchName +
"EventGapPerc";
82 TString overlapPercName =
fBranchName +
"OverlapPerc";
91 for (
size_t i = 0;
i < values.size();
i++)
92 theGraph->Fill(binCenters[
i], values[i]);
99 for (
size_t i = 0;
i < values.size();
i++)
100 theGraph->Fill(binCenters[
i], values[i] / values.back() * 100.0);
133 virtual InitStatus Init();
134 virtual InitStatus ReInit();
137 virtual void Exec(Option_t *opt);
138 virtual void FinishEvent();
139 virtual void FinishTask();
151 void FillTimeGapsEvent();
154 std::vector<DataObject> fData;
155 std::vector<DataObject> fDataPrim;
156 TH1D *fHistoMixedEvents;
157 TH1D *fHistoMixedEventsPrim;
158 TH1D *fHistoTimeGapsEvents;
159 FairEventHeader *fEventHeader;
160 double fTimeOfPreviousEvent;
std::vector< Double_t > GetBinCenters(TH1 *h1)
TH1D * fEventsInSelection
DataObject(TString branchName, Double_t timeGap)
void FillGraph(TH1D *theGraph, TH1 *h1)
virtual ~PndTimeStructureAnaTask()
void AddBranchName(TString name, Double_t gap)
std::map< Int_t, std::pair< Double_t, Double_t > > fEventStartStopMap
PndTimeStructureAnaTask(const char *name)
Int_t fNEventsInSelection
std::vector< Double_t > CalcIntegral(TH1 *h1)
PndTimeStructureAnaTask()
virtual void SetParContainers()
void FillGraphPercent(TH1D *theGraph, TH1 *h1)