]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/UserTasks/AliAnalysisTaskIDFragmentationFunction.h
Merge branch 'master' into TRDdev
[u/mrichter/AliRoot.git] / PWGJE / UserTasks / AliAnalysisTaskIDFragmentationFunction.h
index d2c56e709df4675f5926e1410dd63fecc6ef30e2..26bbb8eaabe7cb94623f04ad9501095fad6c06a5 100644 (file)
@@ -226,7 +226,7 @@ class AliAnalysisTaskIDFragmentationFunction : public AliAnalysisTaskSE {
 
   static  void   SetProperties(TH1* h,const char* x, const char* y);
   static  void   SetProperties(TH1* h,const char* x, const char* y,const char* z);
-  static  void   SetProperties(THnSparse* h,const Int_t dim, const char** labels);
+  static  void   SetProperties(THnSparse* h,Int_t dim, const char** labels);
 
   void   SetHighPtThreshold(Float_t pt = 5.) { fQATrackHighPtThreshold = pt; }
 
@@ -260,8 +260,9 @@ class AliAnalysisTaskIDFragmentationFunction : public AliAnalysisTaskSE {
   Float_t  GetFFMaxTrackPt() const { return fFFMaxTrackPt; }
   Float_t  GetFFMinNTracks() const { return fFFMinnTracks; }
   Float_t  GetFFBckgRadius() const { return fFFBckgRadius; }
-  void    GetJetTracksTrackrefs(TList* l, const AliAODJet* j, const Double_t minPtL, const Double_t maxPt, Bool_t& isBadPt);
-  void    GetJetTracksPointing(TList* in, TList* out, const AliAODJet* j, const Double_t r, Double_t& sumPt, const Double_t minPtL, const Double_t maxPt, Bool_t& isBadPt);  
+  void    GetJetTracksTrackrefs(TList* l, const AliAODJet* j, Double_t minPtL, Double_t maxPt, Bool_t& isBadPt);
+  void    GetJetTracksPointing(TList* in, TList* out, const AliAODJet* j, Double_t r, Double_t& sumPt, Double_t minPtL, Double_t maxPt,
+                                Bool_t& isBadPt);  
   void     GetTracksOutOfNJets(Int_t nCases, TList* in, TList* out, const TList* jets, Double_t& pt);
   void     GetTracksOutOfNJetsStat(Int_t nCases, TList* in, TList* out, const TList* jets, Double_t& pt, Double_t &normFactor);
   void     GetTracksTiltedwrpJetAxis(Float_t alpha, TList* inputlist, TList* outputlist, const AliAODJet* jet, Double_t radius, Double_t& sumPt);
@@ -270,23 +271,23 @@ class AliAnalysisTaskIDFragmentationFunction : public AliAnalysisTaskSE {
   void     AssociateGenRec(TList* tracksAODMCCharged,TList* tracksRec, TArrayI& indexAODTr,TArrayI& indexMCTr,TArrayS& isRefGen,TH2F* fh2PtRecVsGen);
 
   void     FillSingleTrackHistosRecGen(AliFragFuncQATrackHistos* trackQAGen, AliFragFuncQATrackHistos* trackQARec, TList* tracksGen, 
-                                      const TArrayI& indexAODTr, const TArrayS& isRefGen, const Bool_t scaleStrangeness = kFALSE);
+                                      const TArrayI& indexAODTr, const TArrayS& isRefGen, Bool_t scaleStrangeness = kFALSE);
 
 
   void     FillJetTrackHistosRec(AliFragFuncHistos* histRec,  AliAODJet* jet, 
                                 TList* jetTrackList, const TList* tracksGen, const TList* tracksRec, const TArrayI& indexAODTr,
-                                const TArrayS& isRefGen, TList* jetTrackListTR = 0, const Bool_t scaleStrangeness = kFALSE,
+                                const TArrayS& isRefGen, TList* jetTrackListTR = 0, Bool_t scaleStrangeness = kFALSE,
                                 Bool_t fillJS = kFALSE, TProfile* hProNtracksLeadingJet = 0, TProfile** hProDelRPtSum = 0, TProfile* hProDelR80pcPt = 0);
 
 
-  Float_t  CalcJetArea(const Float_t etaJet, const Float_t rc) const;
+  Float_t  CalcJetArea(Float_t etaJet, Float_t rc) const;
   void     GetClusterTracksOutOf1Jet(AliAODJet* jet, TList* outputlist, Double_t &normFactor);
   void     GetClusterTracksMedian(TList* outputlist, Double_t &normFactor);
 
   void     FillBckgHistos(Int_t type, TList* inputtracklist, TList* inputjetlist, AliAODJet* jet, 
                          AliFragFuncHistos* ffbckghistocuts,AliFragFuncQATrackHistos* qabckghistos,TH1F* fh1Mult = 0); 
  
-  Double_t GetMCStrangenessFactor(const Double_t pt) const;
+  Double_t GetMCStrangenessFactor(Double_t pt) const;
   Double_t GetMCStrangenessFactorCMS(AliAODMCParticle* daughter) const;
   
   Bool_t IsSecondaryWithStrangeMotherMC(AliAODMCParticle* part);
@@ -294,15 +295,18 @@ class AliAnalysisTaskIDFragmentationFunction : public AliAnalysisTaskSE {
   void FillJetShape(AliAODJet* jet, TList* list,  TProfile* hProNtracksLeadingJet, TProfile** hProDelRPtSum, TProfile* hProDelR80pcPt=0, Double_t dPhiUE=0, Double_t normUE = 0, Bool_t scaleStrangeness = kFALSE);
 
   const TString* GetNamesOfInclusivePIDtasks() const { return fNameInclusivePIDtask; };
-  void SetNamesOfInclusivePIDtasks(const Int_t numNames, TString* names);
+  void SetNamesOfInclusivePIDtasks(Int_t numNames, const TString* names);
   
   const TString* GetNamesOfJetPIDtasks() const { return fNameJetPIDtask; };
-  void SetNamesOfJetPIDtasks(const Int_t numNames, TString* names);
+  void SetNamesOfJetPIDtasks(Int_t numNames, const TString* names);
        
        
        Bool_t GetIsPP() const { return fIsPP; };
        void SetIsPP(Bool_t flag) { fIsPP = flag; };
   
+  Bool_t GetOnlyLeadingJets() const { return fOnlyLeadingJets; }
+  void SetOnlyLeadingJets(Bool_t onlyLeadingJets) { fOnlyLeadingJets = onlyLeadingJets; }
+  
   // Consts
   enum {kTrackUndef=0, kTrackAOD, kTrackAODQualityCuts, kTrackAODCuts, 
        kTrackAODExtra, kTrackAODExtraonly, kTrackAODExtraCuts, kTrackAODExtraonlyCuts, 
@@ -319,9 +323,9 @@ class AliAnalysisTaskIDFragmentationFunction : public AliAnalysisTaskSE {
   Int_t          GetListOfJets(TList* list, Int_t type);
   Int_t   GetListOfBckgJets(TList *list, Int_t type);
 
-  AliESDEvent* fESD;      // ESD event
-  AliAODEvent* fAOD;      // AOD event
-  AliAODEvent* fAODJets;  // AOD event with jet branch (case we have AOD both in input and output)
+  AliESDEvent* fESD;      //! ESD event
+  AliAODEvent* fAOD;      //! AOD event
+  AliAODEvent* fAODJets;  //! AOD event with jet branch (case we have AOD both in input and output)
   AliAODExtension  *fAODExtension; //! where we take the jets from can be input or output AOD
   TString       fNonStdFile; // name of delta aod file to catch the extension
  
@@ -566,17 +570,19 @@ class AliAnalysisTaskIDFragmentationFunction : public AliAnalysisTaskSE {
   TProfile* fProDelRPtSumRecSecSsc[5];      //! jet shape 
   
 
-  TRandom3*                   fRandom;          // TRandom3 for background estimation 
+  TRandom3* fRandom;                        //! TRandom3 for background estimation 
+  
+  Bool_t fOnlyLeadingJets;                  // Flag indicating whether some histos are filled with leading jets only or all jets
   
   // PID framework
   Int_t fNumInclusivePIDtasks;              // Number of inclusive PID tasks used 
   Int_t fNumJetPIDtasks;                    // Number of jet PID tasks used
   
-  TString* fNameInclusivePIDtask;           // Names of the tasks for inclusive PID spectra
-  TString* fNameJetPIDtask;                 // Names of the tasks for jet PID spectra
+  TString* fNameInclusivePIDtask;           //[fNumInclusivePIDtasks] Names of the tasks for inclusive PID spectra
+  TString* fNameJetPIDtask;                 //[fNumJetPIDtasks] Names of the tasks for jet PID spectra
   
-  AliAnalysisTaskPID** fInclusivePIDtask;   // Pointer to tasks for inclusive PID spectra
-  AliAnalysisTaskPID** fJetPIDtask;         // Pointer to tasks for jet PID spectra
+  AliAnalysisTaskPID** fInclusivePIDtask;   //! Pointer to tasks for inclusive PID spectra
+  AliAnalysisTaskPID** fJetPIDtask;         //! Pointer to tasks for jet PID spectra
   
   Bool_t fUseInclusivePIDtask;              // Process inclusive PID spectra?
   Bool_t fUseJetPIDtask;                    // Process jet PID spectra?
@@ -586,17 +592,14 @@ class AliAnalysisTaskIDFragmentationFunction : public AliAnalysisTaskSE {
   AliFragFuncHistos* fIDFFHistosRecCuts[AliPID::kSPECIES];    //! Identified FF reconstructed tracks after cuts 
   AliFragFuncHistos* fIDFFHistosGen[AliPID::kSPECIES];    //! Identified FF generated tracks after cuts 
 
-  ClassDef(AliAnalysisTaskIDFragmentationFunction, 17);
+  ClassDef(AliAnalysisTaskIDFragmentationFunction, 18);
 };
 
 
-inline void AliAnalysisTaskIDFragmentationFunction::SetNamesOfInclusivePIDtasks(const Int_t numNames, TString* names)
+inline void AliAnalysisTaskIDFragmentationFunction::SetNamesOfInclusivePIDtasks(Int_t numNames, const TString* names)
 {
   delete [] fNameInclusivePIDtask;
   fNameInclusivePIDtask = 0x0;
-    
-  delete [] fInclusivePIDtask;
-  fInclusivePIDtask = 0x0;
   
   if (!names || numNames < 0) {
     fNumInclusivePIDtasks = 0;
@@ -607,22 +610,17 @@ inline void AliAnalysisTaskIDFragmentationFunction::SetNamesOfInclusivePIDtasks(
   
   if (numNames > 0) {
     fNameInclusivePIDtask = new TString[numNames];
-    fInclusivePIDtask = new AliAnalysisTaskPID*[numNames];
     
     for (Int_t i = 0; i < numNames; i++) {
       fNameInclusivePIDtask[i] = names[i];
-      fInclusivePIDtask[i] = 0x0;
     }
   }  
 }
 
-inline void AliAnalysisTaskIDFragmentationFunction::SetNamesOfJetPIDtasks(const Int_t numNames, TString* names)
+inline void AliAnalysisTaskIDFragmentationFunction::SetNamesOfJetPIDtasks(Int_t numNames, const TString* names)
 {
   delete [] fNameJetPIDtask;
   fNameJetPIDtask = 0x0;
-    
-  delete [] fJetPIDtask;
-  fJetPIDtask = 0x0;
   
   if (!names || numNames < 0) {
     fNumJetPIDtasks = 0;
@@ -633,11 +631,9 @@ inline void AliAnalysisTaskIDFragmentationFunction::SetNamesOfJetPIDtasks(const
   
   if (numNames > 0) {
     fNameJetPIDtask = new TString[numNames];
-    fJetPIDtask = new AliAnalysisTaskPID*[numNames];
     
     for (Int_t i = 0; i < numNames; i++) {
       fNameJetPIDtask[i] = names[i];
-      fJetPIDtask[i] = 0x0;
     }
   }  
 }