PandaRoot
PndPidEmcInfo.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef PID_EMC_INFO_H
14 #define PID_EMC_INFO_H
15 
16 #include <map>
17 #include <memory>
18 
19 #include "TClonesArray.h"
20 
21 #include "FairRootManager.h"
22 #include "FairRuntimeDb.h"
23 #include "FairPropagator.h"
24 #include "PndPropagator.h"
25 #include "FairGeane.h"
26 
27 #include "PndTrack.h"
28 #include "PndEmcErrorMatrix.h"
30 #include "PndEmcErrorMatrixPar.h"
31 #include "PndEmcGeoPar.h"
33 #include "PndEmcCluster.h"
34 #include "PndEmcBump.h"
35 
36 #include "PndPidDetectorInfo.h"
37 #include "PndPidCalorimeterInfo.h"
38 
48 // TODO: THIS REPRESENTS THE ORIGINAL VERSION OF THE EMC AND IS TO BE UPDATED BY BEN SALISBURY (BONN).
50 
51  private:
52 
53  void FillCorrelationMap();
54 
55  public:
56  PndPidEmcInfo();
58 
59  virtual Int_t GetClusterCount() { return fEmcCluster->GetEntriesFast(); };
60 
65  Bool_t SetCalibrator();
66 
72  Bool_t SetGeoPar(FairRuntimeDb *db);
73 
79  Bool_t SetErrorMatrixPar(FairRuntimeDb *db);
80 
86  Bool_t SetParContainers(FairRuntimeDb *db);
87 
91  void Reset();
92 
96  void ResetEmcQ();
97 
101  void SetupErrorMatrix();
102 
108  virtual Int_t SetDetectorHits(FairRootManager *manager);
109 
117  Bool_t Setup(FairRootManager *manager, PndPropagator *propagator, PndPidDetectorParams::DetectorParams *params);
118 
124  virtual void ActivateDebugNtuple(Bool_t debug_mode);
125 
131  void GetNeutralInfo(Int_t nbr_tracks, TClonesArray *neutralArray);
132 
139  Bool_t PreprocessTracks(const Int_t trackid, PndTrack *track);
140 
148  virtual Bool_t GetInfo(PndTrack *track, PndPidCandidate *pidCand);
149 
150  protected:
151  TClonesArray *fEmcCluster = nullptr;
152  TClonesArray *fEmcBump = nullptr;
153  TClonesArray *fEmcDigi = nullptr;
154 
157  std::unique_ptr<PndEmcErrorMatrix> fEmcErrorMatrix{new PndEmcErrorMatrix()};
158 
159  std::unique_ptr<PndEmcAbsClusterCalibrator> fEmcCalibrator{nullptr};
160 
162 };
163 
164 #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).
Bool_t PreprocessTracks(const Int_t trackid, PndTrack *track)
Preprocess current track object.
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.
Class for accessing PID detector information of calorimeter system (EMC, FSC).
Definition: PndPidEmcInfo.h:49
virtual Int_t GetClusterCount()
Default destructor.
Definition: PndPidEmcInfo.h:59
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:64
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.