// **************************************
// This task performs hadron-trigger recoil jet correlations
// Output pT spectrum of jet given trigger pT
-// Author: filip krizek 1st March 2013
+// Author: filip krizek 16th March 2013
// *******************************************
class TH1F;
class TH3F;
class TList;
class THnSparse;
+class TRandom3;
class TArrayI;
class TProfile;
class TFile;
virtual Bool_t Notify();
virtual void SetBranchName(const TString &name){ fJetBranchName = name; }
- virtual void SetBranchNameMC(const TString &name){ fJetBranchNameMC = name; }
+ 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 SetTriggerEtaCut(Float_t eta) { fTriggerEtaCut = eta; }
virtual void SetTrackEtaCut(Float_t eta) { fTrackEtaCut = eta; }
virtual void SetTrackLowPtCut(Float_t pt) { fTrackLowPtCut=pt; }
+ virtual void SetTriggerType(Int_t tt){ fHardest=tt;}
+ virtual void SetEventNumberRangeLow(Int_t rl){ fEventNumberRangeLow=rl;}
+ virtual void SetEventNumberRangeHigh(Int_t rh){ fEventNumberRangeHigh=rh;}
+ virtual void SetTriggerPtRangeLow(Float_t tl){ fTriggerPtRangeLow=tl;}
+ virtual void SetTriggerPtRangeHigh(Float_t th){ fTriggerPtRangeHigh=th;}
+
Double_t RelativePhi(Double_t angle1, Double_t angle2);
//Double_t GetBackgroundInPerpCone(Float_t jetR, Double_t jetPhi, Double_t jetEta, TList* trkList); //sums pT in the cone perp in phi to jet
Bool_t SelectMCGenTracks(AliVParticle *trk, TList *trkList, Double_t &ptLeading, Int_t &index, Int_t counter);
void FillEffHistos(TList *recList, TList *genList);
-
+ void EstimateBgRhoAlaCMS(TList *listJetBg, TList *listJet, Double_t &rhoMedian, Double_t& rhoImprovedCMS);//CMS 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
// jets to compare
TString fJetBranchName; // name of jet branch
- TString fJetBranchNameMC; // 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
+ TList *fListJetsGen; //! jet list generator level
+ TList *fListJetsGenFull; //! jet list generator level full jets
+ TList *fListJetsBg; //! bg jet list reconstructed level
+ TList *fListJetsBgGen; //! bg jet list generator level
+
TString fNonStdFile; // name of delta aod file to catch the extension
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 *fHJetSpecSubUeCMS; //Recoil jet spectrum, jet pT corrected by weighted kT median ala CMS
//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 *fHJetUeCMS; //UE background from weighted kT median ala CMS
+ THnSparse *fHRhoUeMedianVsCMS; //EBE UE from Median vs CMS
+ //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
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
+ TH2D *fhJetPtGenVsJetPtRecSubUeMedian; //jet respose matrix both pT with subtracted kT median bg
+ TH2D *fhJetPtGenVsJetPtRecSubUeCMS; //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 *fhJetPtSubUeCMSGen; //generated pT spectrum of jets withe subtr weighted kT median ala CMS
+ 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 *fHJetSpecSubUeCMSGen; //Recoil jet spectrum at gen level, jet pT corrected by weighted kT median ala CMS
+ THnSparse *fHJetUeMedianGen; //UE background from kT median
+ THnSparse *fHJetUeCMSGen; //UE background from weighted kT median ala CMS
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 *fHRhoUeMedianVsCMSGen; //EBE UE from Median vs CMS generator level
- Bool_t fIsMC; //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 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
TH1F* fh1PtHardTrials; //! Number of trials
Float_t fAvgTrials; // Average number of trials
- ClassDef(AliAnalysisTaskJetCorePP, 4); //has to end with number larger than 0
+
+ Int_t fHardest; // trigger type 0=single incl, 1=LP
+ Int_t fEventNumberRangeLow; // lower range of selected event numbers
+ Int_t fEventNumberRangeHigh; // high range of selected event numbers
+ Float_t fTriggerPtRangeLow; // lower range of selected trigger pt
+ Float_t fTriggerPtRangeHigh; // upper range of selected trigger pt
+
+ TRandom3* fRandom; // TRandom3
+
+ ClassDef(AliAnalysisTaskJetCorePP, 8); //has to end with number larger than 0
};
#endif