]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/vertexingHF/AliAnalysisTaskSESelectHF4Prong.h
Macro for QA Monitoring (Cynthia)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSESelectHF4Prong.h
CommitLineData
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 25class AliAODEvent;
26class AliAnalysisManager;
27class AliRDHFCuts;
601736df 28
29class 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