1 #ifndef ALIANALYSISTASKQAV0AOD_H
2 #define ALIANALYSISTASKQAV0AOD_H
4 /**************************************************************************
5 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * Author: The ALICE Off-line Project. *
8 * Contributors are mentioned in the code where appropriate. *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
19 //-----------------------------------------------------------------
20 // AliAnalysisTaskQAV0AOD class
21 // ---------------------------------
23 // Please see cxx file for more details.
25 //-----------------------------------------------------------------
27 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
29 // --- This version: 23rd March 2012
31 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
41 class AliESDtrackCuts;
44 class AliPhysicsSelection;
47 //#include "TString.h"
48 //#include "AliESDtrackCuts.h"
49 #include "AliAnalysisTaskSE.h"
51 class AliAnalysisTaskQAV0AOD : public AliAnalysisTaskSE {
53 AliAnalysisTaskQAV0AOD();
54 AliAnalysisTaskQAV0AOD(const char *name);
55 virtual ~AliAnalysisTaskQAV0AOD();
57 virtual void UserCreateOutputObjects();
58 virtual void UserExec(Option_t *option);
59 virtual void Terminate(Option_t *);
61 //---------------------------------------------------------------------------------------
62 //Setters for the V0 Extraction
63 void SetV0SelectionMaxChisquare ( Double_t lParameter ){ fV0Sels[0] = lParameter; }
64 void SetV0SelectionDCAFirstToPV ( Double_t lParameter ){ fV0Sels[1] = lParameter; }
65 void SetV0SelectionDCASecondtoPV ( Double_t lParameter ){ fV0Sels[2] = lParameter; }
66 void SetV0SelectionDCAV0Daughters ( Double_t lParameter ){ fV0Sels[3] = lParameter; }
67 void SetV0SelectionCosinePA ( Double_t lParameter ){ fV0Sels[4] = lParameter; }
68 void SetV0SelectionMinRadius ( Double_t lParameter ){ fV0Sels[5] = lParameter; }
69 void SetV0SelectionMaxRadius ( Double_t lParameter ){ fV0Sels[6] = lParameter; }
70 //---------------------------------------------------------------------------------------
73 // Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ...
74 // your data member object is created on the worker nodes and streaming is not needed.
75 // http://root.cern.ch/download/doc/11InputOutput.pdf, page 14
78 TList *fOutput; //! List of output objects
80 //Per-Event Histograms
81 TH1D* fHistEvent; //! Event Selection Histogram (no further info)
83 //Per-Candidate Histograms
85 //Base Topological Variables for All Reconstructed V0 Vertices
86 TH1D *fHistTopDCANegToPV; //!
87 TH1D *fHistTopDCAPosToPV; //!
88 TH1D *fHistTopDCAV0Daughters; //!
89 TH1D *fHistTopCosinePA; //!
90 TH1D *fHistTopV0Radius; //!
92 //Zoomed into Selection criteria (fV0Sels)
93 TH1D *fHistSelectedTopDCANegToPV; //!
94 TH1D *fHistSelectedTopDCAPosToPV; //!
95 TH1D *fHistSelectedTopDCAV0Daughters; //!
96 TH1D *fHistSelectedTopCosinePA; //!
97 TH1D *fHistSelectedTopV0Radius; //!
99 //Histograms for Storing Invariant Mass: 2D
100 //Stored only if the 5 topological selections in fV0Sels are satisfied
101 TH2D *f2dHistInvMassK0Short; //!
102 TH2D *f2dHistInvMassLambda; //!
103 TH2D *f2dHistInvMassAntiLambda; //!
105 //With dE/dx Selection (extra)
106 TH2D *f2dHistInvMassWithdEdxK0Short; //!
107 TH2D *f2dHistInvMassWithdEdxLambda; //!
108 TH2D *f2dHistInvMassWithdEdxAntiLambda; //!
110 //dEdx QA Histograms (extra)
112 TH2D *f2dHistResponseNegativeAsPion; //!
113 TH2D *f2dHistResponseNegativeAsProton; //!
114 TH2D *f2dHistResponsePositiveAsPion; //!
115 TH2D *f2dHistResponsePositiveAsProton; //!
117 //Raw Stuff, Clean Version: Proton and Pion From Lambdas
118 //Potentially useful for checking calibration of dE/dx
119 TH2D *f2dHistdEdxSignalPionFromLambda; //!
120 TH2D *f2dHistdEdxSignalProtonFromLambda; //!
121 TH2D *f2dHistResponsePionFromLambda; //!
122 TH2D *f2dHistResponseProtonFromLambda; //!
125 //Objects Controlling Task Behaviour
127 Bool_t fkIsNuclear; // if true, replace multiplicity est. by centrality (default FALSE)
128 Bool_t fkLowEnergyPP; // if true, skip FASTOnly (default FALSE)
129 Bool_t fkUseOnTheFly; // if true, will use On-the-fly V0s instead of Offline V0s (default FALSE)
132 AliPIDResponse *fPIDResponse; // PID response object
134 //Objects Controlling Task Behaviour: has to be streamed!
135 Double_t fV0Sels[7]; // Array to store the 7 values for the different selections V0 related
137 AliAnalysisTaskQAV0AOD(const AliAnalysisTaskQAV0AOD&); // not implemented
138 AliAnalysisTaskQAV0AOD& operator=(const AliAnalysisTaskQAV0AOD&); // not implemented
140 ClassDef(AliAnalysisTaskQAV0AOD, 11);