class TH2F;
class TH3F;
class TList;
+class TClonesArray;
class THnSparse;
class TRandom3;
class TArrayI;
class AliAODExtension;
class AliAODEvent;
class AliGenPythiaEventHeader;
+class AliMCEvent; //FK//
+class AliMCEventHandler; //FK//
+class AliGenEventHeader; //FK//
#include "AliAnalysisTaskSE.h"
#include "AliVEvent.h"
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 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);
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
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
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
TH1D *fhDphiTriggerJetAccept; //Deltaphi between trigger and jet after cut
TH1D *fhCentrality; //Deltaphi between trigger and jet
TH1D *fhCentralityAccept; //Deltaphi between trigger and jet after cut
+ TH1D *fhNofMultipleTriggers; // The number of additional triggers in events with at least one trigger
+ TH1D *fhDeltaRMultTriggers; // Angular distributions of mult. triggers.
+
//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 *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
TH1D *fhCellAreaToMedian; //how many entries were used to calculate
TH1D *fhCellAreaToMedianGen; //how many entries were used to calculate in MC
+ TH1D *fhNofMultipleTriggersGen; // The number of additional triggers in events with at least one trigger
+ TH1D *fhDeltaRMultTriggersGen; // Angular distributions of mult. triggers.
- 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
+ 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
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
+ 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