AliPhysics  4c9ecbb (4c9ecbb)
AliAnalysisTaskSESelectHF4Prong.h
Go to the documentation of this file.
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 //*************************************************************************
13 //*************************************************************************
14 
15 #include <TROOT.h>
16 #include <TSystem.h>
17 #include <TH1F.h>
18 #include <TH2F.h>
19 #include <TList.h>
20 #include <TClonesArray.h>
21 #include <TChain.h>
22 
23 #include "AliAnalysisTaskSE.h"
24 #include "AliRDHFCutsD0toKpipipi.h"
25 #include "AliAODMCParticle.h"
26 class AliAODEvent;
27 class AliAnalysisManager;
29 class AliRDHFCuts;
30 
32 {
33  public:
34 
38 
40  virtual void UserCreateOutputObjects();
41  virtual void Init();
42  virtual void LocalInit() {Init();}
43  virtual void UserExec(Option_t *option);
44  virtual void Terminate(Option_t *option);
45 
46  void SetPtBinH(Double_t* ptlimits);
47  void PrintPtBinHandMCFlag();
48  void SetMCTruth(int flag) {fMCTruth = flag;};
49  Int_t GetMCTruth() const {return fMCTruth;}
50 
51  void AnalysisReflection(AliAODEvent* aodIn, AliAODRecoDecayHF4Prong* d, Int_t hyp01, Int_t hyp02, Int_t hyp03, Int_t hyp04);
52  Int_t StudyMCTruth(TClonesArray* mcArray, AliAODRecoDecayHF4Prong* d);
53  void FillReflHistos(AliAODRecoDecayHF4Prong* d, Int_t hyp01, Int_t hyp02, Int_t hyp03, Int_t hyp04, Int_t flagLayer1, Int_t flagLayer2, Int_t flagLayer3, Int_t flagLayer4);
54  void FillReflD0Histos(AliAODRecoDecayHF4Prong* d, Int_t hyp01, Int_t hyp02, Int_t hyp03, Int_t hyp04, Int_t flagLayforD0_1, Int_t flagLayforD0_2, Int_t flagLayforD0_3, Int_t flagLayforD0_4);
55  void FillReflD0barHistos(AliAODRecoDecayHF4Prong* d, Int_t hyp01, Int_t hyp02, Int_t hyp03, Int_t hyp04, Int_t flagLayforD0bar_1, Int_t flagLayforD0bar_2, Int_t flagLayforD0bar_3, Int_t flagLayforD0bar_4);
56 
57  private:
58 
61  TClonesArray *fVerticesHFTClArr;
62  TClonesArray *fCharm4ProngTClArr;
63 
69 
76 
77  //output histograms
84 
91 
98 
105 
112 
128 
132 
134  TH1F *fCutDCA;
135  TH1F *fCutDCA3;
136  TH1F *fCutDCA2;
137  TH1F *fCutDCA5;
142  TH1F *fCutPt;
143  TH1F *fCutY;
144  TH1F *fPIDSel;
145  TH1F *fPIDSelBin1;
146  TH1F *fPIDSelBin2;
147  TH1F *fPIDSelBin3;
148  TH1F *fPIDSelBin4;
149  TH1F *fPIDSelBin5;
152 
153  TH1F *fPtSel;
154 
156 
158  ClassDef(AliAnalysisTaskSESelectHF4Prong,2);
159 };
161 
162 #endif
163 
void FillReflHistos(AliAODRecoDecayHF4Prong *d, Int_t hyp01, Int_t hyp02, Int_t hyp03, Int_t hyp04, Int_t flagLayer1, Int_t flagLayer2, Int_t flagLayer3, Int_t flagLayer4)
virtual void UserCreateOutputObjects()
Implementation of interface methods.
TH1F * fCutCosinePoint
! Cosine of pointing angle
TH1F * fhInvMassD0barSum10MevBin5
! Invariant mass D0bar1+D0bar2 (good hyp) 10Mev
TH1F * fhInvMassSumAll5MevBin5
! Invariant mass superimpose (good hyp only) 5Mev
double Double_t
Definition: External.C:58
TH1F * fhInvMassSumAll10MevBin3
! Invariant mass superimpose (good hyp only) 10Mev
Definition: External.C:236
TH1F * fCutVertexDist2
! Vertex doubl. to primary distance
TH1F * fhInvMassD0barSum10MevBin1
! Invariant mass D0bar1+D0bar2 (good hyp) 10Mev
TH1F * fhInvMassD0Sum5MevBin3
! Invariant mass D01+D02 (good hyp) 5Mev
TH1F * fhInvMassD0Sum10MevBin5
! Invariant mass D01+D02 (good hyp) 10Mev BIN5
TH1F * fhInvMassSumAll10MevBin2
! Invariant mass superimpose (good hyp only) 10Mev
TH1F * fhInvMassD0Sum10MevBin3
! Invariant mass D01+D02 (good hyp) 10Mev BIN3
TH2F * fhReflD0Bin4
! Analysis for reflection - D0 study - Bin4
Double_t fmassD0bar[2]
!To store invariant mass for D0bar hypotheses
TH1F * fhInvMassD0barSum10MevBin2
! Invariant mass D0bar1+D0bar2 (good hyp) 10Mev
TList * fOutput4
! list send on output slot 4
void AnalysisReflection(AliAODEvent *aodIn, AliAODRecoDecayHF4Prong *d, Int_t hyp01, Int_t hyp02, Int_t hyp03, Int_t hyp04)
TH1F * fhInvMassD0Sum10MevBin4
! Invariant mass D01+D02 (good hyp) 10Mev BIN4
TH1F * fPtSel
! Pt of selected candidates
TList * fOutputC
! list send on output slot 6
TList * fOutput3
! list send on output slot 3
TH1F * fhInvMassD0Sum5MevBin4
! Invariant mass D01+D02 (good hyp) 5Mev
TH1F * fhInvMassD0Sum10MevBin2
! Invariant mass D01+D02 (good hyp) 10Mev BIN2
TH1F * fhInvMassD0barSum5MevBin4
! Invariant mass D0bar1+D0bar2 (good hyp) 5Mev
TH2F * fMultipleHypsType
! Multiple hypotesis accepted counter
TH1F * fhInvMassD0Sum10MevBin1
! Invariant mass D01+D02 (good hyp) 10Mev BIN1
int Int_t
Definition: External.C:63
Double_t fmassD0[2]
bin i has pt between values i and i+1
TList * fOutput2
! list send on output slot 2
TH1F * fCutVertexDist3
! Vertex trips to primary distance
TH1F * fhInvMassD0barSum5MevBin2
! Invariant mass D0bar1+D0bar2 (good hyp) 5Mev
TH2F * fhReflD0barBin3
! Analysis for reflection - D0bar study - Bin3
TH2F * fPtVsY
! Pt vs Y of selected candidates (by PPR cuts)
TH2F * fhReflD0Bin2
! Analysis for reflection - D0 study - Bin2
Int_t fSelected
!Flag for selection of candidate
TH1F * fhInvMassD0Sum5MevBin5
! Invariant mass D01+D02 (good hyp) 5Mev
TH2F * fhReflD0Bin3
! Analysis for reflection - D0 study - Bin3
TH1F * fhInvMassSumAll5MevBin1
! Invariant mass superimpose (good hyp only) 5Mev
TH1F * fhInvMassSumAll5MevBin2
! Invariant mass superimpose (good hyp only) 5Mev
TH1F * fhInvMassD0barSum10MevBin4
! Invariant mass D0bar1+D0bar2 (good hyp) 10Mev
Int_t StudyMCTruth(TClonesArray *mcArray, AliAODRecoDecayHF4Prong *d)
TH2F * fMultipleHyps
! Multiple hypotesis accepted counter
TH1F * fhInvMassD0Sum5MevBin2
! Invariant mass D01+D02 (good hyp) 5Mev
TH2F * fhReflD0barBin1
! Analysis for reflection - D0bar study - Bin1
TH2F * fhReflD0Bin5
! Analysis for reflection - D0 study - Bin5
void FillReflD0barHistos(AliAODRecoDecayHF4Prong *d, Int_t hyp01, Int_t hyp02, Int_t hyp03, Int_t hyp04, Int_t flagLayforD0bar_1, Int_t flagLayforD0bar_2, Int_t flagLayforD0bar_3, Int_t flagLayforD0bar_4)
TH1F * fhInvMassSumAll5MevBin4
! Invariant mass superimpose (good hyp only) 5Mev
TH2F * fhReflBin5
! Analysis for reflection - Bin5
TH1F * fhInvMassSumAll10MevBin1
! Invariant mass superimpose (good hyp only) 10Mev
AliAnalysisTaskSESelectHF4Prong & operator=(const AliAnalysisTaskSESelectHF4Prong &source)
TH2F * fhReflD0barBin5
! Analysis for reflection - D0bar study - Bin5
TList * fOutput5
! list send on output slot 5
TClonesArray * fVerticesHFTClArr
! Array of heavy-flavour vertices
TH2F * fhReflBin2
! Analysis for reflection - Bin2
TH1F * fhInvMassD0barSum10MevBin3
! Invariant mass D0bar1+D0bar2 (good hyp) 10Mev
TH2F * fhReflBin3
! Analysis for reflection - Bin3
TH1F * fhInvMassSumAll10MevBin4
! Invariant mass superimpose (good hyp only) 10Mev
TH1F * fhInvMassSumAll5MevBin3
! Invariant mass superimpose (good hyp only) 5Mev
TH2F * fhReflD0Bin1
! Analysis for reflection - D0 study - Bin1
TH2F * fPtVsYAll
! Pt vs Y of all candidates
void FillReflD0Histos(AliAODRecoDecayHF4Prong *d, Int_t hyp01, Int_t hyp02, Int_t hyp03, Int_t hyp04, Int_t flagLayforD0_1, Int_t flagLayforD0_2, Int_t flagLayforD0_3, Int_t flagLayforD0_4)
TH1F * fhInvMassD0barSum5MevBin3
! Invariant mass D0bar1+D0bar2 (good hyp) 5Mev
TH1F * fhInvMassD0Sum5MevBin1
! Invariant mass D01+D02 (good hyp) 5Mev
TH1F * fhInvMassSumAll10MevBin5
! Invariant mass superimpose (good hyp only) 10Mev
TH2F * fhReflBin4
! Analysis for reflection - Bin4
TH1F * fhInvMassD0barSum5MevBin5
! Invariant mass D0bar1+D0bar2 (good hyp) 5Mev
const char Option_t
Definition: External.C:48
TList * fOutput
flag for MC truth analysis
TH2F * fhReflD0barBin2
! Analysis for reflection - D0bar study - Bin2
TH2F * fhReflBin1
! Analysis for reflection - Bin1
TH1F * fCutVertexDist4
! Vertex quads to primary distance
TH1F * fhInvMassD0barSum5MevBin1
! Invariant mass D0bar1+D0bar2 (good hyp) 5Mev
TClonesArray * fCharm4ProngTClArr
! Array of D0->K3pi
TH2F * fScatterP4PID
! K momentum vs like sign Pi momentum after PID
TH2F * fhReflD0barBin4
! Analysis for reflection - D0bar study - Bin4