LCOV - code coverage report
Current view: top level - TPC/TPCcalib - AliTPCcalibAlignInterpolation.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 9 11.1 %
Date: 2016-06-14 17:26:59 Functions: 1 13 7.7 %

          Line data    Source code
       1             : #ifndef AliTPCCALIBALIGNINTERPOLATION_H
       2             : #define AliTPCCALIBALIGNINTERPOLATION_H
       3             : 
       4             : 
       5             : #include <AliTPCcalibBase.h>
       6             : 
       7             : class TTreeSRedirector;
       8             : class THn; 
       9             : class AliExternalTrackParam;
      10             : class AliESDfriendTrack;
      11             : class AliTrackPointArray;
      12             : class TCut;
      13             : 
      14             : class AliTPCcalibAlignInterpolation : public AliTPCcalibBase {
      15             : public :
      16             :   enum {kAlignmentBugFixedBit = BIT(23)};
      17             :   enum EStreamFlags{ // flags to store addition data/code debugging infomation - needed in case something go wrong
      18             :     kStreamITSRefit          =0x00001,    // flag: stream ITS refit
      19             :     kStreamTRDRefit          =0x00002,    // flag: stream TRD refit
      20             :     kStreamTOFRefit          =0x00004,    // flag: stream TOF refit
      21             :     kStremInterpolation      =0x00008     // flag: stream (heavy) interpolation information at each pad-row
      22             :   };
      23             : 
      24             :   // from the results of running over full chunk (364396 tracks) the fastets is selected
      25             :   enum {kQ2PT,kSect,kLocX,kZ2X,kDelt,kNDim}; // order of DOFs    CP time 13.590
      26             :   
      27             :   //  enum {kQ2PT,kSect,kLocX,kDelt,kZ2X,kNDim}; // order of DOFs    CP time 17.290
      28             :   //  enum {kQ2PT,kSect,kZ2X,kLocX,kDelt,kNDim}; // order of DOFs    CP time 13.950
      29             :   //  enum {kQ2PT,kZ2X,kSect,kLocX,kDelt,kNDim}; // order of DOFs    CP time 20.520
      30             :   //  enum {kZ2X,kQ2PT,kSect,kLocX,kDelt,kNDim}; // order of DOFs    CP time 14.200
      31             : 
      32             :   //  enum {kSect,kLocX,kQ2PT,kZ2X,kDelt,kNDim}; // order of DOFs    CP time 13.670
      33             :   //  enum {kSect,kLocX,kZ2X,kQ2PT,kDelt,kNDim}; // order of DOFs    CP time 13.860
      34             :   //  enum {kSect,kLocX,kDelt,kQ2PT,kZ2X,kNDim}; // order of DOFs    CP time 16.840
      35             :   //  enum {kSect,kLocX,kDelt,kQ2PT,kZ2X,kNDim}; // order of DOFs    CP time 16.840
      36             : 
      37             : public :
      38             :   using AliTPCcalibBase::Process;
      39             :   AliTPCcalibAlignInterpolation();
      40             :   AliTPCcalibAlignInterpolation(const Text_t *name, const Text_t *title, Bool_t onTheFlyFill);
      41             :   virtual ~AliTPCcalibAlignInterpolation();
      42             :   void ProcessStandalone(const char * inputList);
      43             :   virtual void     Process(AliESDEvent *event);
      44             :   virtual void     Terminate();
      45           0 :   void   SetStreamLevelTrack(Int_t streamLevelTrack){fStreamLevelTrack=streamLevelTrack;}
      46             :   Bool_t RefitITStrack(AliESDfriendTrack *friendTrack, Double_t mass, AliExternalTrackParam &trackITS, Double_t &chi2, Double_t &npoints, Int_t* sortInd=0);
      47             :   Bool_t RefitTOFtrack(AliESDfriendTrack *friendTrack, Double_t mass, AliExternalTrackParam &trackTOF, Double_t &chi2, Double_t &npoints, Int_t* sortInd=0);
      48             :   Bool_t RefitTRDtrack(AliESDfriendTrack *friendTrack, Double_t mass, AliExternalTrackParam &trackTRD, Double_t &chi2, Double_t &npoints, Int_t* sortInd=0);
      49             :   Bool_t PropagateInTPCTo(AliExternalTrackParam* t, Double_t xk,Double_t rho,Double_t x0,Double_t mass=0.14);
      50             :   void   CreateResidualHistosInterpolation(Double_t dy=5, Double_t dz=5, Int_t selHis=-1);  
      51             :   void   CreateDistortionMapsFromFile(const char * inputFile, const char *outputFile);
      52           0 :   void   SetSyswatchStep(Int_t step){fSyswatchStep=(step==0)?1:step;} // step with which sys. usage is sampled
      53             :   //
      54             :   static void MakeEventStatInfo(const char * inputList="cat residual.list", Int_t timeInterval=300, Int_t id=0, Int_t skip=1);
      55             :   static void   FillHistogramsFromChain(const char * residualList, Double_t dy, Double_t dz, Int_t startTime=-1, Int_t stopTime=-1,  Int_t maxStat=1000000, Int_t selHist=-1,const char * residualInfoFile="residualInfo.root",Bool_t fixAlignmentBug=kTRUE);
      56             :   static void    FillHistogramsFromStreamers(const char * residualList, Double_t dy, Double_t dz, Int_t downscale);
      57             :   static Bool_t FitDrift(double deltaT=120., double sigmaT=600.,  double time0=0., double time1=0.,Bool_t fixAlignmentBug=kTRUE, Bool_t tofBCValidation=kTRUE);
      58             :   static void MakeNDFit(const char * inputFile, const char * inputTree, Float_t sector0,  Float_t sector1,  Float_t theta0, Float_t theta1);
      59             :   static void MakeVDriftOCDB(const char *inputFile, Int_t run, TString  targetOCDBstorage="", const char * testDiffCDB=0);
      60             :   static Float_t  CalculateDistance(const TVectorF &track0, const TVectorF &track1, const TVectorF &vecSec, TVectorF &vecDelta, Int_t npValid, Float_t &rmsTrack,  Float_t &rmsCluster, Float_t lpNorm=1.5); 
      61           0 :   THn * GetHisITSDRPhi() const {return fHisITSDRPhi;}
      62           0 :   THn * GetHisITSTRDDRPhi() const {return fHisITSTRDDRPhi;}
      63           0 :   THn * GetHisITSTOFDRPhi() const {return fHisITSTOFDRPhi;}
      64           0 :   THn * GetHisITSDZ() const {return fHisITSDZ;}
      65           0 :   THn * GetHisITSTRDDZ() const {return fHisITSTRDDZ;}
      66           0 :   THn * GetHisITSTOFDZ() const {return fHisITSTOFDZ;}
      67             :   // Drawing map methods
      68             :   static TTree* AddFriendDistortionTree(TTree * tree, const char * fname, const char *treeName,  const char *friendAlias);
      69             :   static TTree* LoadDistortionTrees(const char * maplist="map.list", Int_t cacheSize=100000000, Int_t markerStyle=25, Float_t markerSize=0.4 );
      70             :   static Bool_t LoadNDLocalFit(TTree * tree, const char *chTree);
      71             :   static void DrawMapEstimatorComparison(TTree * tree, const char* chtree,  Float_t radius, Float_t kZ,  TCut & selection, const char *figType=0);
      72             :   static Bool_t DrawScalingComparison(TTree * tree, const char* chRef, const char *chBin0, const char *chBin1,  Float_t R0, Float_t R1, Float_t kZ, const char *figType);
      73             :   static Float_t InitForAlignmentBugFix(int run, const char* ocdb="raw://");
      74             : protected:  
      75             :   static void FixAlignmentBug(int sect, float q2pt, float bz, float& alp, float& x, float &z, float &deltaY, float &deltaZ);
      76             :   static double GetTgPhi(double x, double y2x, double q2p, double b);
      77             :   //
      78             :   static Bool_t SortPointArray(AliTrackPointArray *pointarray, Int_t * sortedIndex);
      79             :   void   ExtractTPCGasData();
      80             :   Bool_t fOnTheFlyFill;    // flag  - histogram filled on the fly?
      81             :   THn * fHisITSDRPhi;      // TPC-ITS residual histograms
      82             :   THn * fHisITSTRDDRPhi;   // TPC-ITS+TRD residual histograms
      83             :   THn * fHisITSTOFDRPhi;   // TPC-ITS_TOF residual histograms
      84             :   THn * fHisITSDZ;         // TPC-ITS residual histograms
      85             :   THn * fHisITSTRDDZ;      // TPC-ITS+TRD residual histograms
      86             :   THn * fHisITSTOFDZ;      // TPC-ITS_TOF residual histograms
      87             :   //
      88             :   Double_t fRhoTPC;        //! TPC gas density
      89             :   Double_t fX0TPC;         //! TPC gas X0;
      90             :   //
      91             : private:
      92             :   TTreeSRedirector * fStreamer;  // calibration streamer 
      93             :   Int_t fStreamLevelTrack;            // stream level - In mode 0 only basic information needed for calibration  stored (see EStreamFlags )
      94             :   Int_t fSyswatchStep;           // dump system resource information after  fSyswatchStep tracks
      95             :   Int_t fTrackCounter;           // processed track counter
      96             :   AliTPCcalibAlignInterpolation(const AliTPCcalibAlignInterpolation&); // Not implemented
      97             :   AliTPCcalibAlignInterpolation& operator=(const AliTPCcalibAlignInterpolation&); // Not implemented   
      98           6 :   ClassDef(AliTPCcalibAlignInterpolation,2);
      99             : };
     100             : 
     101             : 
     102             : #endif

Generated by: LCOV version 1.11