]>
Commit | Line | Data |
---|---|---|
601736df | 1 | #ifndef ALIANALYSISTASKSESELECTHF4PRONG_H |
2 | #define ALIANALYSISTASKSESELECTHF4PRONG_H | |
3 | ||
4 | /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //************************************************************************* | |
8 | // Class AliAnalysisTaskSESelectHF4Prong | |
9 | // AliAnalysisTaskSE for the selection of heavy-flavour decay candidates | |
10 | // and creation of a stand-alone AOD for 4prong D0 decay | |
11 | // Author: A.Dainese, andrea.dainese@lnl.infn.it | |
12 | // F.Colamaria, fabio.colamaria@ba.infn.it | |
13 | //************************************************************************* | |
14 | ||
15 | #include <TROOT.h> | |
16 | #include <TSystem.h> | |
ac679a67 | 17 | #include <TH1F.h> |
601736df | 18 | #include <TH2F.h> |
19 | #include <TList.h> | |
20 | #include <TClonesArray.h> | |
21 | #include <TChain.h> | |
22 | ||
23 | #include "AliAnalysisTaskSE.h" | |
601736df | 24 | #include "AliRDHFCutsD0toKpipipi.h" |
ac679a67 | 25 | class AliAODEvent; |
26 | class AliAnalysisManager; | |
27 | class AliRDHFCuts; | |
601736df | 28 | |
29 | class AliAnalysisTaskSESelectHF4Prong : public AliAnalysisTaskSE | |
30 | { | |
31 | public: | |
32 | ||
33 | AliAnalysisTaskSESelectHF4Prong(); | |
34 | AliAnalysisTaskSESelectHF4Prong(const char *name,AliRDHFCutsD0toKpipipi* cuts); | |
35 | virtual ~AliAnalysisTaskSESelectHF4Prong(); | |
36 | ||
37 | ||
38 | // Implementation of interface methods | |
39 | virtual void UserCreateOutputObjects(); | |
40 | virtual void Init(); | |
41 | virtual void LocalInit() {Init();} | |
42 | virtual void UserExec(Option_t *option); | |
43 | virtual void Terminate(Option_t *option); | |
44 | ||
45 | private: | |
46 | ||
47 | AliAnalysisTaskSESelectHF4Prong(const AliAnalysisTaskSESelectHF4Prong &source); | |
48 | AliAnalysisTaskSESelectHF4Prong& operator=(const AliAnalysisTaskSESelectHF4Prong& source); | |
49 | TClonesArray *fVerticesHFTClArr; //! Array of heavy-flavour vertices | |
50 | TClonesArray *fCharm4ProngTClArr; //! Array of D0->K3pi | |
51 | ||
ac679a67 | 52 | Double_t fmassD0[2]; //! Array with invariant masses tor D0 hypotheses |
53 | Double_t fmassD0bar[2]; //! Array with invariant masses tor D0bar hypotheses | |
54 | Int_t fSelected; //! Flag for selection of candidate | |
601736df | 55 | |
56 | TList *fOutput; //! list send on output slot 1 | |
57 | TList *fOutput2; //! list send on output slot 2 | |
58 | TList *fOutput3; //! list send on output slot 3 | |
59 | TList *fOutput4; //! list send on output slot 4 | |
60 | TList *fOutput5; //! list send on output slot 5 | |
61 | TList *fOutputC; //! list send on output slot 6 | |
62 | ||
63 | //output histograms\r | |
ac679a67 | 64 | TH1F *fhInvMassD0Sum10MevBin1; //! Invariant mass D01+D02 (good hyp) 10Mev BIN1 |
65 | TH1F *fhInvMassD0barSum10MevBin1; //! Invariant mass D0bar1+D0bar2 (good hyp) 10Mev | |
66 | TH1F *fhInvMassSumAll10MevBin1; //! Invariant mass superimpose (good hyp only)10Mev | |
67 | TH1F *fhInvMassD0Sum5MevBin1; //! Invariant mass D01+D02 (good hyp) 5Mev | |
68 | TH1F *fhInvMassD0barSum5MevBin1; //! Invariant mass D0bar1+D0bar2 (good hyp) 5Mev | |
69 | TH1F *fhInvMassSumAll5MevBin1; //! Invariant mass superimpose (good hyp only)5Mev | |
70 | ||
71 | TH1F *fhInvMassD0Sum10MevBin2; //! Invariant mass D01+D02 (good hyp) 10Mev BIN2 | |
72 | TH1F *fhInvMassD0barSum10MevBin2; //! Invariant mass D0bar1+D0bar2 (good hyp) 10Mev | |
73 | TH1F *fhInvMassSumAll10MevBin2; //! Invariant mass superimpose (good hyp only)10Mev | |
74 | TH1F *fhInvMassD0Sum5MevBin2; //! Invariant mass D01+D02 (good hyp) 5Mev | |
75 | TH1F *fhInvMassD0barSum5MevBin2; //! Invariant mass D0bar1+D0bar2 (good hyp) 5Mev | |
76 | TH1F *fhInvMassSumAll5MevBin2; //! Invariant mass superimpose (good hyp only)5Mev | |
77 | ||
78 | TH1F *fhInvMassD0Sum10MevBin3; //! Invariant mass D01+D02 (good hyp) 10Mev BIN3 | |
79 | TH1F *fhInvMassD0barSum10MevBin3; //! Invariant mass D0bar1+D0bar2 (good hyp) 10Mev | |
80 | TH1F *fhInvMassSumAll10MevBin3; //! Invariant mass superimpose (good hyp only)10Mev | |
81 | TH1F *fhInvMassD0Sum5MevBin3; //! Invariant mass D01+D02 (good hyp) 5Mev | |
82 | TH1F *fhInvMassD0barSum5MevBin3; //! Invariant mass D0bar1+D0bar2 (good hyp) 5Mev | |
83 | TH1F *fhInvMassSumAll5MevBin3; //! Invariant mass superimpose (good hyp only)5Mev | |
84 | ||
85 | TH1F *fhInvMassD0Sum10MevBin4; //! Invariant mass D01+D02 (good hyp) 10Mev BIN4 | |
86 | TH1F *fhInvMassD0barSum10MevBin4; //! Invariant mass D0bar1+D0bar2 (good hyp) 10Mev | |
87 | TH1F *fhInvMassSumAll10MevBin4; //! Invariant mass superimpose (good hyp only)10Mev | |
88 | TH1F *fhInvMassD0Sum5MevBin4; //! Invariant mass D01+D02 (good hyp) 5Mev | |
89 | TH1F *fhInvMassD0barSum5MevBin4; //! Invariant mass D0bar1+D0bar2 (good hyp) 5Mev | |
90 | TH1F *fhInvMassSumAll5MevBin4; //! Invariant mass superimpose (good hyp only)5Mev | |
91 | ||
92 | TH1F *fhInvMassD0Sum10MevBin5; //! Invariant mass D01+D02 (good hyp) 10Mev BIN5 | |
93 | TH1F *fhInvMassD0barSum10MevBin5; //! Invariant mass D0bar1+D0bar2 (good hyp) 10Mev | |
94 | TH1F *fhInvMassSumAll10MevBin5; //! Invariant mass superimpose (good hyp only)10Mev | |
95 | TH1F *fhInvMassD0Sum5MevBin5; //! Invariant mass D01+D02 (good hyp) 5Mev | |
96 | TH1F *fhInvMassD0barSum5MevBin5; //! Invariant mass D0bar1+D0bar2 (good hyp) 5Mev | |
97 | TH1F *fhInvMassSumAll5MevBin5; //! Invariant mass superimpose (good hyp only)5Mev | |
98 | ||
99 | TH1F *fhInvMassMultipleOnlyBin1; //! Invariant mass superimpose good hyp only for multiple hyps accepted Bin1 | |
100 | TH1F *fhInvMassMultipleOnlyBin2; //! Invariant mass superimpose good hyp only for multiple hyps accepted Bin2 | |
101 | TH1F *fhInvMassMultipleOnlyBin3; //! Invariant mass superimpose good hyp only for multiple hyps accepted Bin3 | |
102 | TH1F *fhInvMassMultipleOnlyBin4; //! Invariant mass superimpose good hyp only for multiple hyps accepted Bin4 | |
103 | TH1F *fhInvMassMultipleOnlyBin5; //! Invariant mass superimpose good hyp only for multiple hyps accepted Bin5 | |
601736df | 104 | |
105 | TH2F *fScatterP4PID; //! K momentum vs like sign Pi momentum after PID | |
106 | TH2F *fPtVsY; //! Pt vs Y of selected candidates (by PPR cuts) | |
107 | TH2F *fPtVsYAll; //! Pt vs Y of all candidates | |
108 | ||
109 | TH1F *fEventCounter; //! Event Counter | |
110 | TH1F *fCutDCA; //! DCA histogram doubl. | |
111 | TH1F *fCutDCA3; //! DCA histogram trips | |
112 | TH1F *fCutDCA2; //! DCA histogram quads1 | |
113 | TH1F *fCutDCA5; //! DCA histogram quads2 | |
114 | TH1F *fCutVertexDist2; //! Vertex doubl. to primary distance | |
115 | TH1F *fCutVertexDist3; //! Vertex trips to primary distance | |
116 | TH1F *fCutVertexDist4; //! Vertex quads to primary distance | |
117 | TH1F *fCutCosinePoint; //! Cosine of pointing angle | |
118 | TH1F *fCutPt; //! Candidate D0 Pt | |
119 | TH1F *fCutY; //! Candidate D0 Y | |
120 | TH1F *fPIDSel; //! PID Selected | |
ac679a67 | 121 | TH1F *fPIDSelBin1; //! PID Selected Bin1 |
122 | TH1F *fPIDSelBin2; //! PID Selected Bin2 | |
123 | TH1F *fPIDSelBin3; //! PID Selected Bin3 | |
124 | TH1F *fPIDSelBin4; //! PID Selected Bin4 | |
125 | TH1F *fPIDSelBin5; //! PID Selected Bin5 | |
601736df | 126 | TH1F *fMultipleHyps; //! Multiple hypotesis accepted counter |
127 | TH1F *fMultipleHypsType; //! Multiple hypotesis accepted counter | |
128 | ||
129 | TH1F *fPtSel; //! Pt of selected candidates | |
130 | ||
131 | AliRDHFCutsD0toKpipipi *fCuts; //! Cuts container | |
132 | ||
ac679a67 | 133 | ClassDef(AliAnalysisTaskSESelectHF4Prong,3); // AliAnalysisTaskSE for the reconstruction of heavy-flavour decay candidates |
601736df | 134 | }; |
135 | ||
136 | #endif | |
137 |