]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/AliAnalysisTaskJetCorePP.h
dont create any files in place to avoid problems with eos
[u/mrichter/AliRoot.git] / PWGJE / AliAnalysisTaskJetCorePP.h
index 72241fa426658428cc310b5349d9a0a238d16380..b1bd2fae550c8c2596699d1b169d55e2ba980e4d 100644 (file)
@@ -16,6 +16,7 @@ class TH1I;
 class TH2F;
 class TH3F;
 class TList;
+class TClonesArray;
 class THnSparse;
 class TRandom3;
 class TArrayI; 
@@ -26,6 +27,9 @@ class AliESDEvent;
 class AliAODExtension;
 class AliAODEvent;
 class AliGenPythiaEventHeader;
+class AliMCEvent;    //FK//
+class AliMCEventHandler; //FK//
+class AliGenEventHeader; //FK//
 
 #include "AliAnalysisTaskSE.h"
 #include "AliVEvent.h"
@@ -46,14 +50,18 @@ public:
  
    virtual void  SetBranchName(const TString &name){ fJetBranchName = name; } 
    virtual void  SetBranchNameChargMC(const TString &name){ fJetBranchNameChargMC = name; } 
+   virtual void  SetBranchNameKine(const TString &name){ fJetBranchNameKine = name; } 
    virtual void  SetBranchNameFullMC(const TString &name){ fJetBranchNameFullMC = name; } 
    virtual void  SetBranchNameBg(const TString &name){ fJetBranchNameBg = name; } 
    virtual void  SetBranchNameBgChargMC(const TString &name){ fJetBranchNameBgChargMC = name; } 
+   virtual void  SetBranchNameBgKine(const TString &name){ fJetBranchNameBgKine = name; } 
    virtual void  SetNonStdFile(char* c){fNonStdFile = c;} 
    virtual void  SetSystem(Int_t sys) { fSystem = sys; } 
    virtual void  SetJetR(Float_t jR) { fJetParamR = jR; }
    virtual void  SetBgJetR(Float_t bgjR) { fBgJetParamR = bgjR; }
    virtual void  SetBgMaxJetPt(Float_t mpt){ fBgMaxJetPt = mpt;}
+   virtual void  SetRndTrials(Int_t nt){ fnTrials = nt;}
+   virtual void  SetFreeAreaFrac(Float_t frac){ fJetFreeAreaFrac = frac;}
    virtual void  SetBgConeR(Float_t cr){ fBgConeR = cr; } 
    virtual void  SetOfflineTrgMask(AliVEvent::EOfflineTriggerTypes mask) { fOfflineTrgMask = mask; } 
    virtual void  SetMinContribVtx(Int_t n) { fMinContribVtx = n; } 
@@ -73,6 +81,8 @@ public:
    virtual void  SetTriggerPtRangeLow(Float_t tl){ fTriggerPtRangeLow=tl;}   
    virtual void  SetTriggerPtRangeHigh(Float_t th){ fTriggerPtRangeHigh=th;}  
    virtual void  SetFillResponseMatrix(Bool_t brm){ fFillRespMx = brm;}
+   virtual void  SetBinning(Bool_t bbb) { fDoubleBinning = bbb; } 
+   virtual void  SetUseExchangeContainerInput(Bool_t b){ fUseExchContainer = b;} 
 
    Double_t RelativePhi(Double_t angle1, Double_t angle2); 
 
@@ -83,7 +93,7 @@ private:
    Bool_t SelectMCGenTracks(AliVParticle *trk, TList *trkList, Double_t &ptLeading, Int_t &index, Int_t counter);
    void FillEffHistos(TList *recList, TList *genList);
    
-   void EstimateBgRhoMedian(TList *listJet, TList* listPart, Double_t &rhoMedian);//median method to estimate bg
+   void EstimateBgRhoMedian(TList *listJet, TList* listPart, Double_t &rhoMedian, Int_t mode);//median method to estimate bg
    void EstimateBgCone(TList *listJet, TList* listPart, Double_t &rhoPerpCone);//perp cone method to estimate bg
    void ReadTClonesArray(TString bname, TList *list); //init jets lists
    //private member objects
@@ -91,13 +101,18 @@ private:
    AliAODEvent *fAODIn;  //! AOD event for AOD input tracks
    AliAODEvent *fAODOut; //! AOD event 
    AliAODExtension  *fAODExtension; //! where we take the jets from can be input or output AOD
+   AliMCEvent           *fMcEvent;    //! MC event                       
+   AliInputEventHandler *fMcHandler;  //! MCEventHandler                 
+
 
    // jets to compare
    TString fJetBranchName; //  name of jet branch 
-   TString fJetBranchNameChargMC; //  name of jet branch 
+   TString fJetBranchNameChargMC;   //  name of jet branch output AOD
+   TString fJetBranchNameKine; //  name of jet branch kine
    TString fJetBranchNameFullMC; //  name of jet branch 
    TString fJetBranchNameBg; //  name of bg (kt) jet branch 
    TString fJetBranchNameBgChargMC; //  name of bg (kT) jet branch 
+   TString fJetBranchNameBgKine; //  name of bg (kT) jet branch 
    TList  *fListJets;      //! jet list reconstructed level
    TList  *fListJetsGen;   //! jet list generator level 
    TList  *fListJetsGenFull; //! jet list generator level full jets 
@@ -125,7 +140,7 @@ private:
    Float_t fTriggerEtaCut; // lower bound on eta for trigger track
    Float_t fTrackEtaCut;   // upper bound on eta for trigger track 
    Float_t fTrackLowPtCut; // upper bound on eta for trigger track
-   
+   Bool_t  fUseExchContainer; //use exhange container
    
    TList *fOutputList;          //! output data container 
    TH1I  *fHistEvtSelection;    //! event selection statistic 
@@ -134,6 +149,10 @@ private:
    THnSparse *fHJetSpecSubUeMedian; //Recoil jet spectrum, jet pT corrected by kT median  
    THnSparse *fHJetSpecSubUeCone;  //Recoil jet spectrum, jet pT corrected by perp cone rho 
    
+   THnSparse *fHJetPhiCorr; // Dphi distribution jet-triger
+   THnSparse *fHJetPhiCorrSubUeMedian; // Dphi distribution jet-triger
+   THnSparse *fHJetPhiCorrSubUeCone; // Dphi distribution jet-triger
+
    //Diagnostics
    THnSparse *fHJetUeMedian;   //UE background from kT median
    THnSparse *fHJetUeCone;      //UE background from perp cone 
@@ -170,15 +189,25 @@ private:
    THnSparse *fHJetSpecGen;    //Recoil jet spectrum at generator level 
    THnSparse *fHJetSpecSubUeMedianGen;  //Recoil jet spectrum at gen level, jet pT corrected by kT median 
    THnSparse *fHJetSpecSubUeConeGen; //Recoil jet spectrum at gen level, jet pT corrected with rho from cone
+   THnSparse *fHJetPhiCorrGen; // Dphi distribution jet-triger
+   THnSparse *fHJetPhiCorrSubUeMedianGen; // Dphi distribution jet-triger
+   THnSparse *fHJetPhiCorrSubUeConeGen; // Dphi distribution jet-triger
    THnSparse *fHJetUeMedianGen;   //UE background from kT median
    THnSparse *fHJetUeConeGen;      //UE background from Perp Cone 
    TH2D      *fhPtTrkTruePrimRec; // pt spectrum of true reconstructed primary tracks    
    TH2D      *fhPtTrkTruePrimGen; // pt spectrum of true generated primary track    
    TH2D      *fhPtTrkSecOrFakeRec; // pt spectrum of reconstructed fake or secondary tracks    
    THnSparse *fHRhoUeMedianVsConeGen; //EBE UE from Median vs Perp Cone  generator level 
-   
-   Bool_t fIsChargedMC;   //flag analysis on MC data with true and on the real data false
-   Bool_t fIsFullMC;   //flag analysis on MC data with true and on the real data false
+  
+   TH1D  *fhEntriesToMedian; //how many entries were used to calculate
+   TH1D  *fhEntriesToMedianGen; //how many entries were used to calculate in MC
+   TH1D  *fhCellAreaToMedian; //how many entries were used to calculate
+   TH1D  *fhCellAreaToMedianGen; //how many entries were used to calculate in MC
+
+   Bool_t fIsChargedMC;   //flag analysis on MC data with true and on the real+kine data false
+   Bool_t fIsKine;       //flag analysis on kine data with true and on the real+MC data false
+   Bool_t fIsFullMC;   //flag analysis on MC data with true and on the real+kine data false
    TArrayI faGenIndex;   // labels of particles on MC generator level  
    TArrayI faRecIndex;   // labels of particles on reconstructed track level
    const Double_t fkAcceptance; //eta times phi  Alice coverage  
@@ -203,7 +232,8 @@ private:
 
 
    TRandom3* fRandom;           // TRandom3 
-   const Int_t fnTrials;  //number of random trials to measure cell area
+   Int_t fnTrials;  //number of random trials to measure cell area
+   Float_t fJetFreeAreaFrac; //fraction of area in cell free of jets  
    const Int_t  fnPhi; //number of cells in phi
    const Int_t  fnEta; //number of cells in eta
    const Double_t fEtaSize; //cell size in eta 
@@ -211,7 +241,9 @@ private:
    const Double_t fCellArea; //cell area
    Double_t fSafetyMargin; //enlarge a bit the jet size to avoid contamination of UE
 
-   ClassDef(AliAnalysisTaskJetCorePP, 9);  //has to end with number larger than 0
+   Bool_t fDoubleBinning; //0=use 2 GeV/c bins  ; 1= use 1 GeV/c bins
+   ClassDef(AliAnalysisTaskJetCorePP, 12);  //has to end with number larger than 0
 };
 
 #endif