AliPhysics  3b4a69f (3b4a69f)
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 // Author Lennart van Doremalen
19 // Utrecht University - l.v.r.vandoremalen@uu.nl
20 //
21 // Several AliPhysics classes have been used as a basis for this code
22 //
24 
25 
26 /* $Id$ */
27 
29 
30 
31 #include <vector>
32 #include <TH3F.h>
34 #include "AliAODVertex.h"
35 #include "AliAODMCHeader.h"
36 
37 #include "AliAnalysisTaskSE.h"
38 
40 // class AliNormalizationCounter;
41 
43 {
44 
45  public:
46 
50 
52  virtual void UserCreateOutputObjects();
53  virtual void Init();
54  virtual void LocalInit() {Init();}
55  virtual void UserExec(Option_t *option);
56  virtual void Terminate(Option_t *option);
57 
59  void DefineHistograms();
60 
62  void B0toDStarPiSignalTracksInMC(TClonesArray * mcTrackArray,AliAODEvent* aodevent,TMatrix * B0toDStarPiLabelMatrix, TList *listout);
63  Bool_t D0FirstDaughterSelection(AliAODTrack* aodTrack, AliAODVertex *primaryVertex, Double_t bz, TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix, AliAODMCHeader * header);
64  Bool_t D0SecondDaughterSelection(AliAODTrack* aodTrack, AliAODVertex *primaryVertex, Double_t bz, TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix, AliAODMCHeader * header);
65  void DStarPionSelection(AliAODEvent* aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix, AliAODMCHeader * header);
66  void B0PionSelection(AliAODEvent* aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix, AliAODMCHeader * header);
67  void D0Selection(AliAODEvent* aodEvent, AliAODVertex *primaryVertex, Double_t bz,TClonesArray * mcTrackArray,TMatrix * B0toDStarPiLabelMatrix, TClonesArray * D0TracksFromFriendFile, AliAODMCHeader * header);
68  void DStarAndB0Selection(AliAODEvent* aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix, TClonesArray * D0TracksFromFriendFile, AliAODMCHeader * header);
69  Int_t IsTrackInjected(AliAODTrack *part,AliAODMCHeader *header,TClonesArray *arrayMC);
70  Bool_t IsCandidateInjected(AliAODRecoDecayHF2Prong *part, AliAODMCHeader *header,TClonesArray *arrayMC);
71 
72  AliAODVertex* RecalculateVertex(const AliVVertex *primary,TObjArray *tracks,Double_t bField, Double_t dispersion);
73  void FillFinalTrackHistograms(AliAODRecoDecayHF2Prong * trackB0, Bool_t isDesiredCandidate,TClonesArray * mcTrackArray);
74 
75  void FillD0Histograms(AliAODRecoDecayHF2Prong * selectedMother, AliAODVertex *primaryVertex, Double_t bz, Int_t motherType, Int_t histType, Int_t pdgCodeMother = -1);
76  void FillDStarAndB0Histograms(AliAODRecoDecayHF2Prong * selectedMother, AliAODVertex *primaryVertex, Double_t bz, Int_t motherType, Int_t histType);
77  Int_t MatchCandidateToMonteCarlo(Int_t pdgabs, AliAODRecoDecayHF2Prong * candidate, TClonesArray *mcArray, TMatrix * B0toDStarPiLabelMatrix) const;
78 
80  void SetMC(Bool_t bUseMCInfo) {fUseMCInfo = bUseMCInfo;}
81  Bool_t GetMC() const {return fUseMCInfo;}
82 
85 
87  void SetGetCutInfo(Bool_t value){fGetCutInfo = value;}
88 
89  void SetShowMask(Bool_t bShowMask) {fShowMask = bShowMask;}
90  Bool_t GetShowMask() const {return fShowMask;}
91 
92  void SetShowRejection(Bool_t bShowRejection) {fShowRejection = bShowRejection;}
94 
95  void SetUse3DHistograms(Bool_t bUse3DHistograms) {fUse3DHistograms = bUse3DHistograms;}
97 
98  void SetUpgradeSetting(Int_t nUpgradeSetting) {fUpgradeSetting = nUpgradeSetting;}
100 
103 
106 
109 
112 
113  void SetCheckInjected(Bool_t value) {fCheckInjected = value;}
115 
116  void SetRemoveInjected(Int_t value) {fRemoveInjected = value;}
118 
119  private:
120 
123 
125  Bool_t fUseMCInfo; // Use MC info
138 
152 
153  AliRDHFCutsB0toDStarPi *fCuts; // Cuts - sent to output
154 
155  TH1F *fCEvents;
156 
157  std::vector<Int_t> * fDStarPionTracks;
158  std::vector<Int_t> * fB0PionTracks;
159  std::vector<Int_t> * fD0Tracks;
160 
173 
174 
175  TH1F* fDaughterHistogramArray[4][6][15];
178  TH1F* fMotherHistogramArray[6][500][60];
182 
184  ClassDef(AliAnalysisTaskSEB0toDStarPi,6); // class for B0 spectra
186 };
187 
188 #endif
189 
void FillD0Histograms(AliAODRecoDecayHF2Prong *selectedMother, AliAODVertex *primaryVertex, Double_t bz, Int_t motherType, Int_t histType, Int_t pdgCodeMother=-1)
void SetUpgradeSetting(Int_t nUpgradeSetting)
Bool_t D0SecondDaughterSelection(AliAODTrack *aodTrack, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix, AliAODMCHeader *header)
double Double_t
Definition: External.C:58
Definition: External.C:260
Int_t fnPtBinsD0forDStarptbin
[fnPtBinsD0forD0ptbinLimits]
Definition: External.C:236
void FillDStarAndB0Histograms(AliAODRecoDecayHF2Prong *selectedMother, AliAODVertex *primaryVertex, Double_t bz, Int_t motherType, Int_t histType)
virtual void Terminate(Option_t *option)
Double_t bz
char Char_t
Definition: External.C:18
void D0Selection(AliAODEvent *aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix, TClonesArray *D0TracksFromFriendFile, AliAODMCHeader *header)
Int_t MatchCandidateToMonteCarlo(Int_t pdgabs, AliAODRecoDecayHF2Prong *candidate, TClonesArray *mcArray, TMatrix *B0toDStarPiLabelMatrix) const
Double_t DeltaInvMassB0Kpipipi(AliAODRecoDecayHF2Prong *B0) const
void B0PionSelection(AliAODEvent *aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix, AliAODMCHeader *header)
void DStarAndB0Selection(AliAODEvent *aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix, TClonesArray *D0TracksFromFriendFile, AliAODMCHeader *header)
void SetMC(Bool_t bUseMCInfo)
set MC usage
virtual void UserCreateOutputObjects()
Implementation of interface methods.
TH1F * fDaughterHistogramArray[4][6][15]
[fnPtBinsDStarforDStarptbinLimits]
void DStarPionSelection(AliAODEvent *aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix, AliAODMCHeader *header)
int Int_t
Definition: External.C:63
float Float_t
Definition: External.C:68
void B0toDStarPiSignalTracksInMC(TClonesArray *mcTrackArray, AliAODEvent *aodevent, TMatrix *B0toDStarPiLabelMatrix, TList *listout)
selection and reconstruction
Bool_t IsCandidateInjected(AliAODRecoDecayHF2Prong *part, AliAODMCHeader *header, TClonesArray *arrayMC)
virtual void UserExec(Option_t *option)
Bool_t D0FirstDaughterSelection(AliAODTrack *aodTrack, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix, AliAODMCHeader *header)
void FillFinalTrackHistograms(AliAODRecoDecayHF2Prong *trackB0, Bool_t isDesiredCandidate, TClonesArray *mcTrackArray)
AliAODVertex * RecalculateVertex(const AliVVertex *primary, TObjArray *tracks, Double_t bField, Double_t dispersion)
AliAnalysisTaskSEB0toDStarPi & operator=(const AliAnalysisTaskSEB0toDStarPi &source)
void SetShowRejection(Bool_t bShowRejection)
Double_t DeltaInvMassDStarKpipi(AliAODRecoDecayHF2Prong *DStar) const
const char Option_t
Definition: External.C:48
Int_t fnPtBinsDStarforDStarptbin
[fnPtBinsD0forDStarptbinLimits]
void SetUse3DHistograms(Bool_t bUse3DHistograms)
bool Bool_t
Definition: External.C:53
Int_t IsTrackInjected(AliAODTrack *part, AliAODMCHeader *header, TClonesArray *arrayMC)