CbmRoot
Loading...
Searching...
No Matches
CbmTofBuildDigiEvents.h
Go to the documentation of this file.
1/* Copyright (C) 2018-2020 Physikalisches Institut, Universitaet Heidelberg, Heidelberg
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Christian Simon [committer] */
4
11#ifndef CBMTOFBUILDDIGIEVENTS_H
12#define CBMTOFBUILDDIGIEVENTS_H 1
13
14
15#include "FairTask.h"
16
17#include <map>
18#include <set>
19#include <tuple>
20#include <vector>
21
22
23class FairFileSource;
24class CbmTimeSlice;
25class CbmMCEventList;
26class TClonesArray;
27class CbmTofDigi;
28
36class CbmTofBuildDigiEvents : public FairTask {
37 public:
39
40 virtual ~CbmTofBuildDigiEvents();
41
42 virtual void Exec(Option_t* option);
43
44 // virtual void FinishEvent();
45
46 void SetEventWindow(Double_t dWindow) { fdEventWindow = dWindow; }
47 void SetTriggerCounter(Int_t iModuleType, Int_t iModuleIndex, Int_t iCounterIndex, Int_t iNCounterSides);
48 void SetTriggerMultiplicity(Int_t iMultiplicity) { fiTriggerMultiplicity = iMultiplicity; }
49 void SetPreserveMCBacklinks(Bool_t bPreserve) { fbPreserveMCBacklinks = bPreserve; }
50 void SetDigiTotOffset(Double_t dOffset) { fdDigiToTOffset = dOffset; }
51 void SetIgnoreCounterSide(Int_t iModuleType, Int_t iModuleIndex, Int_t iCounterIndex, Int_t iCounterSide);
52
53
54 protected:
55 virtual InitStatus Init();
56
57 // virtual void SetParContainers();
58
59 virtual void Finish();
60
61
62 private:
64
66
67 void ProcessIdealEvents(Double_t dProcessingTime);
68 void FillMCEventList();
69
70 FairFileSource* fFileSource;
72 TClonesArray* fTofTimeSliceDigis;
73 TClonesArray* fDigiMatches;
76 TClonesArray* fTofEventDigis;
77 Double_t fdEventWindow;
78 std::map<std::tuple<Int_t, Int_t, Int_t>, UChar_t> fNominalTriggerCounterMultiplicity;
83 std::map<std::tuple<Int_t, Int_t, Int_t>, UChar_t> fCounterMultiplicity;
85 std::set<std::pair<Int_t, Int_t>> fProcessedIdealEvents;
86 std::map<std::pair<Int_t, Int_t>, Double_t> fIdealEventStartTimes;
87 std::map<std::pair<Int_t, Int_t>, std::vector<CbmTofDigi*>> fIdealEventDigis;
88 Int_t fiNEvents;
90 std::set<std::tuple<Int_t, Int_t, Int_t, Int_t>> fInactiveCounterSides;
91
92
94};
95
96#endif
Container class for MC events with number, file and start time.
Bookkeeping of time-slice content.
void SetTriggerMultiplicity(Int_t iMultiplicity)
std::map< std::pair< Int_t, Int_t >, std::vector< CbmTofDigi * > > fIdealEventDigis
std::map< std::tuple< Int_t, Int_t, Int_t >, UChar_t > fCounterMultiplicity
std::set< std::tuple< Int_t, Int_t, Int_t, Int_t > > fInactiveCounterSides
void ProcessIdealEvents(Double_t dProcessingTime)
void SetDigiTotOffset(Double_t dOffset)
std::set< std::pair< Int_t, Int_t > > fProcessedIdealEvents
void SetTriggerCounter(Int_t iModuleType, Int_t iModuleIndex, Int_t iCounterIndex, Int_t iNCounterSides)
void SetEventWindow(Double_t dWindow)
std::map< std::tuple< Int_t, Int_t, Int_t >, UChar_t > fNominalTriggerCounterMultiplicity
void SetIgnoreCounterSide(Int_t iModuleType, Int_t iModuleIndex, Int_t iCounterIndex, Int_t iCounterSide)
std::map< std::pair< Int_t, Int_t >, Double_t > fIdealEventStartTimes
virtual void Exec(Option_t *option)
void SetPreserveMCBacklinks(Bool_t bPreserve)
ClassDef(CbmTofBuildDigiEvents, 0)
CbmMCEventList * fInputMCEventList
CbmTofBuildDigiEvents(const CbmTofBuildDigiEvents &)
CbmTofBuildDigiEvents & operator=(const CbmTofBuildDigiEvents &)
CbmMCEventList * fOutputMCEventList
Data class for expanded digital TOF information.
Definition CbmTofDigi.h:47