]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCcalibTime.h
Added the inner field cage segmentation
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibTime.h
index 41a34d5f1b4cb092eedf6cba7404b079d768e4cc..40fa909489fc644d72c4f0a95099f120f511c0af 100644 (file)
@@ -18,60 +18,100 @@ 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(); 
-  AliTPCcalibTime(const Text_t *name, const Text_t *title, ULong64_t TriggerMask, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeDeDx, Int_t deltaIntegrationTimeVdrift);
+  AliTPCcalibTime(const Text_t *name, const Text_t *title, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeVdrift);
   virtual ~AliTPCcalibTime();
   
   virtual void           Process(AliESDEvent *event);
   virtual Long64_t       Merge(TCollection *li);
   virtual void           Analyze();
-  //
+  static Bool_t          IsLaser      (AliESDEvent *event);
+  static Bool_t          IsCosmics    (AliESDEvent *event);
+  static Bool_t          IsBeam       (AliESDEvent *event);
+  void                   ProcessLaser (AliESDEvent *event);
   void                   ProcessCosmic(AliESDEvent *event);
+  void                   ProcessBeam  (AliESDEvent *event);
   Bool_t                 IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1);
-  //
-  THnSparse *                 GetHistVdrift(){return (THnSparse*) fHistVdrift;};
-  THnSparse *                 GetHistDeDxVsTgl(){return (THnSparse*) fHistDeDxTgl;};
-  THnSparse *                 GetHistDeDx(){return (THnSparse*) fHistDeDx;};
+  Bool_t                 IsCross(AliESDtrack *tr0, AliESDtrack *tr1);
+  Bool_t                 IsSame (AliESDtrack *tr0, AliESDtrack *tr1);
+  void                   ProcessSame(AliESDtrack* track, AliESDfriendTrack *friendTrack,AliESDEvent *event);
+  void                   ProcessAlignITS(AliESDtrack* track, AliESDfriendTrack *friendTrack, AliESDEvent *event,AliESDfriend *ESDfriend);
+  void                   ProcessAlignTRD(AliESDtrack* track, AliESDfriendTrack *friendTrack);
+  void                   ProcessAlignTOF(AliESDtrack* track, AliESDfriendTrack *friendTrack);
 
+  THnSparse*    GetHistVdriftLaserA(Int_t index=1){return fHistVdriftLaserA[index];};
+  THnSparse*    GetHistVdriftLaserC(Int_t index=1){return fHistVdriftLaserC[index];};
+  THnSparse*    GetHistoDrift(const char* name);
+  TObjArray*    GetHistoDrift();
+  TGraphErrors* GetGraphDrift(const char* name);
+  TObjArray*    GetGraphDrift();
+  AliSplineFit* GetFitDrift(const char* name);
+//  TObjArray*    GetFitDrift();
+  TH1F*         GetCosmiMatchingHisto(Int_t index=0){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() {return fAlignITSTPC;}              // alignemnt array ITS TPC match
+  TObjArray* GetAlignTRDTPC() {return fAlignTRDTPC;}              // alignemnt array TRD TPC match
+  TObjArray* GetAlignTOFTPC() {return fAlignTOFTPC;}              // alignemnt array TOF TPC match
+
 
 private:
   void ResetCurrent();                  // reset current values
-  ULong64_t fTriggerMask;               // select certain trigger within one run
-
-  THnSparse * fHistDeDxTgl;             // dEdx vs. dip angle vs time histogram
-  THnSparse * fHistDeDx;                // dEdx vs. time histogram (cosmics: all particles on Fermi plateau)
-  THnSparse * fHistVdrift;              // drift velocity vs time histogram
-
-  Float_t fIntegrationTimeDeDx;         // required statistics for each dEdx time bin
-  Float_t fIntegrationTimeVdrift;       // required statistics for each Vdrift time bin
 
   AliTPCcalibLaser * fLaser;            //! laser calibration
   //
   // current information
   //
   Float_t fDz;          //! current delta z
-  Float_t fdEdx;        //! current dEdx
-  Float_t fdEdxRatio;   //! current dEdx ratio
-  Float_t fTl;          //! current tan(lambda)
   
   // cuts
   //
   Float_t fCutMaxD;     // maximal distance in rfi ditection
-  Float_t fCutMaxDz;     // maximal distance in z ditection
+  Float_t fCutMaxDz;    // maximal distance in z ditection
   Float_t fCutTheta;    // maximal distance in theta ditection
   Float_t fCutMinDir;   // direction vector products
+  Int_t   fCutTracks;   // maximal number of tracks
  
   AliTPCcalibTime(const AliTPCcalibTime&); 
   AliTPCcalibTime& operator=(const AliTPCcalibTime&); 
 
-  ClassDef(AliTPCcalibTime, 1); 
+  TH1F* fCosmiMatchingHisto[10];
+
+  // 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
+  Int_t    fPtBins;                    //Bins pt
+  Double_t fPtStart;                   //Start pt
+  Double_t fPtEnd;                     //End pt
+  Int_t    fVdriftBins;                        //Bins vdrift
+  Double_t fVdriftStart;               //Start vdrift
+  Double_t fVdriftEnd;                 //End vdrift
+  Int_t    fRunBins;                   //Bins run
+  Double_t fRunStart;                  //Start run
+  Double_t fRunEnd;                    //End run
+  Int_t    fBinsVdrift[4];             //Bins for vdrift
+  Double_t fXminVdrift[4];             //Xmax for vdrift
+  Double_t fXmaxVdrift[4];             //Xmin for vdrift
+  ClassDef(AliTPCcalibTime, 2); 
 };
 
 #endif