AliPhysics  0937c79 (0937c79)
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>
33 #include "AliAODVertex.h"
34 
35 #include "AliAnalysisTaskSE.h"
36 
38 // class AliNormalizationCounter;
39 
41 {
42 
43  public:
44 
48 
50  virtual void UserCreateOutputObjects();
51  virtual void Init();
52  virtual void LocalInit() {Init();}
53  virtual void UserExec(Option_t *option);
54  virtual void Terminate(Option_t *option);
55 
57  void DefineHistograms();
58 
60  void B0toDStarPiSignalTracksInMC(TClonesArray * mcTrackArray,AliAODEvent* aodevent,TMatrix * B0toDStarPiLabelMatrix, TList *listout);
61  void DStarPionSelection(AliAODEvent* aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix);
62  void B0PionSelection(AliAODEvent* aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix);
63  void D0Selection(AliAODEvent* aodEvent, AliAODVertex *primaryVertex, Double_t bz,TClonesArray * mcTrackArray,TMatrix * B0toDStarPiLabelMatrix, TClonesArray * D0TracksFromFriendFile);
64  void DStarAndB0Selection(AliAODEvent* aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray * mcTrackArray, TMatrix * B0toDStarPiLabelMatrix, TClonesArray * D0TracksFromFriendFile);
65 
66  AliAODVertex* RecalculateVertex(const AliVVertex *primary,TObjArray *tracks,Double_t bField, Double_t dispersion);
67  void FillFinalTrackHistograms(AliAODRecoDecayHF2Prong * trackB0, Bool_t isDesiredCandidate,TClonesArray * mcTrackArray);
68 
69  void FillD0Histograms(AliAODRecoDecayHF2Prong * selectedMother, AliAODVertex *primaryVertex, Double_t bz, Int_t motherType, Int_t histType, Int_t pdgCodeMother = -1);
70  void FillDStarAndB0Histograms(AliAODRecoDecayHF2Prong * selectedMother, AliAODVertex *primaryVertex, Double_t bz, Int_t motherType, Int_t histType);
71  Int_t MatchCandidateToMonteCarlo(Int_t pdgabs, AliAODRecoDecayHF2Prong * candidate, TClonesArray *mcArray, TMatrix * B0toDStarPiLabelMatrix) const;
72 
74  void SetMC(Bool_t bUseMCInfo) {fUseMCInfo = bUseMCInfo;}
75  Bool_t GetMC() const {return fUseMCInfo;}
76 
79 
81  void SetGetCutInfo(Bool_t value){fGetCutInfo = value;}
82 
83  void SetShowMask(Bool_t bShowMask) {fShowMask = bShowMask;}
84  Bool_t GetShowMask() const {return fShowMask;}
85 
86  void SetShowRejection(Bool_t bShowRejection) {fShowRejection = bShowRejection;}
88 
89  private:
90 
93 
95  Bool_t fUseMCInfo; // Use MC info
100 
114 
115  AliRDHFCutsB0toDStarPi *fCuts; // Cuts - sent to output
116 
117  TH1F *fCEvents;
118 
119  std::vector<Int_t> * fDStarPionTracks;
120  std::vector<Int_t> * fB0PionTracks;
121  std::vector<Int_t> * fD0Tracks;
122 
135 
136 
137  TH1F* fDaughterHistogramArray[4][6][15];
140  TH1F* fMotherHistogramArray[6][50][46];
143 
145  ClassDef(AliAnalysisTaskSEB0toDStarPi,3); // class for B0 spectra
147 };
148 
149 #endif
150 
void FillD0Histograms(AliAODRecoDecayHF2Prong *selectedMother, AliAODVertex *primaryVertex, Double_t bz, Int_t motherType, Int_t histType, Int_t pdgCodeMother=-1)
double Double_t
Definition: External.C:58
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
Int_t MatchCandidateToMonteCarlo(Int_t pdgabs, AliAODRecoDecayHF2Prong *candidate, TClonesArray *mcArray, TMatrix *B0toDStarPiLabelMatrix) const
Double_t DeltaInvMassB0Kpipipi(AliAODRecoDecayHF2Prong *B0) const
void SetMC(Bool_t bUseMCInfo)
set MC usage
virtual void UserCreateOutputObjects()
Implementation of interface methods.
TH1F * fDaughterHistogramArray[4][6][15]
[fnPtBinsDStarforDStarptbinLimits]
void D0Selection(AliAODEvent *aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix, TClonesArray *D0TracksFromFriendFile)
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
void DStarAndB0Selection(AliAODEvent *aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix, TClonesArray *D0TracksFromFriendFile)
virtual void UserExec(Option_t *option)
void B0PionSelection(AliAODEvent *aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix)
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]
bool Bool_t
Definition: External.C:53
void DStarPionSelection(AliAODEvent *aodEvent, AliAODVertex *primaryVertex, Double_t bz, TClonesArray *mcTrackArray, TMatrix *B0toDStarPiLabelMatrix)