]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCcalibTime.h
AliTPCCorrection.h ... additional funtionality to deal with 3D problem...
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibTime.h
index 9e5fb5d7894a1004206e9c3d3194a7f9d50c4821..929ed587e40bd38c6d88dee5a4f25e2e865d3d74 100644 (file)
@@ -5,24 +5,23 @@
  * See cxx source for full Copyright notice                               */
 
 #include "AliTPCcalibBase.h"
-#include "TH2F.h"
-#include "TF1.h"
-#include "TArrayD.h"
-#include "TObjArray.h"
+#include "THnSparse.h"           // Temporary
+#include "TH1D.h"                // Temporary make code compiling for HLT in the 
+class TObjArray;
 
 class TH1F;
 class TH3F;
 class TH2F;
 class THnSparse;
+class TH1D;
 class TList;
 class AliESDEvent;
 class AliESDtrack;
 class AliTPCcalibLaser;
 class TGraphErrors;
+class AliSplineFit;
+class AliESDfriendTrack;
 
-#include "TTreeStream.h"
-#include "TMap.h"
 class AliTPCcalibTime:public AliTPCcalibBase {
 public:
   AliTPCcalibTime(); 
@@ -30,29 +29,51 @@ public:
   virtual ~AliTPCcalibTime();
   
   virtual void           Process(AliESDEvent *event);
-  virtual Long64_t       Merge(TCollection *li);
+  virtual Long64_t       Merge(TCollection *const li);
   virtual void           Analyze();
-  //
-  static Bool_t          IsLaser(AliESDEvent *event);
+  static Bool_t          IsLaser      (const AliESDEvent *const event);
+  static Bool_t          IsCosmics    (const AliESDEvent *const event);
+  static Bool_t          IsBeam       (const AliESDEvent *const event);
   void                   ProcessLaser (AliESDEvent *event);
-  void                   ProcessCosmic(AliESDEvent *event);
+  void                   ProcessCosmic(const AliESDEvent *const event);
+  void                   ProcessBeam  (const AliESDEvent *const event);
   Bool_t                 IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1);
-  //
-  THnSparse* GetHistVdriftLaserA(Int_t index=1){return fHistVdriftLaserA[index];};
-  THnSparse* GetHistVdriftLaserC(Int_t index=1){return fHistVdriftLaserC[index];};
-  THnSparse* GetHistoDrift(TObjString* name);
-  THnSparse* GetHistoDrift(const char* name);
-  TMap*      GetHistoDrift();
-  TGraphErrors*    GetGraphDrift(TObjString* name);
-  TGraphErrors*    GetGraphDrift(const char* name);
-  TMap*      GetGraphDrift();
-  TGraph*    GetFitDrift(TObjString* name);
-  TGraph*    GetFitDrift(const char* name);
-  TMap*      GetFitDrift();
-  TH1F*      GetCosmiMatchingHisto(Int_t index=0){return fCosmiMatchingHisto[index];};
+  Bool_t                 IsCross(AliESDtrack *const tr0, AliESDtrack *const tr1);
+  Bool_t                 IsSame (AliESDtrack *const tr0, AliESDtrack *const tr1);
+  void                   ProcessSame(AliESDtrack *const track, AliESDfriendTrack *const friendTrack, const AliESDEvent *const event);
+  void                   ProcessAlignITS(AliESDtrack *const track, AliESDfriendTrack *const friendTrack, const AliESDEvent *const event, AliESDfriend *const ESDfriend);
+  void                   ProcessAlignTRD(AliESDtrack* const track, AliESDfriendTrack *const friendTrack);
+  void                   ProcessAlignTOF(AliESDtrack* const track, AliESDfriendTrack *const friendTrack);
+
+  THnSparse*    GetHistVdriftLaserA(Int_t index=1) const {return fHistVdriftLaserA[index];};
+  THnSparse*    GetHistVdriftLaserC(Int_t index=1) const {return fHistVdriftLaserC[index];};
+  THnSparse*    GetHistoDrift(const char* name) const;
+  TObjArray*    GetHistoDrift() const;
+  TGraphErrors* GetGraphDrift(const char* name);
+  TObjArray*    GetGraphDrift();
+  AliSplineFit* GetFitDrift(const char* name);
+//  TObjArray*    GetFitDrift();
+  TH1F*         GetCosmiMatchingHisto(Int_t index=0) const {return fCosmiMatchingHisto[index];};
   
   void     Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);};
   void     Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);}
+  TObjArray* GetAlignITSTPC() const {return fAlignITSTPC;}              // alignemnt array ITS TPC match
+  TObjArray* GetAlignTRDTPC() const {return fAlignTRDTPC;}              // alignemnt array TRD TPC match
+  TObjArray* GetAlignTOFTPC() const {return fAlignTOFTPC;}              // alignemnt array TOF TPC match
+
+  THnSparse*  GetResHistoTPCCE(Int_t index) const { return (index<5) ? fResHistoTPCCE[index]:0;}        //TPC-CE    matching map
+  THnSparse*  GetResHistoTPCITS(Int_t index) const { return (index<5) ? fResHistoTPCITS[index]:0;}        //TPC-ITS    matching map
+  THnSparse*  GetResHistoTPCvertex(Int_t index)      const { return (index<5) ? fResHistoTPCvertex[index]   :0;}        //TPC vertex matching map
+  THnSparse*  GetResHistoTPCTRD(Int_t index)   const { return (index<5) ? fResHistoTPCTRD[index]:0;}        //TPC-TRD    matching map
+  THnSparse*  GetResHistoTPCTOF(Int_t index)   const { return (index<5) ? fResHistoTPCTOF[index]:0;}        //TPC-TOF    matching map
+
+  void        BookDistortionMaps();      // book histograms
+  void        FillResHistoTPCCE(const AliExternalTrackParam * pTPCIn, const AliExternalTrackParam * pTPCOut );       // fill residual histo
+  void        FillResHistoTPCITS(const AliExternalTrackParam * pTPCIn, const AliExternalTrackParam * pITSOut );       // fill residual histo
+  void        FillResHistoTPC(const AliESDtrack * pTrack);
+  void        FillResHistoTPCTRD(const AliExternalTrackParam * pTPCOut, const AliExternalTrackParam * pTRDIn );
+  void        FillResHistoTPCTOF(const AliExternalTrackParam * pTPCOut, const AliExternalTrackParam * pTOFIn );
+
 private:
   void ResetCurrent();                  // reset current values
 
@@ -73,14 +94,23 @@ private:
   AliTPCcalibTime(const AliTPCcalibTime&); 
   AliTPCcalibTime& operator=(const AliTPCcalibTime&); 
 
-  TH1F* fCosmiMatchingHisto[5];
-
+  TH1F* fCosmiMatchingHisto[10];
+  //
+  // distortion maps
+  //
+  THnSparse*  fResHistoTPCCE[5];        //TPC-TPCE matching map
+  THnSparse*  fResHistoTPCITS[5];        //TPC-ITS    matching map
+  THnSparse*  fResHistoTPCvertex[5];           //TPC-ITS    vertex matching map
+  THnSparse*  fResHistoTPCTRD[5];        //TPC-TRD    matching map
+  THnSparse*  fResHistoTPCTOF[5];        //TPC-TRD    matching map
   // laser histo
   THnSparse * fHistVdriftLaserA[3];    //Histograms for V drift from laser
   THnSparse * fHistVdriftLaserC[3];    //Histograms for V drift from laser
   // DELTA Z histo
-  TMap      * fMapDz;                  //Tmap of V drifts for different triggers
-
+  TObjArray* fArrayDz;                  // array of DZ histograms for different triggers
+  TObjArray* fAlignITSTPC;              // alignemnt array ITS TPC match
+  TObjArray* fAlignTRDTPC;              // alignemnt array TRD TPC match
+  TObjArray* fAlignTOFTPC;              // alignemnt array TOF TPC match
   Int_t    fTimeBins;                  //Bins time
   Double_t fTimeStart;                 //Start time
   Double_t fTimeEnd;                   //End time
@@ -96,7 +126,7 @@ private:
   Int_t    fBinsVdrift[4];             //Bins for vdrift
   Double_t fXminVdrift[4];             //Xmax for vdrift
   Double_t fXmaxVdrift[4];             //Xmin for vdrift
-  ClassDef(AliTPCcalibTime, 2); 
+  ClassDef(AliTPCcalibTime, 4); 
 };
 
 #endif