AliPhysics  b555aef (b555aef)
AliAnalysisTaskSEB0toDStarPi.h
Go to the documentation of this file.
1 #ifndef AliAnalysisTaskSEB0toDStarPi_H
2 #define AliAnalysisTaskSEB0toDStarPi_H
3 /**************************************************************************
4  * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5  * *
6  * Author: The ALICE Off-line Project. *
7  * Contributors are mentioned in the code where appropriate. *
8  * *
9  * Permission to use, copy, modify and distribute this software and its *
10  * documentation strictly for non-commercial purposes is hereby granted *
11  * without fee, provided that the above copyright notice appears in all *
12  * copies and that both the copyright notice and this permission notice *
13  * appear in the supporting documentation. The authors make no claims *
14  * about the suitability of this software for any purpose. It is *
15  * provided "as is" without express or implied warranty. *
16  **************************************************************************/
17 
18 /* $Id$ */
19 
21 
22 #include <TH2F.h>
23 #include <TH3F.h>
24 #include <THnSparse.h>
25 #include <vector>
26 #include "AliAODRecoCascadeHF.h"
27 #include "AliAODVertex.h"
28 
29 #include "AliAnalysisTaskSE.h"
30 
33 
35 {
36 
37  public:
38 
42 
44  virtual void UserCreateOutputObjects();
45  virtual void Init();
46  virtual void LocalInit() {Init();}
47  virtual void UserExec(Option_t *option);
48  virtual void Terminate(Option_t *option);
49 
50  // histos
51  void DefineHistograms();
52 
53  //selection and reconstruction
54  void B0toDStarPiSignalTracksInMC(TClonesArray * mcTrackArray,AliAODEvent* aodevent,TMatrix * B0toDStarPiLabelMatrix, TList *listout);
55  void D0PionSelection(AliAODEvent* aodEvent,TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix);
56  void D0KaonSelection(AliAODEvent* aodEvent,TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix);
57  void DStarPionSelection(AliAODEvent* aodEvent,TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix);
58  void B0PionSelection(AliAODEvent* aodEvent,TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix);
59  void D0Selection(AliAODEvent* aodEvent, AliAODVertex *primaryVertex, Double_t bz,TClonesArray * mcTrackArray,TMatrix * B0toDStarPiLabelMatrix);
60  void DStarAndB0Selection(AliAODEvent* aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix);
61 
62  AliAODVertex* RecalculateVertex(const AliVVertex *primary,TObjArray *tracks,Double_t bField, Int_t finderAlgorithm = 1);
63  void FillFinalTrackHistograms(AliAODRecoCascadeHF * motherCascadeHF, Bool_t isDesiredCandidate,TClonesArray * mcTrackArray);
64 
65  void FillD0Histograms(AliAODRecoDecayHF2Prong * selectedMother, AliAODVertex *primaryVertex, Double_t bz, Int_t motherType, Int_t histType);
66  void FillCascadeMotherHistograms(AliAODRecoCascadeHF * selectedMother, AliAODVertex *primaryVertex, Double_t bz, Int_t motherType, Int_t histType);
67 
68  // set MC usage
69  void SetMC(Bool_t bUseMCInfo) {fUseMCInfo = bUseMCInfo;}
70  Bool_t GetMC() const {return fUseMCInfo;}
71 
74 
76  void SetGetCutInfo(Bool_t value){fGetCutInfo = value;}
77 
78  private:
79 
82 
85 
98 
99 
101 
102  TH1F *fCEvents;
103 
105 
106  std::vector<Int_t> * fD0PionTracks;
107  std::vector<Int_t> * fD0KaonTracks;
108  std::vector<Int_t> * fDStarPionTracks;
109  std::vector<Int_t> * fB0PionTracks;
110  TClonesArray *fD0Tracks;
111  TClonesArray *fDStarTracks;
112  TClonesArray *fB0Tracks;
113 
114 
117  Float_t * fPtBinLimits; //[fnPtBinLimits]
120  Float_t * fPtBinLimitsD0forD0ptbin; //[fnPtBinsD0forD0ptbinLimits]
123  Float_t * fPtBinLimitsD0forDStarptbin; //[fnPtBinsD0forDStarptbinLimits]
126  Float_t * fPtBinLimitsDStarforDStarptbin; //[fnPtBinsDStarforDStarptbinLimits]
127 
132 
135 
137  ClassDef(AliAnalysisTaskSEB0toDStarPi,1);
138 };
140 
141 #endif
142 
Double_t DeltaInvMassB0Kpipipi(AliAODRecoCascadeHF *B0) const
double Double_t
Definition: External.C:58
Double_t DeltaInvMassDStarKpipi(AliAODRecoCascadeHF *DStar) const
AliAODVertex * RecalculateVertex(const AliVVertex *primary, TObjArray *tracks, Double_t bField, Int_t finderAlgorithm=1)
virtual void Terminate(Option_t *option)
void D0Selection(AliAODEvent *aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix)
Double_t bz
char Char_t
Definition: External.C:18
void D0PionSelection(AliAODEvent *aodEvent, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix)
AliNormalizationCounter * fCounter
!Counter for normalization slot 4
void FillD0Histograms(AliAODRecoDecayHF2Prong *selectedMother, AliAODVertex *primaryVertex, Double_t bz, Int_t motherType, Int_t histType)
void FillCascadeMotherHistograms(AliAODRecoCascadeHF *selectedMother, AliAODVertex *primaryVertex, Double_t bz, Int_t motherType, Int_t histType)
void D0KaonSelection(AliAODEvent *aodEvent, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix)
virtual void UserCreateOutputObjects()
Implementation of interface methods.
int Int_t
Definition: External.C:63
float Float_t
Definition: External.C:68
void B0toDStarPiSignalTracksInMC(TClonesArray *mcTrackArray, AliAODEvent *aodevent, TMatrix *B0toDStarPiLabelMatrix, TList *listout)
virtual void UserExec(Option_t *option)
void B0PionSelection(AliAODEvent *aodEvent, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix)
void FillFinalTrackHistograms(AliAODRecoCascadeHF *motherCascadeHF, Bool_t isDesiredCandidate, TClonesArray *mcTrackArray)
TH1F * fCEvents
Cuts - sent to output slot 3.
AliAnalysisTaskSEB0toDStarPi & operator=(const AliAnalysisTaskSEB0toDStarPi &source)
void DStarPionSelection(AliAODEvent *aodEvent, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix)
void DStarAndB0Selection(AliAODEvent *aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix)
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53