]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/AliComparisonDEdx.h
QA for the on-the-fly V0
[u/mrichter/AliRoot.git] / PWG1 / AliComparisonDEdx.h
index 1b40d8b97c827f4e5767ff0667964b5ff7dc0199..91c9495b5d213a542940c84b5bc55df35bcf070c 100644 (file)
@@ -8,46 +8,41 @@
 // Author: J.Otwinowski 04/02/2008 
 //------------------------------------------------------------------------------
 
-class TFile;
+class TCanvas;
+class TH1F;
+class TH2F;
+class TNamed;
+class TString;
+
 class AliMCInfo;
 class AliESDRecInfo;
 class AliESDEvent; 
-class AliESD;
-class AliESDfriend;
 class AliRecInfoCuts;
 class AliMCInfoCuts;
-class TH1I;
-class TH3F;
-class TH3;
-class TProfile;
-class TProfile2D;
-class TGraph2D;
-class TGraph; 
-class TString;
 
-#include "TNamed.h"
+#include "THnSparse.h"
 #include "AliComparisonObject.h"
 
-//class AliComparisonDEdx : public TNamed {
 class AliComparisonDEdx : public AliComparisonObject {
 public :
   AliComparisonDEdx(); 
+  AliComparisonDEdx(Char_t* name, Char_t* title, Int_t analysisMode, Bool_t hptGenerator);
   ~AliComparisonDEdx();
 
   // Init data members
   virtual void Init();
 
   // Execute analysis
-  virtual void Exec(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
+  virtual void Exec(AliMCInfo* const infoMC, AliESDRecInfo *const infoRC);
 
   // Merge output objects (needed by PROOF) 
-  virtual Long64_t Merge(TCollection* list);
+  virtual Long64_t Merge(TCollection* const list);
 
   // Analyse output histograms
   virtual void Analyse();
 
   // Get analysis folder
-  virtual TFolder* GetAnalysisFolder() {return fAnalysisFolder;}
+  virtual TFolder* GetAnalysisFolder() const {return fAnalysisFolder;}
 
   // Create folder for analysed histograms
   TFolder *CreateFolder(TString folder = "folderDEdx",TString title = "Analysed DEdx histograms");
@@ -56,54 +51,33 @@ public :
   TFolder *ExportToFolder(TObjArray * array=0);
 
   // Process events
-  void      Process(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
+  void  ProcessTPC(AliMCInfo* const infoMC, AliESDRecInfo *const infoRC);
+  void  ProcessTPCITS(AliMCInfo* const infoMC, AliESDRecInfo *const infoRC); // not implemented
+  void  ProcessConstrained(AliMCInfo* const infoMC, AliESDRecInfo *const infoRC); // not implemented
 
   // Selection cuts
-  void SetAliRecInfoCuts(AliRecInfoCuts* cuts=0) {fCutsRC = cuts;}
-  void SetAliMCInfoCuts(AliMCInfoCuts* cuts=0)   {fCutsMC = cuts;} 
-
-  void SetMCPtMin(const Float_t cuts=0) {fMCPtMin = cuts;} 
-  void SetMCAbsTanThetaMax(const Float_t cuts=1e99) {fMCAbsTanThetaMax = cuts;} 
-  void SetMCPdgCode(const Int_t cuts=0) {fMCPdgCode = cuts;} 
+  void SetAliRecInfoCuts(AliRecInfoCuts* const cuts=0) {fCutsRC = cuts;}
+  void SetAliMCInfoCuts(AliMCInfoCuts* const cuts=0)   {fCutsMC = cuts;} 
 
   AliRecInfoCuts*  GetAliRecInfoCuts() const {return fCutsRC;}      
   AliMCInfoCuts*   GetAliMCInfoCuts()  const {return fCutsMC;}     
-  Float_t GetMCPtMin() const {return fMCPtMin;}
-  Float_t GetMCAbsTanThetaMax() const {return fMCAbsTanThetaMax;}
-  Int_t GetMCPdgCode() const {return fMCPdgCode;} 
 
   static TH1F*     MakeResol(TH2F * his, Int_t integ, Bool_t type); 
 
   //
   // TPC dE/dx 
-  TH2F* GetTPCSignalNormTan() {return fTPCSignalNormTan;}
-  TH2F* GetTPCSignalNormSPhi() {return fTPCSignalNormSPhi;}
-  TH2F* GetTPCSignalNormTPhi() {return fTPCSignalNormTPhi;}
   //
-  TH3F* GetTPCSignalNormTanSPhi() {return fTPCSignalNormTanSPhi;}
-  TH3F* GetTPCSignalNormTanTPhi() {return fTPCSignalNormTanTPhi;}
-  TH3F* GetTPCSignalNormTanSPt() {return fTPCSignalNormTanSPt;}
-  
+  THnSparse* GetDeDxHisto() const {return fDeDxHisto;}
 
 private:
 
   // TPC dE/dx 
-  TH2F* fTPCSignalNormTan;    //-> TPC signal normalized to the calculated MC signal 
-  TH2F* fTPCSignalNormSPhi;   //-> TPC signal normalized to the calculated MC signal
-  TH2F* fTPCSignalNormTPhi;   //-> TPC signal normalized to the calculated MC signal
-  //
-  TH3F* fTPCSignalNormTanSPhi;   //-> TPC signal normalized to the calculated MC signal
-  TH3F* fTPCSignalNormTanTPhi;   //-> TPC signal normalized to the calculated MC signal
-  TH3F* fTPCSignalNormTanSPt;    //-> TPC signal normalized to the calculated MC signal
+  THnSparseF *fDeDxHisto; //-> signal:alpha:y:z:snp:tgl:ncls:pid:p
   
   // Selection cuts
   AliRecInfoCuts*  fCutsRC; // selection cuts for reconstructed tracks
   AliMCInfoCuts*   fCutsMC; // selection cuts for MC tracks
 
-  Float_t fMCPtMin;               // min. MC pt cut
-  Float_t fMCAbsTanThetaMax;      // max. MC abs[tan(theta)] cut
-  Int_t fMCPdgCode;               // selected particle with Pdg code
-
   // analysis folder 
   TFolder *fAnalysisFolder; // folder for analysed histograms