]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/AliAnalysisTaskJetCorePP.h
updated my Jet Hadron Correlations task, updated event mixing, included multiple...
[u/mrichter/AliRoot.git] / PWGJE / AliAnalysisTaskJetCorePP.h
index 763c0ac8c54deaa9f09c932224d99018b363cd83..6987fff6f57aa72deacf7903b3563cb3cb7a93ef 100644 (file)
@@ -45,16 +45,18 @@ public:
    virtual Bool_t Notify();
  
    virtual void  SetBranchName(const TString &name){ fJetBranchName = name; } 
-   virtual void  SetBranchNameMC(const TString &name){ 
-      fJetBranchNameMC = name;
-      if(fJetBranchNameMC.Contains("MC2")){  
-         fJetBranchNameMCFull = fJetBranchNameMC;
-         fJetBranchNameMCFull.ReplaceAll("MC2","MC");
-      }
-   } 
+   virtual void  SetBranchNameChargMC(const TString &name){ fJetBranchNameChargMC = 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  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; } 
    virtual void  SetVtxZMin(Float_t z) { fVtxZMin = z; }
@@ -72,17 +74,20 @@ public:
    virtual void  SetEventNumberRangeHigh(Int_t rh){ fEventNumberRangeHigh=rh;}  
    virtual void  SetTriggerPtRangeLow(Float_t tl){ fTriggerPtRangeLow=tl;}   
    virtual void  SetTriggerPtRangeHigh(Float_t th){ fTriggerPtRangeHigh=th;}  
-
+   virtual void  SetFillResponseMatrix(Bool_t brm){ fFillRespMx = brm;}
 
    Double_t RelativePhi(Double_t angle1, Double_t angle2); 
 
 private:
    //private member functions
-   Int_t   GetListOfTracks(TList *list); //returns index of trig and track list 
-   //Double_t GetBackgroundInPerpCone(Float_t jetR, Double_t jetPhi, Double_t jetEta, TList* trkList); //sums pT in the cone perp in phi to jet
+   Int_t   GetListOfTracks(TList *list); //returns index of trig and track list
+
    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, 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
    AliESDEvent *fESD;    //! ESD object
    AliAODEvent *fAODIn;  //! AOD event for AOD input tracks
@@ -91,17 +96,25 @@ private:
 
    // jets to compare
    TString fJetBranchName; //  name of jet branch 
-   TString fJetBranchNameMC; //  name of jet branch 
-   TString fJetBranchNameMCFull; //  name of jet branch 
+   TString fJetBranchNameChargMC; //  name of jet branch 
+   TString fJetBranchNameFullMC; //  name of jet branch 
+   TString fJetBranchNameBg; //  name of bg (kt) jet branch 
+   TString fJetBranchNameBgChargMC; //  name of bg (kT) jet branch 
    TList  *fListJets;      //! jet list reconstructed level
-   TList  *fListJetsGen;   //! jet list generator level  charged jet
+   TList  *fListJetsGen;   //! jet list generator level 
    TList  *fListJetsGenFull; //! jet list generator level full jets 
+   TList  *fListJetsBg;      //! jet list reconstructed level to be removed from bg
+   TList  *fListJetsBgGen;   //! jet list generator level to be removed from bg  
+
 
    TString fNonStdFile;    // name of delta aod file to catch the extension
 
    // event selection
    Int_t   fSystem;        // collision system  pp=0, pPb=1  
    Float_t fJetParamR;     // jet cone resolution (radius) R 
+   Float_t fBgJetParamR;   // jet cone resolution (radius) R of jet to be removed from bg
+   Float_t fBgMaxJetPt;    // max pt of jets accepted in bg 
+   Float_t fBgConeR;       //perp cone R used to assess bg
    AliVEvent::EOfflineTriggerTypes fOfflineTrgMask; // mask of offline trigs 
    Int_t   fMinContribVtx; // min numb of trk contrib for prim vertex 
    Float_t fVtxZMin;      // lower bound on vertex z 
@@ -120,10 +133,15 @@ private:
    TH1I  *fHistEvtSelection;    //! event selection statistic 
    TH2F      *fh2Ntriggers;     //trigger pT versus centrality 
    THnSparse *fHJetSpec;      //Recoil jet spectrum  
+   THnSparse *fHJetSpecSubUeMedian; //Recoil jet spectrum, jet pT corrected by kT median  
+   THnSparse *fHJetSpecSubUeCone;  //Recoil jet spectrum, jet pT corrected by perp cone rho 
    
    //Diagnostics
-   THnSparse *fHJetDensity;       //density of jet with A>0.07  //fk
-   THnSparse *fHJetDensityA4;     //density of jets with A>0.4 //fk
+   THnSparse *fHJetUeMedian;   //UE background from kT median
+   THnSparse *fHJetUeCone;      //UE background from perp cone 
+   THnSparse *fHRhoUeMedianVsCone;    //EBE UE from perp cone
+   //THnSparse *fHJetDensity;       //density of jet with A>0.07  //fk
+   //THnSparse *fHJetDensityA4;     //density of jets with A>0.4 //fk
    TH2D *fhJetPhi;     //Azimuthal distribution of jets
    TH2D *fhTriggerPhi; //Azimuthal distribution of trigger hadron
    TH2D *fhJetEta;     //Pseudorapidity distribution of jets
@@ -137,22 +155,38 @@ private:
    TH1D *fhCentrality;  //Deltaphi between trigger and jet 
    TH1D *fhCentralityAccept;  //Deltaphi between trigger and jet after cut
 
-   THnSparse *fHJetPtRaw;      //bg unsubtr. vs bg subtr. pT spectrum of jets vs jet area
-   THnSparse *fHLeadingJetPtRaw; //bg unsubtr. vs bg. subtr. leading jet pT vs area 
-   THnSparse *fHDphiVsJetPtAll;   //Dphitrigger-jet  versus jet pt for all jets given pTtrigg  
+   //THnSparse *fHJetPtRaw;      //bg unsubtr. vs bg subtr. pT spectrum of jets vs jet area
+   //THnSparse *fHLeadingJetPtRaw; //bg unsubtr. vs bg. subtr. leading jet pT vs area 
+   //THnSparse *fHDphiVsJetPtAll;   //Dphitrigger-jet  versus jet pt for all jets given pTtrigg  
 
    //MC generator level
    TH2D      *fhJetPtGenVsJetPtRec; //jet respose matrix  
-   TH1D      *fhJetPtGen;           //generated pT spectrum of charged jets
+   TH2D      *fhJetPtGenVsJetPtRecSubUeMedian; //jet respose matrix both pT with subtracted kT median bg 
+   TH2D      *fhJetPtGenVsJetPtRecSubUeCone; //jet respose matrix both pT with subtracted weighted kT median bg 
+   TH1D      *fhJetPtGen;           //generated pT spectrum of jets  
+   TH1D      *fhJetPtSubUeMedianGen; //generated pT spectrum of jets with subtracted kT median  
+   TH1D      *fhJetPtSubUeConeGen;    //generated pT spectrum of jets with perp cone
    TH2D      *fhJetPtGenChargVsJetPtGenFull; //generated pT spectrum of full jets
    TH1D      *fhJetPtGenFull; // generated pT spectrum of full jets
    TH2F      *fh2NtriggersGen; //trigger pT versus centrality in generator level
-   THnSparse *fHJetSpecGen;    //Recoil jet spectrum in generator level 
+   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 *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    
-   
-   Bool_t fIsMC;   //flag analysis on MC data with true and on the real data false
+   THnSparse *fHRhoUeMedianVsConeGen; //EBE UE from Median vs Perp Cone  generator level 
+  
+   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 data false
+   Bool_t fIsFullMC;   //flag analysis on MC data with true and on the real 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  
@@ -173,9 +207,20 @@ private:
    Float_t fTriggerPtRangeLow;   // lower range of selected trigger pt
    Float_t fTriggerPtRangeHigh;  // upper range of selected trigger pt
 
-   TRandom3* fRandom;           // TRandom3 
+   Bool_t  fFillRespMx;    //fill response matrix files
 
-   ClassDef(AliAnalysisTaskJetCorePP, 7);  //has to end with number larger than 0
+
+   TRandom3* fRandom;           // TRandom3 
+   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 
+   const Double_t fPhiSize; //cell size in phi
+   const Double_t fCellArea; //cell area
+   Double_t fSafetyMargin; //enlarge a bit the jet size to avoid contamination of UE
+
+   ClassDef(AliAnalysisTaskJetCorePP, 11);  //has to end with number larger than 0
 };
 
 #endif