]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDCalibTask.h
updated macros (with new cut values) for (anti-)proton-(anti-)lambda and lambda-...
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibTask.h
index 5c56ed2b8c6755f1db1d0d2d6d567fc67189f4de..608446de96792c62c892fcd7f77abe44ea50842a 100644 (file)
@@ -14,6 +14,7 @@ class TObjArray;
 class TH2F;
 class TH1F;
 class TH1I;
+class TH2S;
 class TProfile2D;
 class TH2I;
 class TTree;
@@ -22,10 +23,12 @@ class AliESDfriend;
 class AliESDtrack;
 class AliESDfriendTrack;
 class AliTRDtrackV1;
+class AliTRDseedV1;
 class AliTRDCalibraFillHisto;
 class AliTRDcluster;
 class AliESDtrackCuts;
 class AliTRDCalDet;
+class AliTRDCalibChamberStatus;
 
 #include "TObjString.h"
 #include "AliAnalysisTaskSE.h" 
@@ -42,19 +45,30 @@ class AliTRDCalibTask : public AliAnalysisTaskSE {
   virtual void   Terminate(Option_t *);
   virtual Bool_t Load(const Char_t *filename);
   virtual Bool_t Load(TList *lister);
-  void           Plot();
   virtual Long64_t  Merge(TCollection *li);
   void           AddTask(const AliTRDCalibTask * calibTask);
+  Bool_t         FindP1TrackPHtrackletV1Test(const AliTRDseedV1 *tracklet, Int_t nbclusters);
   TList          *GetList() const {return fListHist;};
 
+  void SetOnInstance(Bool_t onInstance)                             {fOnInstance=onInstance;};
   void SetHisto2d(Bool_t histo2d)                                   {fHisto2d=histo2d;};
   void SetVector2d(Bool_t vector2d)                                 {fVector2d=vector2d;};
   void SetVdriftLinear(Bool_t vdriftLinear)                         {fVdriftLinear = vdriftLinear;};
+  void SetExbAlt(Bool_t exbalt)                                     {fExbAlt = exbalt;};
   void SetNbTimeBins(Int_t nbTimeBins)                              {fNbTimeBins=nbTimeBins;};  
+  void SetNumberBinCharge(Short_t nbBinCharge)                      {fNumberBinCharge=nbBinCharge;};  
+  void SetRangeCharge(Float_t rangeCharge)                          {fRangeCharge=rangeCharge;};
+  void SetVdBindx(Short_t vdBindx)                                  {fVdBindx=vdBindx;};  
+  void SetVdBindy(Short_t vdBindy)                                  {fVdBindy=vdBindy;};    
+  void SetVdRangedx(Double_t vdRangex)                               {fVdRangex=vdRangex;};  
+  void SetVdRangedy(Double_t vdRangey)                               {fVdRangey=vdRangey;};    
+  void SetDebugLevelTRDCalibraFillHisto(Short_t debugLevelTRDCalibraFillHisto) {fDebugLevelTRDCalibraFillHisto = debugLevelTRDCalibraFillHisto;};
+
   
   void SetNz(Short_t nz, Int_t i)                                      {fNz[i]=nz;};
   void SetNrphi(Short_t nrphi, Int_t i)                                {fNrphi[i]=nrphi;};
   
+  void SetSelectTrigger(Bool_t selectTrigger)                          {fSelectTrigger = selectTrigger;};
   void AddSelectedTriggerClass(const char*name)                        {fSelectedTrigger->Add(new TObjString(name));};
   void SetReject(Bool_t rejected)                                      {fRejected = rejected;};
   
@@ -64,9 +78,14 @@ class AliTRDCalibTask : public AliAnalysisTaskSE {
   void SetUseSPDVertex()                                               {fVtxTPC=kFALSE; fVtxSPD=kTRUE ;} 
   void SetMinNbOfContributors(Int_t minNbOfContributors)               {fMinNbContributors = minNbOfContributors;};  
   void SetRangePrimaryVertexZ(Double_t rangePrimaryVertexZ)            {fRangePrimaryVertexZ = TMath::Abs(rangePrimaryVertexZ);}; 
+  void SetRejectPileUpWithSPD(Bool_t rejectPileUpWithSPD)              {fRejectPileUpWithSPD = rejectPileUpWithSPD;};
   void SetMinNbTracks(Int_t minNbTracks)                               {fMinNbTracks = minNbTracks;};
   void SetMaxNbTracks(Int_t maxNbTracks)                               {fMaxNbTracks = maxNbTracks;};
+  void SetCutWithVdriftCalib(Bool_t cutWithVdriftCalib)                {fCutWithVdriftCalib = cutWithVdriftCalib;};
+  void SetMinNbTRDtracklets(Int_t minNbTRDtracklets)                   {fMinNbTRDtracklets = minNbTRDtracklets;};
+  void SetMinTRDMometum(Double_t minTRDMomentum)                       {fMinTRDMomentum = minTRDMomentum;};
+  void SetScaleGainWithTPCSignal(Bool_t scaleGainWithTPCSignal)        {fScaleGainWithTPCSignal = scaleGainWithTPCSignal;}; 
+
   void SetVersionGainUsed(Int_t versionGainUsed)                       { fVersionGainUsed = versionGainUsed;   }
   void SetSubVersionGainUsed(Int_t subVersionGainUsed)                 { fSubVersionGainUsed = subVersionGainUsed;   }
   void SetVersionGainLocalUsed(Int_t versionGainLocalUsed)             { fVersionGainLocalUsed = versionGainLocalUsed;   }
@@ -88,12 +107,14 @@ class AliTRDCalibTask : public AliAnalysisTaskSE {
   void SetMaxEvent(Int_t nbevents)                                     { fMaxEvent = nbevents; };
   void SetDebug(Int_t debug)                                           { fDebug = debug; };
 
+  Bool_t IsPHQon() const {return fPHQon;}
+  void SetPHQon(const Bool_t kphq){ fPHQon = kphq; }
+
  private:
   Bool_t SetVersionSubversion();
   Bool_t ParticleGood(int i) const;
 
   AliESDEvent  *fESD;                            //! ESD object
-  AliESDfriend *fESDfriend;                      //! ESD friend
   const AliESDtrack *fkEsdTrack;                  //! ESD track
   AliESDfriendTrack *fFriendTrack;               //! ESD friend track
   TObject *fCalibObject;                         //! calibration objects attached to the ESD friend
@@ -103,6 +124,7 @@ class AliTRDCalibTask : public AliAnalysisTaskSE {
   TList       *fListHist;                        //! list of histograms
 
   AliTRDCalibraFillHisto *fTRDCalibraFillHisto;  //! calibration analyse object
+  AliTRDCalibChamberStatus *fTRDChamberStatus;   //! calibration chamber status
 
   TH1I        *fNEvents;                         //! counter  
   TH1I        *fNEventsInput;                    //! counter  
@@ -128,16 +150,29 @@ class AliTRDCalibTask : public AliAnalysisTaskSE {
   TProfile2D  *fPH2dSum;                         //! PH2d PH all
   TH2I        *fCH2dSM;                          //! CH2d per SM
   TProfile2D  *fPH2dSM;                          //! PH2d per SM
+  TH2I        *fCH2dTest;                        //! CH2d for test
+  TProfile2D  *fPH2dTest;                        //! PH2d for test
+  TH2S *fLinearVdriftTest;                       //! VdriftLinear for test
 
+  Bool_t      fOnInstance;                       // On Instance
   Bool_t      fHisto2d;                          // histo
   Bool_t      fVector2d;                         // vector
   Bool_t      fVdriftLinear;                     // vdrift Linear
+  Bool_t      fExbAlt;                           // alternative exb calculation
 
+  Short_t     fDebugLevelTRDCalibraFillHisto;    // Debug Level Fill Histo
   Int_t       fNbTimeBins;                       // number of timebins 
+  Short_t     fNumberBinCharge;                  // Number of bins for the gain factor
+  Float_t     fRangeCharge;                      // Range Charge
+  Short_t     fVdBindx;                          // Nb of bin in vd histos x
+  Short_t     fVdBindy;                          // Nb of bin in vd histos y
+  Double_t    fVdRangex;                         // Range vd histos x
+  Double_t    fVdRangey;                         // Range vd histos y
 
   Short_t     fNz[3];                            // Nz mode 
   Short_t     fNrphi[3];                         // Nrphi mode
    
+  Bool_t      fSelectTrigger;                    // Select trigger
   TObjArray   *fSelectedTrigger;                 // Trigger class names accepted/rejected
   Bool_t      fRejected;                         // Reject the selected trigger class
   
@@ -147,9 +182,14 @@ class AliTRDCalibTask : public AliAnalysisTaskSE {
   Bool_t      fVtxSPD;                           // Flag for use of SPD vertex
   Int_t       fMinNbContributors;                // Min number of contributors
   Double_t    fRangePrimaryVertexZ;              // Were the primary vertex is
+  Bool_t      fRejectPileUpWithSPD;              // Reject pile-up events with SPD
   Int_t       fMinNbTracks;                      // Min Nb Tracks
   Int_t       fMaxNbTracks;                      // Max Nb Tracks
-  
+  Bool_t      fCutWithVdriftCalib;               // CutWithVdriftCalib for the gain and PH
+  Int_t       fMinNbTRDtracklets;                // Min number of TRD tracklets
+  Float_t     fMinTRDMomentum;                   // Min TRD momentum  
+  Bool_t      fScaleGainWithTPCSignal;           // Scale the TPC gain with the TPC signal
+
   Int_t       fLow;                              // lower limit of nb of TRD clusters per tracklet
   Int_t       fHigh;                             // higher limit of nb of TRD clusters per tracklet
   Bool_t      fFillZero;                         // fill zero
@@ -169,17 +209,21 @@ class AliTRDCalibTask : public AliAnalysisTaskSE {
   Int_t       fFirstRunVdrift;                   // FirstRunVdriftUsed 
   Int_t       fVersionVdriftUsed;                // VersionVdriftUsed 
   Int_t       fSubVersionVdriftUsed;             // SubVersionVdriftUsed
+  Int_t       fFirstRunExB;                      // FirstRunExBUsed 
+  Int_t       fVersionExBUsed;                   // VersionExBUsed 
+  Int_t       fSubVersionExBUsed;                // SubVersionExBUsed
 
   AliTRDCalDet *fCalDetGain;                     // Calib object gain
 
   Int_t       fMaxEvent;                         // max events
   Int_t       fCounter;                          // max events
-  Int_t       fDebug;                            // fDebug
+
+  Bool_t fPHQon;                                  //switch of phq
 
   AliTRDCalibTask(const AliTRDCalibTask&); 
   AliTRDCalibTask& operator=(const AliTRDCalibTask&); 
 
-  ClassDef(AliTRDCalibTask, 1); 
+  ClassDef(AliTRDCalibTask, 5); 
 };
 
 #endif