LCOV - code coverage report
Current view: top level - TPC/TPCcalib - AliTPCcalibTime.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 22 4.5 %
Date: 2016-06-14 17:26:59 Functions: 1 26 3.8 %

          Line data    Source code
       1             : #ifndef ALITPCCALIBTIME_H
       2             : #define ALITPCCALIBTIME_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             :  * See cxx source for full Copyright notice                               */
       6             : /*
       7             : Comments to be written here:
       8             : What do we calibrate.
       9             :   Time dependence of gain and drift velocity in order to account for changes in: temperature, pressure, gas composition.
      10             : */
      11             : 
      12             : 
      13             : #include "AliTPCcalibBase.h"
      14             : #include "THnSparse.h"
      15             : //#include "TH1D.h"                // Temporary make code compiling for HLT in the 
      16             : 
      17             : class TObjArray;
      18             : class TH1F;
      19             : class TH3F;
      20             : class TH2F;
      21             : class TH1D;
      22             : class TList;
      23             : class AliESDEvent;
      24             : class AliESDtrack;
      25             : class AliTPCcalibLaser;
      26             : class TGraphErrors;
      27             : class AliSplineFit;
      28             : class AliESDfriendTrack;
      29             : class AliESDfriend;
      30             : class AliExternalTrackParam;
      31             : 
      32             : class AliTPCcalibTime:public AliTPCcalibBase {
      33             : public:
      34             :   AliTPCcalibTime(); 
      35             :   AliTPCcalibTime(const Text_t *name, const Text_t *title, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeVdrift, Int_t memoryMode=2);
      36             :   virtual ~AliTPCcalibTime();
      37             :   
      38             :   virtual void           Process(AliESDEvent *event);
      39             :   virtual Long64_t       Merge(TCollection *const li);
      40             :   virtual void           Analyze();
      41             :   //static Bool_t          IsLaser      (const AliESDEvent *const event) const;
      42             :   //static Bool_t          IsCosmics    (const AliESDEvent *const event) const;
      43             :   //static Bool_t          IsBeam       (const AliESDEvent *const event) const;
      44             :   void                   ProcessLaser (AliESDEvent *event);
      45             :   void                   ProcessCosmic(const AliESDEvent *const event);
      46             :   void                   ProcessBeam  (const AliESDEvent *const event);
      47             :   Bool_t                 IsPair(const AliExternalTrackParam *tr0, const AliExternalTrackParam *tr1);
      48             :   Bool_t                 IsCross(const AliESDtrack *const tr0, const AliESDtrack *const tr1);
      49             :   Bool_t                 IsSame (const AliESDtrack *const tr0, const AliESDtrack *const tr1);
      50             :   void                   ProcessSame(const AliESDtrack *const track, AliESDfriendTrack *const friendTrack, const AliESDEvent *const event);
      51             :   void                   ProcessAlignITS(AliESDtrack *const track, const AliESDfriendTrack *const friendTrack, const AliESDEvent *const event, AliESDfriend *const ESDfriend);
      52             :   void                   ProcessAlignTRD(AliESDtrack* const track, const AliESDfriendTrack *const friendTrack);
      53             :   void                   ProcessAlignTOF(AliESDtrack* const track, const AliESDfriendTrack *const friendTrack);
      54             : 
      55           0 :   THnSparse*    GetHistVdriftLaserA(Int_t index=1) const {return fHistVdriftLaserA[index];};
      56           0 :   THnSparse*    GetHistVdriftLaserC(Int_t index=1) const {return fHistVdriftLaserC[index];};
      57             :   THnSparse*    GetHistoDrift(const char* name) const;
      58             :   TObjArray*    GetHistoDrift() const;
      59             :   TGraphErrors* GetGraphDrift(const char* name);
      60             :   TObjArray*    GetGraphDrift();
      61             :   AliSplineFit* GetFitDrift(const char* name);
      62             : //  TObjArray*    GetFitDrift();
      63           0 :   TH1F*         GetCosmiMatchingHisto(Int_t index=0) const {return fCosmiMatchingHisto[index];};
      64           0 :   void     Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);};
      65           0 :   void     Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);}
      66           0 :   TObjArray* GetAlignITSTPC() const {return fAlignITSTPC;}              // alignemnt array ITS TPC match
      67           0 :   TObjArray* GetAlignTRDTPC() const {return fAlignTRDTPC;}              // alignemnt array TRD TPC match
      68           0 :   TObjArray* GetAlignTOFTPC() const {return fAlignTOFTPC;}              // alignemnt array TOF TPC match
      69             : 
      70           0 :   THnSparse * GetTPCVertexHisto(Int_t index) const { return fTPCVertex[index%12];}
      71           0 :   THnSparse * GetTPCVertexHistoCorrelation(Int_t index) const { return fTPCVertexCorrelation[index%5];}
      72             : 
      73           0 :   THnSparse*  GetResHistoTPCCE(Int_t index) const { return (index<5) ? fResHistoTPCCE[index]:0;}        //TPC-CE    matching map
      74           0 :   THnSparse*  GetResHistoTPCITS(Int_t index) const { return (index<5) ? fResHistoTPCITS[index]:0;}        //TPC-ITS    matching map
      75           0 :   THnSparse*  GetResHistoTPCvertex(Int_t index)      const { return (index<5) ? fResHistoTPCvertex[index]   :0;}        //TPC vertex matching map
      76           0 :   THnSparse*  GetResHistoTPCTRD(Int_t index)   const { return (index<5) ? fResHistoTPCTRD[index]:0;}        //TPC-TRD    matching map
      77           0 :   THnSparse*  GetResHistoTPCTOF(Int_t index)   const { return (index<5) ? fResHistoTPCTOF[index]:0;}        //TPC-TOF    matching map
      78             : 
      79             :   void        BookDistortionMaps();      // book histograms
      80             :   void        FillResHistoTPCCE(const AliExternalTrackParam * pTPCIn, const AliExternalTrackParam * pTPCOut );       // fill residual histo
      81             :   void        FillResHistoTPCITS(const AliExternalTrackParam * pTPCIn, const AliExternalTrackParam * pITSOut );       // fill residual histo
      82             :   void        FillResHistoTPC(const AliESDtrack * pTrack);
      83             :   void        FillResHistoTPCTRD(const AliExternalTrackParam * pTPCOut, const AliExternalTrackParam * pTRDIn );
      84             :   void        FillResHistoTPCTOF(const AliExternalTrackParam * pTPCOut, const AliExternalTrackParam * pTOFIn );
      85             : 
      86           0 :   TObjArray * GetLaserArrayA() const { return fArrayLaserA;}
      87           0 :   TObjArray * GetLaserArrayC() const { return fArrayLaserC;}
      88             : 
      89           0 :   Int_t GetEntries() const {if (fResHistoTPCTOF[0]) return fResHistoTPCITS[0]->GetEntries(); else return 0;}
      90             : 
      91           0 :   void   SetCutTracks(Int_t maxTracks)  { fCutTracks = maxTracks; }  // set maximal number of tracks
      92           0 :   Int_t  GetCutTracks() const { return fCutTracks; }    // retun maximal number of tracks
      93             : 
      94             :   static Double_t fgResHistoMergeCut;
      95           0 :   static void SetResHistoMergeCut(Double_t d) {fgResHistoMergeCut=d;}
      96             : 
      97             : protected:
      98             :   void ResetCurrent();                  // reset current values
      99             :   Int_t              fMemoryMode;       // 0 -do not fill THnSparse with residuals  1- fill only important QA THn 2 - Fill all THnsparse for calibration
     100             :   AliTPCcalibLaser * fLaser;            //! laser calibration
     101             :   //
     102             :   // current information
     103             :   //
     104             :   Float_t fDz;          //! current delta z
     105             :   
     106             :   // cuts
     107             :   //
     108             :   Float_t fCutMaxD;     // maximal distance in rfi ditection
     109             :   Float_t fCutMaxDz;    // maximal distance in z ditection
     110             :   Float_t fCutTheta;    // maximal distance in theta ditection
     111             :   Float_t fCutMinDir;   // direction vector products
     112             :   Int_t   fCutTracks;   // maximal number of tracks
     113             :  
     114             : 
     115             :   TH1F* fCosmiMatchingHisto[10];        // cosmic matching histogram
     116             :   //
     117             :   // distortion maps
     118             :   //
     119             :   THnSparse*  fResHistoTPCCE[5];        //TPC-TPCE matching map
     120             :   THnSparse*  fResHistoTPCITS[5];        //TPC-ITS    matching map
     121             :   THnSparse*  fResHistoTPCvertex[5];           //TPC-ITS    vertex matching map
     122             :   THnSparse*  fResHistoTPCTRD[5];        //TPC-TRD    matching map
     123             :   THnSparse*  fResHistoTPCTOF[5];        //TPC-TRD    matching map
     124             :   // laser histo
     125             :   THnSparse * fHistVdriftLaserA[3];     //Histograms for V drift from laser
     126             :   THnSparse * fHistVdriftLaserC[3];     //Histograms for V drift from laser
     127             :   TObjArray *fArrayLaserA;              //Object array of driftvelocity laserA
     128             :   TObjArray *fArrayLaserC;              //Object array of driftvelocity laserC
     129             :   //
     130             :   // TPC vertex A side C side histo
     131             :   //
     132             :   THnSparse * fTPCVertex[12];           // TPC vertex histograms A side c side - A+C -ESD
     133             :   THnSparse * fTPCVertexCorrelation[5];       // TPC vertex correlation A side C side with TPC vertex and ITS vertex     
     134             :   // DELTA Z histo
     135             :   TObjArray* fArrayDz;                  // array of DZ histograms for different triggers
     136             :   TObjArray* fAlignITSTPC;              // alignemnt array ITS TPC match
     137             :   TObjArray* fAlignTRDTPC;              // alignemnt array TRD TPC match
     138             :   TObjArray* fAlignTOFTPC;              // alignemnt array TOF TPC match
     139             :   Int_t      fTimeKalmanBin;            // width of Kalman bin - time in seconds
     140             :   Int_t    fTimeBins;                   //Bins time
     141             :   Double_t fTimeStart;                  //Start time
     142             :   Double_t fTimeEnd;                    //End time
     143             :   Int_t    fPtBins;                     //Bins pt
     144             :   Double_t fPtStart;                    //Start pt
     145             :   Double_t fPtEnd;                      //End pt
     146             :   Int_t    fVdriftBins;                 //Bins vdrift
     147             :   Double_t fVdriftStart;                //Start vdrift
     148             :   Double_t fVdriftEnd;                  //End vdrift
     149             :   Int_t    fRunBins;                    //Bins run
     150             :   Double_t fRunStart;                   //Start run
     151             :   Double_t fRunEnd;                     //End run
     152             :   Int_t    fBinsVdrift[4];              //Bins for vdrift
     153             :   Double_t fXminVdrift[4];              //Xmax for vdrift
     154             :   Double_t fXmaxVdrift[4];              //Xmin for vdrift
     155             : 
     156             : private:
     157             :   AliTPCcalibTime(const AliTPCcalibTime&); 
     158             :   AliTPCcalibTime& operator=(const AliTPCcalibTime&); 
     159             : 
     160           6 :   ClassDef(AliTPCcalibTime, 10); 
     161             : };
     162             : 
     163             : #endif
     164             : 
     165             : 

Generated by: LCOV version 1.11