class AliEMCALGeometry;
class AliEMCALRecoUtils;
class AliESDtrack;
+class AliESDtrackCuts;
// container classes
class AliJetContainer;
#include <TMath.h>
#include <TRandom3.h>
#include <AliLog.h>
+#include "AliESDtrackCuts.h"
// Local Rho includes
#include "AliAnalysisTaskLocalRho.h"
virtual void UserCreateOutputObjects();
// THnSparse Setup
- virtual THnSparse* NewTHnSparseD(const char* name, UInt_t entries);
+ virtual THnSparse* NewTHnSparseF(const char* name, UInt_t entries);
virtual void GetDimParams(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
- virtual THnSparse* NewTHnSparseDPID(const char* name, UInt_t entries);
+ virtual THnSparse* NewTHnSparseFPID(const char* name, UInt_t entries);
virtual void GetDimParamsPID(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
- virtual THnSparse* NewTHnSparseDCorr(const char* name, UInt_t entries);
+ virtual THnSparse* NewTHnSparseFCorr(const char* name, UInt_t entries);
virtual void GetDimParamsCorr(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
// set a bun of histogram switches up
void SetdoPID(Bool_t p) { doPID = p; } // do PID switch
void SetdoPIDtrackBIAS(Bool_t PIDbias) { doPIDtrackBIAS = PIDbias; } // do PID track bias switch
+ // esd track cuts setters
+ void SetTrackCuts(AliESDtrackCuts *cuts) { fesdTrackCuts = cuts; }
+
// give comments setter
void SetdoComments(Bool_t comm) { doComments = comm; } // give comment switch
+ // setter switch for flavour jet analysis
+ void SetFlavourJetAnalysis(Bool_t flj) { doFlavourJetAnalysis = flj; } // set on flavour jet analysis
+ virtual void SetJETFlavourTag(Int_t fltag) { fJetFlavTag = fltag; } // set manual tag #
+
+ // setter for beamtype (needed for UserCreateObjects section)
+ virtual void SetCollType(BeamType bm) { fBeam = bm; } // set beamtype
+
// getters
- TString GetLocalRhoName() const {return fLocalRhoName; }
+ TString GetLocalRhoName() const {return fLocalRhoName; }
// set names of some objects
virtual void SetLocalRhoName(const char *ln) { fLocalRhoName = ln; }
virtual void SetTracksName(const char *tn) { fTracksName = tn; }
+ virtual void SetTracksNameME(const char *MEtn) { fTracksNameME = MEtn; }
virtual void SetJetsName(const char *jn) { fJetsName = jn; }
// bias and cuts - setters
// event mixing - setters
virtual void SetEventMixing(Int_t yesno) { fDoEventMixing=yesno; }
virtual void SetMixingTracks(Int_t tracks) { fMixingTracks = tracks; }
+ virtual void SetNMixedTr(Int_t nmt) { fNMIXtracks = nmt; }
+ virtual void SetNMixedEvt(Int_t nme) { fNMIXevents = nme; }
+
+ // event trigger/mixed selection - setters
+ virtual void SetTriggerEventType(UInt_t te) { fTriggerEventType = te; }
+ virtual void SetMixedEventType(UInt_t me) { fMixingEventType = me; }
+ virtual void SetCentBinSize(Int_t centbins) { fCentBinSize = centbins; }
+
+ // set efficiency correction
+ void SetDoEffCorr(Int_t effcorr) { fDoEffCorr = effcorr; }
+ virtual void SetEffCorrFunc(Double_t efffunc) { fEffFunctionCorr = efffunc; }
// jet container - setters
void SetContainerAllJets(Int_t c) { fContainerAllJets = c;}
virtual Int_t GetpTtrackBin(Double_t pt) const; // track pt bins
virtual Int_t GetzVertexBin(Double_t zVtx) const; // zVertex bin
void SetfHistPIDcounterLabels(TH1* fHistPID) const; // PID counter
+ void SetfHistQAcounterLabels(TH1* h) const; // QA counter
+ void SetfHistEvtSelQALabels(TH1* h) const; // Event Selection Counter
+ //virtual Int_t AcceptFlavourJet(AliEmcalJet *jet, Int_t NUM, Int_t NUM2, Int_t NUM3); // flavour jet acceptor
+ virtual Int_t AcceptFlavourJet(AliEmcalJet *jet, Int_t NUM); // flavour jet acceptor
+ Double_t EffCorrection(Double_t trkETA, Double_t trkPT, Int_t effswitch) const; // efficiency correction function
// parameters of detector to cut on for event
Double_t fPhimin; // phi min
Double_t fJetRad; // jet radius
Double_t fConstituentCut; // jet constituent cut
+ // esd track cuts
+ AliESDtrackCuts *fesdTrackCuts; // esdTrackCuts
+
// event mixing
Int_t fDoEventMixing;
Int_t fMixingTracks;
+ Int_t fNMIXtracks;
+ Int_t fNMIXevents;
+ Int_t fCentBinSize; // centrality bin size of mixed event pools
+
+ // event selection types
+ UInt_t fTriggerEventType;
+ UInt_t fMixingEventType;
+
+ // efficiency correction
+ Int_t fDoEffCorr;
+ Double_t fEffFunctionCorr;
// switches for plots
Bool_t doPlotGlobalRho;
// do comment switch
Bool_t doComments;
+ // do flavour jet analysis switch, and set flavour jet tag
+ Bool_t doFlavourJetAnalysis;
+ Int_t fJetFlavTag;
+
+ // beam type
+ BeamType fBeam;
+
// local rho value
Double_t fLocalRhoVal;
// object names
TString fTracksName;
+ TString fTracksNameME;
TString fJetsName;
// event counter
Bool_t isPItof, isKtof, isPtof;
// event pool
- TObjArray* CloneAndReduceTrackList(TObjArray* tracks);
- AliEventPoolManager *fPoolMgr; // event pool Manager object
+ TObjArray *CloneAndReduceTrackList(TObjArray* tracks);
+ AliEventPoolManager *fPoolMgr;//! // event pool Manager object
// PID
AliPIDResponse *fPIDResponse; // PID response object
private:
// needed for PID, track objects
- AliESDEvent *fESD; // ESD object
- AliAODEvent *fAOD; // AOD object
+ AliESDEvent *fESD;//! // ESD object
+ AliAODEvent *fAOD;//! // AOD object
+ AliVEvent *fVevent;//! // Vevent object
+
+ TH1F *fHistEventQA;//!
+ TH1F *fHistEventSelectionQA;//!
+
+ TH2F *fHistCentZvertGA;//!
+ TH2F *fHistCentZvertJE;//!
+ TH2F *fHistCentZvertMB;//!
+ TH2F *fHistCentZvertAny;//!
- TH2F *fHistTPCdEdX;
- TH2F *fHistITSsignal;
-// TH2F *fHistTOFsignal;
+ TH2F *fHistTPCdEdX;//!
+ TH2F *fHistITSsignal;//!
+// TH2F *fHistTOFsignal;//!
- TH2F *fHistRhovsCent; //!
+ TH2F *fHistRhovsCent;//!
TH2F *fHistNjetvsCent;//! number of jets versus Centrality
TH2F *fHistJetPtvsTrackPt[6];//!
TH2F *fHistRawJetPtvsTrackPt[6];//!
TH1F *fHistJetPtcorrGlRho[6];//!
TH2F *fHistJetPtvsdEP[6];//!
TH2F *fHistJetPtvsdEPBias[6];//!
- TH2F *fHistRhovsdEP[6]; //!
+ TH2F *fHistRhovsdEP[6];//!
TH3F *fHistJetEtaPhiPt[6];//!
TH3F *fHistJetEtaPhiPtBias[6];//!
TH2F *fHistJetPtArea[6];//!
TH2F *fHistJetPtAreaBias[6];//!
- TH2F *fHistJetPtNcon[6]; //!
- TH2F *fHistJetPtNconBias[6]; //!
- TH2F *fHistJetPtNconCh[6]; //!
- TH2F *fHistJetPtNconBiasCh[6]; //!
- TH2F *fHistJetPtNconEm[6]; //!
- TH2F *fHistJetPtNconBiasEm[6]; //!
- TH1F *fHistJetHaddPhiINcent[6];
- TH1F *fHistJetHaddPhiOUTcent[6];
- TH1F *fHistJetHaddPhiMIDcent[6];
-
- TH1 *fHistCentrality;
- TH1 *fHistZvtx;
- TH1 *fHistMult;
- TH1 *fHistJetPhi;
- TH1 *fHistTrackPhi;
- TH1 *fHistJetHaddPhiIN;
- TH1 *fHistJetHaddPhiOUT;
- TH1 *fHistJetHaddPhiMID;
- TH1 *fHistJetHaddPhiBias;
- TH1 *fHistJetHaddPhiINBias;
- TH1 *fHistJetHaddPhiOUTBias;
- TH1 *fHistJetHaddPhiMIDBias;
-
- TH1 *fHistMEdPHI; // phi distrubtion of mixed events
- TH1 *fHistTrackPtallcent;
-
- TH2 *fHistJetEtaPhi;
- TH2 *fHistTrackEtaPhi[4][7];
- TH1 *fHistJetHadbindPhi[9];
- TH1 *fHistJetHadbindPhiIN[9];
- TH1 *fHistJetHadbindPhiMID[9];
- TH1 *fHistJetHadbindPhiOUT[9];
- TH2 *fHistJetHEtaPhi;
-
- TH1 *fHistJetPt[6];
- TH1 *fHistJetPtBias[6];
- TH1 *fHistJetPtTT[6];
- TH2 *fHistAreavsRawPt[6];
- TH2 *fHistJetH[6][5][3];
- TH2 *fHistJetHBias[6][5][3];
- TH2 *fHistJetHTT[6][5][3];
- TH1F *fHistJetHdPHI[11];
- TH2F *fHistJetHdETAdPHI[11];
- TH2F *fHistSEphieta; // single events phi-eta distributions
- TH2F *fHistMEphieta; // mixed events phi-eta distributions
- TH1F *fHistJetHaddPHI;
+ TH2F *fHistJetPtNcon[6];//!
+ TH2F *fHistJetPtNconBias[6];//!
+ TH2F *fHistJetPtNconCh[6];//!
+ TH2F *fHistJetPtNconBiasCh[6];//!
+ TH2F *fHistJetPtNconEm[6];//!
+ TH2F *fHistJetPtNconBiasEm[6];//!
+ TH1F *fHistJetHaddPhiINcent[6];//!
+ TH1F *fHistJetHaddPhiOUTcent[6];//!
+ TH1F *fHistJetHaddPhiMIDcent[6];//!
+
+ TH1 *fHistCentrality;//!
+ TH1 *fHistZvtx;//!
+ TH1 *fHistMult;//!
+ TH1 *fHistJetPhi;//!
+ TH1 *fHistTrackPhi;//!
+ TH1 *fHistLocalRhoJetpt;//!
+ TH1 *fHistJetHaddPhiIN;//!
+ TH1 *fHistJetHaddPhiOUT;//!
+ TH1 *fHistJetHaddPhiMID;//!
+ TH1 *fHistJetHaddPhiBias;//!
+ TH1 *fHistJetHaddPhiINBias;//!
+ TH1 *fHistJetHaddPhiOUTBias;//!
+ TH1 *fHistJetHaddPhiMIDBias;//!
+
+ TH1 *fHistMEdPHI;//! // phi distrubtion of mixed events
+ TH1 *fHistTrackPtallcent;//!
+
+ TH2 *fHistJetEtaPhi;//!
+ TH2 *fHistTrackEtaPhi[4][7];//!
+ TH1 *fHistJetHadbindPhi[9];//!
+ TH1 *fHistJetHadbindPhiIN[9];//!
+ TH1 *fHistJetHadbindPhiMID[9];//!
+ TH1 *fHistJetHadbindPhiOUT[9];//!
+ TH2 *fHistJetHEtaPhi;//!
+
+ TH1 *fHistJetPt[6];//!
+ TH1 *fHistJetPtBias[6];//!
+ TH1 *fHistJetPtTT[6];//!
+ TH2 *fHistAreavsRawPt[6];//!
+ TH2 *fHistJetH[6][5][3];//!
+ TH2 *fHistJetHBias[6][5][3];//!
+ TH2 *fHistJetHTT[6][5][3];//!
+ TH1F *fHistJetHdPHI[11];//!
+ TH2F *fHistJetHdETAdPHI[11];//!
+ TH2F *fHistSEphieta;//! // single events phi-eta distributions
+ TH2F *fHistMEphieta;//! // mixed events phi-eta distributions
+ TH1F *fHistJetHaddPHI;//!
// PID status histo's
- TH1 *fHistPID;
+ TH1 *fHistPID;//!
// THn Sparse's
- THnSparse *fhnPID; // PID sparse
- THnSparse *fhnMixedEvents; // mixed events matrix
- THnSparse *fhnJH; // jet hadron events matrix
- THnSparse *fhnCorr; // sparse to get # jet triggers
+ THnSparse *fhnPID;//! // PID sparse
+ THnSparse *fhnMixedEvents;//! // mixed events matrix
+ THnSparse *fhnJH;//! // jet hadron events matrix
+ THnSparse *fhnCorr;//! // sparse to get # jet triggers
// container objects
AliJetContainer *fJetsCont; //!Jets