PandaRoot
PndPidEmcInfo.h
Go to the documentation of this file.
1 #ifndef PID_EMC_INFO_H
2 #define PID_EMC_INFO_H
3 
4 #include <map>
5 #include <memory>
6 
7 #include "TClonesArray.h"
8 
9 #include "FairRootManager.h"
10 #include "FairRuntimeDb.h"
11 #include "FairPropagator.h"
12 #include "PndPropagator.h"
13 #include "FairGeane.h"
14 
15 #include "PndTrack.h"
16 #include "PndEmcErrorMatrix.h"
18 #include "PndEmcErrorMatrixPar.h"
19 #include "PndEmcGeoPar.h"
21 #include "PndEmcCluster.h"
22 #include "PndEmcBump.h"
23 
24 #include "PndPidDetectorInfo.h"
25 #include "PndPidCalorimeterInfo.h"
26 
36 // TODO: THIS REPRESENTS THE ORIGINAL VERSION OF THE EMC AND IS TO BE UPDATED BY BEN SALISBURY (BONN).
38  public:
39  PndPidEmcInfo();
41 
42  virtual Int_t GetClusterCount() { return fEmcCluster->GetEntriesFast(); };
43 
48  Bool_t SetCalibrator();
49 
55  Bool_t SetGeoPar(FairRuntimeDb *db);
56 
62  Bool_t SetErrorMatrixPar(FairRuntimeDb *db);
63 
69  Bool_t SetParContainers(FairRuntimeDb *db);
70 
74  void Reset();
75 
79  void ResetEmcQ();
80 
84  void SetupErrorMatrix();
85 
91  virtual Int_t SetDetectorHits(FairRootManager *manager);
92 
100  Bool_t Setup(FairRootManager *manager, PndPropagator *propagator, PndPidDetectorParams::DetectorParams *params);
101 
107  virtual void ActivateDebugNtuple(Bool_t debug_mode);
108 
114  void GetNeutralInfo(Int_t nbr_tracks, TClonesArray *neutralArray);
115 
123  virtual Bool_t GetInfo(PndTrack *track, PndPidCandidate *pidCand);
124 
125  protected:
126  TClonesArray *fEmcCluster = nullptr;
127  TClonesArray *fEmcBump = nullptr;
128  TClonesArray *fEmcDigi = nullptr;
129 
132  std::unique_ptr<PndEmcErrorMatrix> fEmcErrorMatrix{new PndEmcErrorMatrix()};
133 
134  std::map<Int_t, Bool_t> fClusterList;
135  std::map<Int_t, Double_t> fClusterQ;
136  std::unique_ptr<PndEmcAbsClusterCalibrator> fEmcCalibrator{nullptr};
137 
139 };
140 
141 #endif // PID_EMC_INFO_H
Bool_t SetParContainers(FairRuntimeDb *db)
Set geometry and error matrix parameters.
virtual Bool_t GetInfo(PndTrack *track, PndPidCandidate *pidCand)
Add EMC information to PidCandidate.
TClonesArray * fEmcDigi
Emc digi TCA.
std::unique_ptr< PndEmcAbsClusterCalibrator > fEmcCalibrator
Emc cluster calibrator.
void Reset()
Reset fClusterList and fClusterQ.
std::unique_ptr< PndEmcErrorMatrix > fEmcErrorMatrix
Calculate error matrix for emc cluster.
Base class for accessing PID detector information of calorimeter system (EMC, FSC).
void GetNeutralInfo(Int_t nbr_tracks, TClonesArray *neutralArray)
Include calorimeter information in neutral PndPidCandidate.
virtual Int_t SetDetectorHits(FairRootManager *manager)
Fill detector hit TCAs and adjust detector mode.
virtual void ActivateDebugNtuple(Bool_t debug_mode)
Set debug mode of detector.
Bool_t SetGeoPar(FairRuntimeDb *db)
Set geometry parameters.
void SetupErrorMatrix()
Init fEmcErrorMatrix.
std::map< Int_t, Bool_t > fClusterList
List of clusters for track correlation.
std::map< Int_t, Double_t > fClusterQ
List of emc quality correlated to clusters.
Class for accessing PID detector information of calorimeter system (EMC, FSC).
Definition: PndPidEmcInfo.h:37
virtual Int_t GetClusterCount()
Default destructor.
Definition: PndPidEmcInfo.h:42
void ResetEmcQ()
Reset all the quality values for track correlation to -1.
PndEmcErrorMatrixPar * fEmcErrorMatrixPar
Emc error matrix parameters.
PndEmcGeoPar * fEmcGeoPar
Emc geometry version.
Bool_t SetCalibrator()
Set cluster calibrator.
Bool_t SetErrorMatrixPar(FairRuntimeDb *db)
Set error matrix parameters.
ClassDef(PndPidEmcInfo, 1)
Propagator interface class for PandaRoot.
Definition: PndPropagator.h:52
Calculate Error Matrix for the given EmcCluster with parametrization defined by the given parameter P...
PndPidEmcInfo()
Default constructor.
TClonesArray * fEmcCluster
Emc cluster TCA.
TClonesArray * fEmcBump
Emc bump TCA.
Bool_t Setup(FairRootManager *manager, PndPropagator *propagator, PndPidDetectorParams::DetectorParams *params)
Setup calorimeter info.