]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/TenderSupplies/AliPHOSTenderSupply.h
add few ebe dihadron and jet correlation to be compared to normal dihadron correlatio...
[u/mrichter/AliRoot.git] / ANALYSIS / TenderSupplies / AliPHOSTenderSupply.h
CommitLineData
f7d0ec90 1#ifndef ALIPHOSTENDERSUPPLY_H
2#define ALIPHOSTENDERSUPPLY_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// PHOS tender, apply corrections to PHOS clusters //
10// and do track matching //
11// Author : Dmitri Peressounko (RRC KI) //
12// //
13////////////////////////////////////////////////////////////////////////
14
15#include <AliTenderSupply.h>
16
17class TVector3;
18class AliPHOSGeometry;
19class AliPHOSCalibData ;
20class TH2I ;
21class AliVCluster ;
22class AliVCaloCells ;
23class AliAnalysisTaskSE ;
24
25class AliPHOSTenderSupply: public AliTenderSupply {
26
27public:
28 AliPHOSTenderSupply();
29 AliPHOSTenderSupply(const char *name, const AliTender *tender=NULL);
30 virtual ~AliPHOSTenderSupply();
31
32 virtual void Init(){}
33 virtual void ProcessEvent();
34
35 void SetTask(AliAnalysisTaskSE * task){fTask=task;} //if work with AOD and special task
36
37 void SetNonlinearityVersion(const char * ver="Gustavo2005"){fNonlinearityVersion=ver;}
38 void SetNonlinearityParams(Int_t n, const Double_t * par){
39 if(n>10){printf("Only 10 parameters allowed \n"); return ;}
40 for(Int_t i=0;i<n;i++)fNonlinearityParams[i]=par[i]; }
41 void SetReconstructionPass(Int_t ipass=2){fRecoPass=ipass;}
42
43 //Use this function to let tender know that it works with MC production
44 //should read calibration from PHOSMCCalibration file and use object for specified production
45 //By defaul real data is assumed.
46 void SetMCProduction(const char * name ="LHC13_b2"){fIsMC=kTRUE ; fMCProduction=name ;}
47
48 //If you want to override automatic choise of bad maps and calibration
49 void ForceUsingBadMap(const char * filename="alien:///alice/cern.ch/user/p/prsnko/BadMaps/BadMap_LHC10b.root") ;
50 void ForceUsingCalibration(const char * filename="alien:///alice/cern.ch/user/p/prsnko/Recalibrations/LHC10b_pass1.root") ;
51 void InitTender();
52
53protected:
54 AliPHOSTenderSupply(const AliPHOSTenderSupply&c);
55 AliPHOSTenderSupply& operator= (const AliPHOSTenderSupply&c);
56 void FindTrackMatching(Int_t mod,TVector3 *locpos,Double_t &dx, Double_t &dz, Double_t &pttrack, Int_t &charge);
57 Float_t CorrectNonlinearity(Float_t en) ;
58 Double_t TestCPV(Double_t dx, Double_t dz, Double_t pt, Int_t charge) ;
77e3cbcb 59 Double_t TestCoreLambda(Double_t pt,Double_t l1,Double_t l2) ;
60 Double_t TestFullLambda(Double_t pt,Double_t l1,Double_t l2) ;
f7d0ec90 61 Bool_t IsGoodChannel(Int_t mod, Int_t ix, Int_t iz) ;
62 void CorrectPHOSMisalignment(TVector3 & globalPos, Int_t module);
63 void EvalLambdas(AliVCluster * clu, Double_t &m02, Double_t &m20) ;
5bd0f028 64 Double_t CoreEnergy(AliVCluster * clu) ;
53442b36 65 Double_t EvalEcross(AliVCluster * clu) ;
f7d0ec90 66 Double_t EvalTOF(AliVCluster * clu,AliVCaloCells * cells);
67 Double_t CalibrateTOF(Double_t tof, Int_t absId, Bool_t isHG);
393b3556 68 void DistanceToBadChannel(Int_t mod, TVector3 * locPos, Double_t &minDist) ;
69
f7d0ec90 70
71private:
72
73 TString fOCDBpass ; // Pass to OCDB recalibration object, local or alien
74 TString fNonlinearityVersion; // Version of non-linearity correction to aaply
75 AliPHOSGeometry *fPHOSGeo; // PHOS geometry
76 Double_t fNonlinearityParams[10] ; // Parameters for non-linearity calculation
77 TH2I * fPHOSBadMap[5] ; // Bad channels map
78 Int_t fRecoPass ; // Reconstruction pass
79 Bool_t fUsePrivateBadMap ;
80 Bool_t fUsePrivateCalib ;
81
82 AliPHOSCalibData *fPHOSCalibData; // PHOS calibration object
83 AliAnalysisTaskSE *fTask; // analysis task
84
85 Bool_t fIsMC; //True if work with MC data
86 TString fMCProduction ; //Name of MC production
87
88 ClassDef(AliPHOSTenderSupply, 2); // PHOS tender task
89};
90
91
92#endif
93
94