25 #ifndef PndTimeStructureAnaTask_H 26 #define PndTimeStructureAnaTask_H 29 #include "FairTSBufferFunctional.h" 30 #include "FairEventHeader.h" 47 TString histoName(
"hBetweenEvents");
49 TString eventHistoName(
"hInsideEvent");
51 TString eventDiffHistoName(
"hEventLength");
53 TString eventsInSelection(
"hEventsInSelection");
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);
62 std::vector<Double_t> result;
64 for (
int i = 0;
i < h1->GetNbinsX();
i++) {
65 sum += h1->GetBinContent(
i);
66 result.push_back(sum);
73 std::vector<Double_t> result;
74 for (
int i = 0;
i < h1->GetNbinsX();
i++) {
75 result.push_back(h1->GetBinCenter(
i));
86 TString eventGapPercName =
fBranchName +
"EventGapPerc";
94 TString overlapPercName =
fBranchName +
"OverlapPerc";
103 for (
size_t i = 0;
i < values.size();
i++)
104 theGraph->Fill(binCenters[
i], values[i]);
111 for (
size_t i = 0;
i < values.size();
i++)
112 theGraph->Fill(binCenters[
i], values[i] / values.back() * 100.0);
145 virtual InitStatus Init();
146 virtual InitStatus ReInit();
149 virtual void Exec(Option_t *opt);
150 virtual void FinishEvent();
151 virtual void FinishTask();
163 void FillTimeGapsEvent();
166 std::vector<DataObject> fData;
167 std::vector<DataObject> fDataPrim;
168 TH1D *fHistoMixedEvents;
169 TH1D *fHistoMixedEventsPrim;
170 TH1D *fHistoTimeGapsEvents;
171 FairEventHeader *fEventHeader;
172 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)