1 #ifndef ALITPCCALIBLASER_H
2 #define ALITPCCALIBLASER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
12 #include "TObjArray.h"
13 #include "TLinearFitter.h"
14 #include "AliTPCcalibBase.h"
18 class AliExternalTrackParam;
25 class AliTPCcalibLaser:public AliTPCcalibBase {
28 AliTPCcalibLaser(const Text_t *name, const Text_t *title);
29 virtual ~AliTPCcalibLaser();
30 virtual void Process(AliESDEvent *event);
31 virtual void Analyze();
32 virtual Long64_t Merge(TCollection *li);
33 virtual void DumpMeanInfo(Float_t bfield, Int_t minEntries=100);
34 static void DumpScanInfo(TTree * tree);
37 virtual void DumpLaser(Int_t id);
38 virtual void RefitLaser(Int_t id);
39 virtual void RefitLaserJW(Int_t id);
42 void AddCut(Double_t xcut, Double_t ycut, Double_t ncl){fEdgeXcuts[fNcuts]=xcut; fEdgeYcuts[fNcuts]=ycut; fNClCuts[fNcuts]=ncl; fNcuts++;}
44 Int_t FindMirror(AliESDtrack *track, AliTPCseed *seed);
45 Bool_t AcceptLaser(Int_t id);
47 AliESDEvent * fESD; //! ESD event - not OWNER
48 AliESDfriend * fESDfriend; //! ESD event - not OWNER
49 TObjArray fTracksMirror; //! tracks with mirror information
50 TObjArray fTracksEsd; //! tracks with reconstructed information -
52 TObjArray fTracksEsdParam; //! tracks with reconstructed information -
53 // is owner ESD at mirror
54 TObjArray fTracksTPC; //! tracks with reconstructed information - TPC
56 TObjArray fDeltaZ; //-> array of histograms of delta z for each track
57 TObjArray fDeltaPhi; //-> array of histograms of delta z for each track
58 TObjArray fDeltaPhiP; //-> array of histograms of delta z for each track
59 TObjArray fSignals; //->Array of dedx signals
61 // Residual histograms
63 TObjArray fDeltaYres; //-> array of histograms of delta y residuals for each track
64 TObjArray fDeltaZres; //-> array of histograms of delta z residuals for each track
65 // Fit Parameter histograms
66 TObjArray fPol2Par2InY; //-> array of histograms. 2nd derivative of pol2 fits per track (Inner chamber)
67 TObjArray fDiffPar1InY; //-> array of histograms. difference of 1st derivative of pol1 and pol2 fits per track (Inner chamber)
68 TObjArray fPol2Par2OutY; //-> array of histograms. 2nd derivative of pol2 fits per track (Outer chamber)
69 TObjArray fDiffPar1OutY; //-> array of histograms. difference of 1st derivative of pol1 and pol2 fits per track (Outer chamber)
70 TObjArray fPol2Par2InZ; //-> array of histograms. 2nd derivative of pol2 fits per track (Inner chamber)
71 TObjArray fDiffPar1InZ; //-> array of histograms. difference of 1st derivative of pol1 and pol2 fits per track (Inner chamber)
72 TObjArray fPol2Par2OutZ; //-> array of histograms. 2nd derivative of pol2 fits per track (Outer chamber)
73 TObjArray fDiffPar1OutZ; //-> array of histograms. difference of 1st derivative of pol1 and pol2 fits per track (Outer chamber)
75 TVectorD* fFitAside; //! drift fit - A side
76 TVectorD* fFitCside; //! drift fit - C- side
78 TVectorD fEdgeXcuts; //! cuts in local x direction; used in the refit of the laser tracks
79 TVectorD fEdgeYcuts; //! cuts in local y direction; used in the refit of the laser tracks
80 TVectorD fNClCuts; //! cuts on the number of clusters per tracklet; used in the refit of the laser tracks
81 Int_t fNcuts; //! number of cuts
83 Int_t fRun; // current run number
84 Int_t fEvent; // cuttent event - internal counter
86 ClassDef(AliTPCcalibLaser,1)