R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandTimeRes.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
3 * Copyright (C) 2019-2025 Members of R3B Collaboration *
4 * *
5 * This software is distributed under the terms of the *
6 * GNU General Public Licence (GPL) version 3, *
7 * copied verbatim in the file "LICENSE". *
8 * *
9 * In applying this license GSI does not waive the privileges and immunities *
10 * granted to it by virtue of its status as an Intergovernmental Organization *
11 * or submit itself to any jurisdiction. *
12 ******************************************************************************/
13
14#ifndef R3BNEULANDTIMERES_H
15#define R3BNEULANDTIMERES_H
16
17#include "FairTask.h"
18#include "R3BEventHeader.h"
19#include "TClonesArray.h"
20#include "TF1.h"
21#include "TH1.h"
22#include "TH2.h"
23
24class R3BNeulandTimeRes : public FairTask
25{
26
27 public:
33
40 R3BNeulandTimeRes(const char* name, Int_t iVerbose = 1);
41
46 virtual ~R3BNeulandTimeRes();
47
54 virtual InitStatus Init();
55
61 virtual void Exec(Option_t* option);
62
68 virtual void FinishEvent();
69
74 virtual void FinishTask();
75
80 inline void SetUpdateRate(Int_t rate) { fUpdateRate = rate; }
81
86 inline void SetTrigger(Int_t trigger) { fTrigger = trigger; }
87
92 inline void SetNofModules(Int_t nPlanes, Int_t nPaddles)
93 {
94 fNofPlanes = nPlanes;
95 fNofBarsPerPlane = nPaddles;
96 }
97
101 inline void SetNeededStat(Int_t nevents) { fNEventsNeeded = nevents; }
102
103 private:
104 UInt_t fNofPlanes;
105 UInt_t fNofBarsPerPlane;
106
107 Int_t fUpdateRate;
108 Int_t fTrigger;
109 Int_t fNEvents;
110
111 Int_t fNEventsNeeded;
112
113 TF1* fitfunc[60][50];
114
115 Int_t bars_done;
116 Int_t bar_done[60][50];
117 Bool_t finished;
118
119 TH1F* hTimeRes[60][50];
120 TH2F* hTimeResQ[60][50];
121
122 TClonesArray* fPmt;
123 R3BEventHeader* header;
124
125 Double_t wlk(Double_t x);
126
127 public:
128 ClassDef(R3BNeulandTimeRes, 1)
129};
130
131#endif
Double_t wlk(Double_t x)
void SetNofModules(Int_t nPlanes, Int_t nPaddles)
Method for setting number of modules in NeuLAND setup.
void SetUpdateRate(Int_t rate)
Method for setting the update rate.
virtual ~R3BNeulandTimeRes()
Destructor.
virtual void FinishTask()
Method for finish of the task execution.
void SetTrigger(Int_t trigger)
Method for selecting events with certain trigger value.
virtual InitStatus Init()
Method for task initialization.
virtual void FinishEvent()
A method for finish of processing of an event.
R3BNeulandTimeRes()
Default constructor.
void SetNeededStat(Int_t nevents)
Method for setting needed statistics for data analyis.
virtual void Exec(Option_t *option)
Method for event loop implementation.
constexpr Int_t nPlanes