PandaRoot
PndPidBremCorrector.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_BREMCORRECTOR_H
14 #define PID_BREMCORRECTOR_H
15 
16 #include <vector>
17 #include <map>
18 
19 #include "FairTask.h"
20 #include "TObject.h"
21 
22 #include "TString.h"
23 #include "TClonesArray.h"
24 #include "TVector3.h"
25 
26 class PndPidCandidate;
27 
29 class PndEmcCluster;
30 class PndEmcBump;
31 
32 // Path of file:
33 // ----- $pandaroot/pid/PidCorr
34 
35 class PndPidBremCorrector : public FairTask {
36 
37  public:
39  PndPidBremCorrector(const char *name, const char *title = "Pnd Task");
40 
41  // Destructor
42  virtual ~PndPidBremCorrector();
43 
44  // Methods
46  virtual InitStatus Init();
47 
49  virtual void Exec(Option_t *opt);
50 
51  void SetStorageOfData(Bool_t p = kTRUE) { fPersistance = p; };
52 
53  virtual void FinishTask(){};
54  void SetOutputBranch(TString branch) { fTrackBranchNamePidHypo = branch; };
55 
56  private:
57  PndPidBremCorrected4Mom *AddBremCorrected4Mom();
58 
59  Double_t GetSepPhotonE(PndPidCandidate *, std::vector<Int_t> &);
60  Double_t GetMergPhotonE(PndPidCandidate *, std::vector<Int_t> &);
61 
62  void GetEmcPhiBumpList(Int_t iClust);
63  Double_t GetBz(const TVector3 &pos);
64 
66  TClonesArray *fBumpArray;
67  TClonesArray *fClusterArray;
68 
69  TClonesArray *fPhiBumpArray;
70 
71  TClonesArray *fChargedCandidateArray;
72 
73  TClonesArray *fBremCorrected4MomArray;
74 
75  Double_t fRecMomOfEle;
76  Double_t fRecThetaOfEle;
77  Double_t fRecPhiOfEle;
78  Int_t fCharge;
79 
80  Double_t fSepPhotonE;
81  Double_t fMergPhotonE;
82 
83  std::vector<PndEmcBump *> fEmcPhiBumpList;
84  TString fTrackBranchNamePidHypo;
85 
86  Bool_t fPersistance; // switch to turn on/off storing the arrays to a file
87  // Data members
88 
90  PndPidBremCorrector &operator=(const PndPidBremCorrector &) { return *this; };
91 
92  ClassDef(PndPidBremCorrector, 1);
93 };
94 
95 #endif
virtual void Exec(Option_t *opt)
virtual void FinishTask()
void SetOutputBranch(TString branch)
virtual ~PndPidBremCorrector()
void SetStorageOfData(Bool_t p=kTRUE)
virtual InitStatus Init()
represents a reconstructed (splitted) emc cluster
Definition: PndEmcBump.h:46