X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGLF%2FSTRANGENESS%2FCascades%2FAliAnalysisTaskCheckCascadePbPb.h;fp=PWGLF%2FSTRANGENESS%2FCascades%2FAliAnalysisTaskCheckCascadePbPb.h;h=0000000000000000000000000000000000000000;hb=c627660e3ea095ed462f5ce4ad36a184f40e0dd7;hp=2b173ac9a3fc4c5b7c62fd770c7397acaeddca52;hpb=d85f6819269447083582dbf4349395fe419ff1f5;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGLF/STRANGENESS/Cascades/AliAnalysisTaskCheckCascadePbPb.h b/PWGLF/STRANGENESS/Cascades/AliAnalysisTaskCheckCascadePbPb.h deleted file mode 100644 index 2b173ac9a3f..00000000000 --- a/PWGLF/STRANGENESS/Cascades/AliAnalysisTaskCheckCascadePbPb.h +++ /dev/null @@ -1,273 +0,0 @@ -#ifndef ALIANALYSISTASKCHECKCASCADEPBPB_H -#define ALIANALYSISTASKCHECKCASCADEPBPB_H - -/* See cxx source for full Copyright notice */ - -//----------------------------------------------------------------- -// AliAnalysisTaskCheckCascadePbPb class -// Origin AliAnalysisTaskCheckCascade -// This task has four roles : -// 1. QAing the Cascades from ESD and AOD -// Origin: AliAnalysisTaskESDCheckV0 by Boris Hippolyte Nov2007, hippolyt@in2p3.fr -// 2. Prepare the plots which stand as raw material for yield extraction (wi/wo PID) -// 3. Supply an AliCFContainer meant to define the optimised topological selections -// 4. Rough azimuthal correlation study (Eta, Phi) -// Adapted to Cascade : A.Maire Mar2008, antonin.maire@ires.in2p3.fr -// Modified : A.Maire Mar2010, antonin.maire@ires.in2p3.fr -// Modified for PbPb analysis: M. Nicassio Feb 2011, maria.nicassio@ba.infn.it -//----------------------------------------------------------------- - -class TList; -class TH1F; -class TH2F; -class TH3F; -class TVector3; -class THnSparse; - -class AliESDEvent; -class AliPhysicsSelection; -class AliCFContainer; -class AliPIDResponse; - -#include "TString.h" - -#include "AliAnalysisTaskSE.h" - -class AliAnalysisTaskCheckCascadePbPb : public AliAnalysisTaskSE { - public: - AliAnalysisTaskCheckCascadePbPb(); - AliAnalysisTaskCheckCascadePbPb(const char *name); - virtual ~AliAnalysisTaskCheckCascadePbPb(); - - virtual void UserCreateOutputObjects(); - virtual void UserExec(Option_t *option); -/* void DoAngularCorrelation(const Char_t *lCascType, - Double_t lInvMassCascade, - const Int_t *lArrTrackID, - TVector3 &lTVect3MomXi, - Double_t lEtaXi);*/ - virtual Int_t DoESDTrackWithTPCrefitMultiplicity(const AliESDEvent *lESDevent); - virtual void Terminate(Option_t *); - - void SetAnalysisType (const char* analysisType = "ESD") { fAnalysisType = analysisType; } - void SetRelaunchV0CascVertexers (Bool_t rerunV0CascVertexers = 0 ) { fkRerunV0CascVertexers = rerunV0CascVertexers; } - void SetQualityCutZprimVtxPos (Bool_t qualityCutZprimVtxPos = kTRUE) { fkQualityCutZprimVtxPos = qualityCutZprimVtxPos; } - void SetQualityCutNoTPConlyPrimVtx (Bool_t qualityCutNoTPConlyPrimVtx = kTRUE) { fkQualityCutNoTPConlyPrimVtx = qualityCutNoTPConlyPrimVtx; } - void SetQualityCutTPCrefit (Bool_t qualityCutTPCrefit = kTRUE) { fkQualityCutTPCrefit = qualityCutTPCrefit; } - void SetQualityCutnTPCcls (Bool_t qualityCutnTPCcls = kTRUE) { fkQualityCutnTPCcls = qualityCutnTPCcls; } - void SetQualityCutMinnTPCcls (Int_t minnTPCcls = 70 ) { fMinnTPCcls = minnTPCcls; } - void SetExtraSelections (Bool_t extraSelections = 0 ) { fkExtraSelections = extraSelections; } - void SetCentralityLowLim (Float_t centrlowlim = 0. ) { fCentrLowLim = centrlowlim; } - void SetCentralityUpLim (Float_t centruplim = 100. ) { fCentrUpLim = centruplim; } - void SetCentralityEst (TString centrest = "V0M") { fCentrEstimator = centrest; } - void SetUseCleaning (Bool_t usecleaning = kTRUE) { fkUseCleaning = usecleaning; } - void SetVertexRange (Float_t vtxrange = 0. ) { fVtxRange = vtxrange; } - void SetMinptCutOnDaughterTracks (Float_t minptdaughtrks = 0. ) { fMinPtCutOnDaughterTracks = minptdaughtrks; } - void SetEtaCutOnDaughterTracks (Float_t etadaughtrks = 0. ) { fEtaCutOnDaughterTracks = etadaughtrks; } - //Setters for the V0 and cascade Vertexer Parameters - void SetV0VertexerMaxChisquare (Double_t lParameter){ fV0VertexerSels[0] = lParameter; } - void SetV0VertexerDCAFirstToPV (Double_t lParameter){ fV0VertexerSels[1] = lParameter; } - void SetV0VertexerDCASecondtoPV (Double_t lParameter){ fV0VertexerSels[2] = lParameter; } - void SetV0VertexerDCAV0Daughters (Double_t lParameter){ fV0VertexerSels[3] = lParameter; } - void SetV0VertexerCosinePA (Double_t lParameter){ fV0VertexerSels[4] = lParameter; } - void SetV0VertexerMinRadius (Double_t lParameter){ fV0VertexerSels[5] = lParameter; } - void SetV0VertexerMaxRadius (Double_t lParameter){ fV0VertexerSels[6] = lParameter; } - void SetCascVertexerMaxChisquare (Double_t lParameter){ fCascadeVertexerSels[0] = lParameter; } - void SetCascVertexerMinV0ImpactParameter (Double_t lParameter){ fCascadeVertexerSels[1] = lParameter; } - void SetCascVertexerV0MassWindow (Double_t lParameter){ fCascadeVertexerSels[2] = lParameter; } - void SetCascVertexerDCABachToPV (Double_t lParameter){ fCascadeVertexerSels[3] = lParameter; } - void SetCascVertexerDCACascadeDaughters (Double_t lParameter){ fCascadeVertexerSels[4] = lParameter; } - void SetCascVertexerCascadeCosinePA (Double_t lParameter){ fCascadeVertexerSels[5] = lParameter; } - void SetCascVertexerCascadeMinRadius (Double_t lParameter){ fCascadeVertexerSels[6] = lParameter; } - void SetCascVertexerCascadeMaxRadius (Double_t lParameter){ fCascadeVertexerSels[7] = lParameter; } - - - - private: - // Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ... - // your data member object is created on the worker nodes and streaming is not needed. - // http://root.cern.ch/download/doc/11InputOutput.pdf, page 14 - - - TString fAnalysisType; // "ESD" or "AOD" analysis type - AliESDtrackCuts *fESDtrackCuts; // ESD track cuts used for primary track definition - //TPaveText *fPaveTextBookKeeping; // TString to store all the relevant info necessary for book keeping (v0 cuts, cascade cuts, quality cuts, ...) - AliPIDResponse *fPIDResponse; //! PID response object - - Bool_t fkRerunV0CascVertexers; // Boolean : kTRUE = relaunch both V0 + Cascade vertexers - Bool_t fkQualityCutZprimVtxPos; // Boolean : kTRUE = cut on the prim.vtx z-position - Bool_t fkQualityCutNoTPConlyPrimVtx; // Boolean : kTRUE = prim vtx should be SPD or Tracking vertex - Bool_t fkQualityCutTPCrefit; // Boolean : kTRUE = ask for TPCrefit for the 3 daughter tracks - Bool_t fkQualityCutnTPCcls; // Boolean : kTRUE = ask for at least n TPC clusters for each daughter track - Int_t fMinnTPCcls; // minimum number of TPC cluster for daughter tracks - Bool_t fkExtraSelections; // Boolean : kTRUE = apply tighter selections, before starting the analysis - Float_t fCentrLowLim; // Lower limit for centrality percentile selection - Float_t fCentrUpLim; // Upper limit for centrality percentile selection - TString fCentrEstimator; // string for the centrality estimator - Bool_t fkUseCleaning; // Boolean : kTRUE = uses all the cleaning criteria of centrality selections (vertex cut + outliers) otherwise only outliers - Float_t fVtxRange; // to select events with |zvtx|1 cascade : Track Multiplicity, TPC clusters + Prim. vertex positions - TH1F *fHistTPCrefitTrackMultiplicityForCascadeEvt; //! TPCrefit Track multiplicity distribution for event with >1 cascade candidate (NB: after quality sel. within the task) - - TH1F *fHistPosV0TPCClusters; //! TPC clusters distribution for Positive V0 daughter track - TH1F *fHistNegV0TPCClusters; //! TPC clusters distribution for Negative V0 daughter track - TH1F *fHistBachTPCClusters; //! TPC clusters distribution for Bachelor track - - TH1F *fHistVtxStatus; //! Is there a tracking vertex in the cascade event ? - - // Vtx coming from the full tracking, for events containing at least a cascade - TH1F *fHistPosTrkgPrimaryVtxXForCascadeEvt; //! primary vertex position distribution in x - TH1F *fHistPosTrkgPrimaryVtxYForCascadeEvt; //! primary vertex position distribution in y - TH1F *fHistPosTrkgPrimaryVtxZForCascadeEvt; //! primary vertex position distribution in z - TH1F *fHistTrkgPrimaryVtxRadius; //! primary vertex (3D) radius distribution - - // Best primary Vtx available, for events containing at least a cascade - TH1F *fHistPosBestPrimaryVtxXForCascadeEvt; //! (best) primary vertex position distribution in x - TH1F *fHistPosBestPrimaryVtxYForCascadeEvt; //! (best) primary vertex position distribution in y - TH1F *fHistPosBestPrimaryVtxZForCascadeEvt; //! (best) primary vertex position distribution in z - TH1F *fHistBestPrimaryVtxRadius; //! (best) primary vertex radius distribution - - // Correlation Best Vtx / Full Tracking Vtx - TH2F *f2dHistTrkgPrimVtxVsBestPrimVtx; //! Radius of prim. Vtx from tracks Vs Radius of best Prim. Vtx - - -// PART 1 : Adavanced QA -// - Typical histos on the variables used for the selection of cascades - TH1F *fHistEffMassXi; //! reconstructed cascade effective mass - TH1F *fHistChi2Xi; //! chi2 value - TH1F *fHistDcaXiDaughters; //! dca between Xi's daughters - TH1F *fHistDcaBachToPrimVertex; //! dca of the bachelor track to primary vertex - TH1F *fHistXiCosineOfPointingAngle; //! cosine of Xi pointing angle in a cascade - TH1F *fHistXiRadius; //! (transverse) radius of the cascade vertex - - // - Histos about ~ the "V0 selection part" of the cascade, coming by inheritance from AliESDv0 - TH1F *fHistMassLambdaAsCascDghter; //! Test Invariant Mass of Lambda coming from Cascade - TH1F *fHistV0Chi2Xi; //! V0 chi2 distribution, for the V0 associated to a cascade - TH1F *fHistDcaV0DaughtersXi; //! Dca between V0 daughters, for the V0 associated to a cascade - TH1F *fHistDcaV0ToPrimVertexXi; //! Dca of V0 to primary vertex, for the V0 associated to a cascade - TH1F *fHistV0CosineOfPointingAngle; //! Cosine of V0 pointing angle, for the V0 associated to a cascade - TH1F *fHistV0RadiusXi; //! V0 (transverse) distance distribution, for the V0 associated to a cascade - - TH1F *fHistDcaPosToPrimVertexXi; //! Dca of V0 positive daughter to primary vertex, for the V0 associated to a cascade - TH1F *fHistDcaNegToPrimVertexXi; //! Dca of V0 negative daughter to primary vertex, for the V0 associated to a cascade - - - // - Effective mass histos for cascades. - TH1F *fHistMassXiMinus; //! reconstructed cascade effective mass, under Xi- hyp. - TH1F *fHistMassXiPlus; //! reconstructed cascade effective mass, under Xi+ hyp. - TH1F *fHistMassOmegaMinus; //! reconstructed cascade effective mass, under Omega- hyp. - TH1F *fHistMassOmegaPlus; //! reconstructed cascade effective mass, under Omega+ hyp. - - TH1F *fHistMassWithCombPIDXiMinus; //! reconstructed Xi- effective mass, with bach. comb PID - TH1F *fHistMassWithCombPIDXiPlus; //! reconstructed Xi+ effective mass, with bach. comb PID - TH1F *fHistMassWithCombPIDOmegaMinus; //! reconstructed Omega- effective mass, with bach. comb PID - TH1F *fHistMassWithCombPIDOmegaPlus; //! reconstructed Omega+ effective mass, with bach. comb PID - - // - Complements for QA - TH1F *fHistXiTransvMom; //! Xi transverse momentum, around the mass peak of Xi-/+ - TH1F *fHistXiTotMom; //! Xi momentum norm, around the mass peak of Xi-/+ - - TH1F *fHistBachTransvMomXi; //! bachelor transverse momentum, for cand. around the mass peak of Xi-/+ - TH1F *fHistBachTotMomXi; //! bachelor momentum norm, for cand. around the mass peak of Xi-/+ - TH1F *fHistPosTransvMomXi; //! positive daughter transverse momentum, for cand. around the mass peak of Xi-/+ - TH1F *fHistNegTransvMomXi; //! negative daughter transverse momentum, for cand. around the mass peak of Xi-/+ - - TH1F *fHistChargeXi; //! Charge sign of the cascade candidate - TH1F *fHistV0toXiCosineOfPointingAngle; //! Cos. of Pointing angle between the V0 mom and the Xi-V0 vtx line - - TH1F *fHistRapXi; //! rapidity of Xi candidates, around the mass peak of Xi-/+ - TH1F *fHistRapOmega; //! rapidity of Omega candidates, around the mass peak of Omega-/+ - TH1F *fHistEtaXi; //! eta distrib. of all the cascade candidates, around the mass peak of Xi-/+ - TH1F *fHistThetaXi; //! theta distrib. of all the cascade candidates, around the mass peak of Xi-/+ - TH1F *fHistPhiXi; //! phi distrib. of all the cascade candidates, around the mass peak of Xi-/+ - - TH2F *f2dHistArmenteros; //! alpha(casc. cand.) Vs PtArm(casc. cand.) - - TH2F *f2dHistEffMassLambdaVsEffMassXiMinus; //! Xi- Eff mass Vs V0 Eff mass, under Xi- hyp. - TH2F *f2dHistEffMassXiVsEffMassOmegaMinus; //! Xi- Eff mass Vs Omega- Eff mass, for negative cascades - TH2F *f2dHistEffMassLambdaVsEffMassXiPlus; //! Xi+ Eff mass Vs V0 Eff mass, under Xi+ hyp. - TH2F *f2dHistEffMassXiVsEffMassOmegaPlus; //! Xi+ Eff mass Vs Omega+ Eff mass, for positive cascades - - TH2F *f2dHistXiRadiusVsEffMassXiMinus; //! transv. casc. decay radius Vs Xi- Eff mass, under Xi- hyp. - TH2F *f2dHistXiRadiusVsEffMassXiPlus; //! transv. casc. decay radius Vs Xi+ Eff mass, under Xi+ hyp. - TH2F *f2dHistXiRadiusVsEffMassOmegaMinus; //! transv. casc. decay radius Vs Omega- Eff mass, under Omega- hyp. - TH2F *f2dHistXiRadiusVsEffMassOmegaPlus; //! transv. casc. decay radius Vs Omega+ Eff mass, under Omega+ hyp. - - TH2F *f2dHistTPCdEdxOfCascDghters; //! TPC Bethe-Bloch curve, populated with the cascade daughters - - - // PART 2 : TH3F needed for pt spectrum and yield extraction - // Without any PID -/* TH3F *f3dHistXiPtVsEffMassVsYXiMinus; //! casc. transv. momemtum Vs Xi- Eff mass Vs Y - TH3F *f3dHistXiPtVsEffMassVsYXiPlus; //! casc. transv. momemtum Vs Xi+ Eff mass Vs Y - TH3F *f3dHistXiPtVsEffMassVsYOmegaMinus; //! casc. transv. momemtum Vs Omega- Eff mass Vs Y - TH3F *f3dHistXiPtVsEffMassVsYOmegaPlus; //! casc. transv. momemtum Vs Omega+ Eff mass Vs Y -*/ - // Compilation of all PID plots (3D = casc. transv. momemtum Vs Casc Eff mass Vs Y), stored into an AliCFContainer - AliCFContainer *fCFContCascadePIDXiMinus; //! for Xi- : Container to store any 3D histos with the different PID flavours - AliCFContainer *fCFContCascadePIDXiPlus; //! for Xi+ : Container to store any 3D histos with the different PID flavours - AliCFContainer *fCFContCascadePIDOmegaMinus; //! for Omega-: Container to store any 3D histos with the different PID flavours - AliCFContainer *fCFContCascadePIDOmegaPlus; //! for Omega+: Container to store any 3D histos with the different PID flavours - - - - // PART 3 : Towards the optimisation of topological selections / systematics - AliCFContainer *fCFContCascadeCuts; //! Container meant to store all the relevant distributions corresponding to the cut variables - - - // PART 4 : Azimuthal correlation study -/* THnSparseF *fHnSpAngularCorrXiMinus; //! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass - THnSparseF *fHnSpAngularCorrXiPlus; //! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass - THnSparseF *fHnSpAngularCorrOmegaMinus; //! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass - THnSparseF *fHnSpAngularCorrOmegaPlus; //! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass -*/ - TH1F *fV0Ampl; //! histo to check the V0 amplitude distribution - - TH2F *fHistDcaXiDaughtersvsInvMass; //! cut variables vs inv. mass - TH2F *fHistDcaBachToPrimVertexvsInvMass; //! cut variables vs inv. mass - TH2F *fHistXiCosineOfPointingAnglevsInvMass; //! cut variables vs inv. mass - TH2F *fHistMassLambdaAsCascDghtervsInvMass; //! cut variables vs inv. mass - TH2F *fHistDcaV0DaughtersXivsInvMass; //! cut variables vs inv. mass - TH2F *fHistDcaV0ToPrimVertexXivsInvMass; //! cut variables vs inv. mass - - // Control plots for reco pseudorapidity of daughter tracks (Xi- only) - - TH1F *fHistEtaBachXiM; //! bachelor pseudorapidity - TH1F *fHistEtaPosXiM; //! positive daughter pseudorapidity - TH1F *fHistEtaNegXiM; //! negative daughter pseudorapidity - - - - AliAnalysisTaskCheckCascadePbPb(const AliAnalysisTaskCheckCascadePbPb&); // not implemented - AliAnalysisTaskCheckCascadePbPb& operator=(const AliAnalysisTaskCheckCascadePbPb&); // not implemented - - ClassDef(AliAnalysisTaskCheckCascadePbPb, 7); -}; - -#endif