Changing to centrality dependent corrections
[u/mrichter/AliRoot.git] / ANALYSIS / TenderSupplies / AliTPCTenderSupply.h
CommitLineData
e75408ba 1#ifndef ALITPCTENDERSUPPLY_H
2#define ALITPCTENDERSUPPLY_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7////////////////////////////////////////////////////////////////////////
8// //
9// TPC tender, reapply pid on the fly //
10// //
11////////////////////////////////////////////////////////////////////////
12
5dea385b 13#include <TString.h>
e75408ba 14
15#include <AliTenderSupply.h>
16
ee981ab3 17class TObjArray;
e75408ba 18class AliESDpid;
19class AliSplineFit;
20class AliGRPObject;
5dea385b 21class TGraphErrors;
22class AliAnalysisManager;
23class TF1;
e75408ba 24
25class AliTPCTenderSupply: public AliTenderSupply {
26
27public:
28 AliTPCTenderSupply();
29 AliTPCTenderSupply(const char *name, const AliTender *tender=NULL);
30
31 virtual ~AliTPCTenderSupply(){;}
32
33 void SetGainCorrection(Bool_t gainCorr) {fGainCorrection=gainCorr;}
5dea385b 34 void SetAttachmentCorrection(Bool_t attCorr) {fAttachmentCorrection=attCorr;}
f19a0c5e 35 void SetDebugLevel(Int_t level) {fDebugLevel=level;}
36 void SetMip(Double_t mip) {fMip=mip;}
ee981ab3 37 void SetResponseFunctions(TObjArray *arr) {fArrPidResponseMaster=arr;}
5dea385b 38 Double_t GetMultiplicityCorrectionMean(Double_t tpcMulti);
39 Double_t GetMultiplicityCorrectionSigma(Double_t tpcMulti);
40
41 void AddSpecificStorage(const char* cdbPath, const char* storage);
42
e75408ba 43 virtual void Init();
44 virtual void ProcessEvent();
45
46private:
5dea385b 47 AliESDpid *fESDpid; //! ESD pid object
48 AliSplineFit *fGainNew; //! New gain correction
49 AliSplineFit *fGainOld; //! Old gain correction
50 TGraphErrors *fGainAttachment; //! new attachment correction
e75408ba 51
5dea385b 52 Bool_t fIsMC; //! if or not we have MC analysis
53 Bool_t fGainCorrection; // Perform gain correction
54 Bool_t fAttachmentCorrection; // Perform attachment correction
f19a0c5e 55 Bool_t fPcorrection; //!Perform pressure correction
5dea385b 56 Bool_t fMultiCorrection; //!Perform multiplicity correction
ee981ab3 57 TObjArray *fArrPidResponseMaster; //array with gain curves
5dea385b 58 TF1 *fMultiCorrMean; //!multiplicity correction for mean
59 TF1 *fMultiCorrSigma; //!multiplicity correction for resolution
60 TObjArray *fSpecificStorages; //array with specific storages
61
f19a0c5e 62 Int_t fDebugLevel; //debug level
63 Double_t fMip; //mip position
64
e75408ba 65 AliGRPObject *fGRP; //!GRP for pressure temperature correction
5dea385b 66
67 TString fBeamType; //! beam type (PP) or (PBPB)
68 TString fLHCperiod; //! LHC period
69 TString fMCperiod; //! corresponding MC period to use for the splines
70 Int_t fRecoPass; //! reconstruction pass
71
e75408ba 72 void SetSplines();
73 Double_t GetGainCorrection();
5dea385b 74
75 Double_t GetTPCMultiplicityBin();
76
77 void SetBeamType();
e75408ba 78
ee981ab3 79 void SetParametrisation();
5dea385b 80 void SetRecoInfo();
ee981ab3 81
e75408ba 82 AliTPCTenderSupply(const AliTPCTenderSupply&c);
83 AliTPCTenderSupply& operator= (const AliTPCTenderSupply&c);
84
5dea385b 85 ClassDef(AliTPCTenderSupply, 2); // TPC tender task
e75408ba 86};
87
88
89#endif
90