]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/JetTasks/AliPWG4HighPtQAMC.h
memory leak fixed
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliPWG4HighPtQAMC.h
index ad7a5b798ae39c67e07d93f11497c51617871839..f882ced5ea7adc2f9858da9761c98260034f94bc 100644 (file)
@@ -31,6 +31,8 @@ class TList;
 class AliESDEvent;
 class AliESDtrackCuts;
 class AliMCEvent;
+class AliStack;
+class AliESDVertex;
 class AliGenPythiaEventHeader;
 //class AliAnalysisHelperJetTasks;
 
@@ -47,12 +49,16 @@ class AliPWG4HighPtQAMC: public AliAnalysisTask {
   virtual void   Terminate(Option_t *);
   virtual Bool_t Notify(); //Copied from AliAnalysisTaskJetSpectrum2
 
+  Bool_t SelectEvent();    //decides if event is used for analysis
+
   void SetCuts(AliESDtrackCuts* trackCuts) {fTrackCuts = trackCuts;}
-  void SetCutsITS(AliESDtrackCuts* trackCutsITS) {fTrackCutsITS = trackCutsITS;}
+  void SetCutsReject(AliESDtrackCuts* trackCuts) {fTrackCutsReject = trackCuts;}
 
   void SetTrackType(Int_t trackType) {fTrackType = trackType;}
+  void SetSigmaConstrainedMax(Double_t sigma) {fSigmaConstrainedMax=sigma;}
   void SetPtMax(Float_t ptmax) {fPtMax = ptmax;}
   Float_t GetPtMax()           {return fPtMax;}
+  void SetPtBinEdges(Int_t region, Double_t ptmax, Double_t ptBinWidth);
 
   static AliGenPythiaEventHeader*  GetPythiaEventHeader(AliMCEvent *mcEvent);
   static Bool_t PythiaInfoFromFile(const char* currFile,Float_t &fXsec,Float_t &fTrials);// get the cross section and the trails either from pyxsec.root or from pysec_hists.root
@@ -65,13 +71,18 @@ class AliPWG4HighPtQAMC: public AliAnalysisTask {
 
   AliESDEvent *fESD;              //! ESD object
   AliMCEvent  *fMC;               //! MC event object
+  AliStack    *fStack;            //! stack object
+
+  const AliESDVertex   *fVtx;     //! vertex object
+
   AliESDtrackCuts *fTrackCuts;    // TrackCuts for global reconstructed vs MC comparison
-  AliESDtrackCuts *fTrackCutsITS; // TrackCuts including ITSrefit
+  AliESDtrackCuts *fTrackCutsReject;     // trackCuts to reject tracks (hybrid case)
 
-  Int_t   fTrackType;             // 0: global track; 1:TPConly track
+  Int_t   fTrackType;             // 0: global track; 1:TPConly track 2: TPConly constrained track 3: global ITSrefit
 
+  Double_t fSigmaConstrainedMax;  // max sigma on constrained fit
   Float_t fPtMax;                 // Maximum pT for histograms
+  Float_t fPtBinEdges[3][2];      // 3 regions total with different binning for pT axis of histos
 
   Float_t fAvgTrials;             // Average number of trials
   
@@ -84,11 +95,23 @@ class AliPWG4HighPtQAMC: public AliAnalysisTask {
   TH1F*         fh1PtHard;                     //! pt hard of the event
   TH1F*         fh1PtHardTrials;               //! pt hard of the event
 
-
   TH1F *fPtAll;                                //! Pt spectrum all charged particles
   TH1F *fPtSel;                                //! Pt spectrum all selected charged particles by fTrackCuts
+  TH1F *fPtSelFakes;                           //! Pt distributions for tracks with negative label (=fake tracks)
+  TH1F *fNPointTPCFakes;                       //! NTPCCluster of fake tracks
+  TH1F *fPtSelLargeLabel;                      //! Filled if label is larger than nMCtracks
+  TH1F *fMultRec;                              //! Bookkeeping of multiple times reconstructed tracks
+  TH1F *fNPointTPCMultRec;                     //! NTPCClusters of multiple reconstructed tracks
+  TH2F *fDeltaPtMultRec;                       //! Delta pT versus pT of first track for multiple reconstructed tracks
+
+  TH2F *fPtAllvsPtMC;                          //! Reconstructed momentum vs generated momentum
   TH2F *fPtAllminPtMCvsPtAll;                  //! Momentum resolution (global vs MC)
+  TH3F *fPtAllvsPtMCvsMult;                    //! Reconstructed momentum vs generated momentum vs multiplicity
+  TH3F *fPtAllminPtMCvsPtAllvsMult;            //! Momentum resolution (global vs MC) vs multiplicity
   TH3F *fPtAllminPtMCvsPtAllNPointTPC;         //! Momentum resolution vs NPointTPC
+  TH3F *fPtAllminPtMCvsPtAllNPointTPCIter1;    //! Momentum resolution vs NPointTPC Iter1
+  TH3F *fPtAllminPtMCvsPtAllChi2TPC;           //! Momentum resolution vs Chi2TPC
+  TH3F *fPtAllminPtMCvsPtAllChi2TPCIter1;      //! Momentum resolution vs Chi2TPC Iter1
   TH3F *fPtAllminPtMCvsPtAllDCAR;              //! Momentum resolution vs DCAR
   TH3F *fPtAllminPtMCvsPtAllDCAZ;              //! Momentum resolution vs DCAZ
   TH3F *fPtAllminPtMCvsPtAllPhi;               //! Momentum resolution vs Phi
@@ -99,24 +122,9 @@ class AliPWG4HighPtQAMC: public AliAnalysisTask {
 
   TH1F *fPtAllMC;     //! Pt spectrum all charged particles
   TH1F *fPtSelMC;     //! Pt spectrum all selected charged particles by fTrackCuts
-  TH1F *fPtSelMCITS;  //! Pt spectrum all selected charged particles by fTrackCutsITS
 
   TList *fHistList; //! List of Histograms
   
-  TH1F *fPtSelITS;                              //! Pt spectrum all selected charged particles by fTrackCutsITS
-  TH2F *fPtITSminPtMCvsPtITS;                  //! Momentum resolution (global with ITSrefit vs MC)
-  TH3F *fPtITSminPtMCvsPtITSNPointTPC;         //! Momentum resolution vs NPointTPC 
-  TH3F *fPtITSminPtMCvsPtITSDCAR;              //! Momentum resolution vs DCAR
-  TH3F *fPtITSminPtMCvsPtITSDCAZ;              //! Momentum resolution vs DCAZ
-  TH3F *fPtITSminPtMCvsPtITSPhi;               //! Momentum resolution vs Phi
-  TH3F *fPtITSminPtMCvsPtITSNPointITS;         //! Momentum resolution vs NPointITS
-  TH3F *fPtITSminPtMCvsPtITSNSigmaToVertex;    //! Momentum resolution vs NSigmaToVertex
-  TH3F *fPtITSminPtMCvsPtITSChi2C;             //! Momentum resolution vs Chi2Constrained
-  TH3F *fPtITSminPtMCvsPtITSRel1PtUncertainty; //! Momentum resolution vs relUncertainty1Pt
-
-  TList *fHistListITS; //! List of Histograms
-
   ClassDef(AliPWG4HighPtQAMC,1) 
   
 };