PandaRoot
PndEmcMakeCorr.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 //--------------------------------------------------------------------------
14 // File and Version Information:
15 // $Id:$
16 //
17 // Description:
18 // Class EmcCalibration
19 // Do an energy and theta corrections
20 // (at the moment for photons, 4.02.2010)
21 //
22 // Author List:
23 // A. Biegun
24 // M. Babai
25 //------------------------------------------------------------------------
26 //#pragma once
27 #ifndef PNDEMCMAKECORR_H
28 #define PNDEMCMAKECORR_H
29 
30 #include <PndPersistencyTask.h>
31 #include "TObject.h"
32 #include "TClonesArray.h"
33 #include "TVector3.h"
34 #include <TH2.h>
35 #include <TFile.h>
36 #include <TString.h>
37 
38 class TClonesArray;
39 class TObjectArray;
40 class PndEmcDigiPar;
41 class PndEmcRecoPar;
42 
43 class PndEmcCluster;
44 class PndEmcDigi;
45 
47 
48  public:
49  // Constructors
50  PndEmcMakeCorr(Int_t verbose = 0, TString transportModel = "TGeant3", TString clusterType = "EmcBump");
51 
52  // Destructor
53  virtual ~PndEmcMakeCorr();
54 
56  virtual InitStatus Init();
57 
58  // Methods
59  TFile *f, *f0, *f1, *f2, *f3;
60 
61  Int_t FindTheBin(TH2 *lookup_table, Float_t value_x, Float_t value_y, Int_t &bin_x, Int_t &bin_y);
62 
63  Double_t GetValueInZ(TH2 *lookup_table, Float_t value_x, Float_t value_y, Bool_t use_interpolation = kFALSE);
64 
66  virtual void Exec(Option_t *opt);
67 
68  // Modifiers
69  void SetStorageOfData(Bool_t val);
70 
71  protected:
72  Int_t fClusterIndex; // Index of cluster the bump is made in TClonesArray
73 
74  private:
76  TClonesArray *fClusterArray;
77 
79  TClonesArray *fClusterArrayCorr;
80 
81  PndEmcDigiPar *fDigiPar;
82  PndEmcRecoPar *fRecoPar;
85  virtual void SetParContainers();
86 
87  Int_t fVerbose;
88  Bool_t fStoreClustersCorr;
89 
90  // Data members
91  //
92  // Target EMC
93  TString nameEn[4];
94  TString nameTh[4];
95  TH2F *hEn[4];
96  TH2F *hTh[4];
97 
98  // Shashlyk
99  TString nameEn5[4];
100  TString nameTh5[4];
101  TH2F *hEn5[4];
102  TH2F *hTh5[4];
103 
104  TString fModel;
105  TString fClusterType;
106 
107  TString corrFileName[4];
108  TString fPartName[4];
109 
110  PndEmcMakeCorr(const PndEmcMakeCorr &L);
111  PndEmcMakeCorr &operator=(const PndEmcMakeCorr &) { return *this; };
112 
113  ClassDef(PndEmcMakeCorr, 1)
114 };
115 #endif // PNDEMCMAKECORR_HH
PndEmcMakeCorr(Int_t verbose=0, TString transportModel="TGeant3", TString clusterType="EmcBump")
virtual ~PndEmcMakeCorr()
Double_t GetValueInZ(TH2 *lookup_table, Float_t value_x, Float_t value_y, Bool_t use_interpolation=kFALSE)
virtual void Exec(Option_t *opt)
parameter set of Emc digitisation
Definition: PndEmcDigiPar.h:24
virtual InitStatus Init()
Int_t FindTheBin(TH2 *lookup_table, Float_t value_x, Float_t value_y, Int_t &bin_x, Int_t &bin_y)
void SetStorageOfData(Bool_t val)
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:25