AliPhysics  9b6b435 (9b6b435)
AliAnalysisTaskSEXicZero2XiPifromAODtracks.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKSEXICZERO2XIPIFROMAODTRACKS_H
2 #define ALIANALYSISTASKSEXICZERO2XIPIFROMAODTRACKS_H
3 
4 /**************************************************************************
5  * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
6  * *
7  * Author: The ALICE Off-line Project. *
8  * Contributors are mentioned in the code where appropriate. *
9  * *
10  * Permission to use, copy, modify and distribute this software and its *
11  * documentation strictly for non-commercial purposes is hereby granted *
12  * without fee, provided that the above copyright notice appears in all *
13  * copies and that both the copyright notice and this permission notice *
14  * appear in the supporting documentation. The authors make no claims *
15  * about the suitability of this software for any purpose. It is *
16  * provided "as is" without express or implied warranty. *
17  **************************************************************************/
18 
19 /* $Id$ */
20 
21 #include "TROOT.h"
22 #include "TSystem.h"
23 
24 #include "AliAnalysisTaskSE.h"
25 #include "AliAODEvent.h"
26 #include "AliPID.h"
28 
30 
31 class THnSparse;
32 class TH1F;
33 class TH2F;
34 class TClonesArray;
35 class AliAODPidHF;
36 class AliESDtrackCuts;
37 class AliESDVertex;
38 class AliAODMCParticle;
39 
41 {
42  public:
46 
48  virtual void UserCreateOutputObjects();
49  virtual void Init();
50  virtual void LocalInit() {Init();}
51  virtual void UserExec(Option_t *option);
52  virtual void Terminate(Option_t *option);
53 
54  void FillROOTObjects(AliAODRecoCascadeHF *xicobj, AliAODcascade *casc, AliAODTrack *part1, AliAODMCParticle *mcpart, AliAODMCParticle *mcdaughter1, AliAODMCParticle *mcdaughterxi, Int_t mcnused, Bool_t isXiC);
55  void MakeAnalysis(AliAODEvent *aod, TClonesArray *mcArray);
56 
57 
59  void SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;}
60  Bool_t GetMC() const {return fUseMCInfo;}
61  void SetFillSignalOnly(Bool_t signalOnly) {fFillSignalOnly = signalOnly;}
63  void SetFillBkgOnly(Bool_t bkgOnly) {fFillBkgOnly = bkgOnly;}
65 
67  void SelectCascade( const AliVEvent *event,Int_t nCascades,Int_t &nSeleCasc, Bool_t *seleCascFlags);
68  void SelectTrack( const AliVEvent *event, Int_t trkEntries, Int_t &nSeleTrks,Bool_t *seleFlags);
69 
70  AliAODRecoCascadeHF* MakeCascadeHF(AliAODcascade *casc, AliAODTrack *trk, AliAODEvent *aod, AliAODVertex *vert);
71  AliAODVertex* ReconstructSecondaryVertex(AliAODcascade *casc, AliAODTrack *trk, AliAODEvent *aod);
72 
73 
74  private:
75 
78 
79  //Da modificare
80  void DefineTreeVariables();
82 
83  //Da modificare
84  // void DefineAnalysisHistograms();
85 
86  AliAODVertex *CallPrimaryVertex(AliAODcascade *casc, AliAODTrack *trk, AliAODEvent *evt);
87  AliAODVertex* PrimaryVertex(const TObjArray *trkArray,AliVEvent *event);
88 
89  Int_t MatchtoMC(AliAODRecoCascadeHF *exobj, Int_t pdgabs, Int_t pdgabscasc, Int_t *pdgDg,Int_t *pdgDgcasc,Int_t *pdgDgv0, TClonesArray *mcArray);
90  Int_t MatchToMCCascade(AliAODcascade *theCascade, Int_t pdgabscasc, Int_t *pdgDgcasc, Int_t *pdgDgv0, TClonesArray *mcArray);
91  Int_t MatchToMCXicZero(Int_t pdgabs,TClonesArray *mcArray, Int_t dgLabels[10],Int_t ndg,Int_t ndgCk, const Int_t *pdgDg);
92 
99  TH1F *fCEvents;
100  TH1F *fHTrigger;
101  TH1F *fHCentrality;
113  AliAODVertex *fVtx1;
114  AliESDVertex *fV1;
118 
119  //--------------------- My histograms ------------------
120  THnSparse* fHistoXicMass;
121 
123 
124  TH1F* fHistoXiMass;
132  TH1F* fHistoXiPt;
133 
134  TH1F* fHistoPiPt;
135  TH1F* fHistoPid0;
139 
142 
143 
151 
154 };
156 #endif
157 
Int_t MatchToMCCascade(AliAODcascade *theCascade, Int_t pdgabscasc, Int_t *pdgDgcasc, Int_t *pdgDgv0, TClonesArray *mcArray)
double Double_t
Definition: External.C:58
Definition: External.C:236
AliRDHFCutsXicZerotoXiPifromAODtracks * fAnalCuts
histogram to check centrality
void FillROOTObjects(AliAODRecoCascadeHF *xicobj, AliAODcascade *casc, AliAODTrack *part1, AliAODMCParticle *mcpart, AliAODMCParticle *mcdaughter1, AliAODMCParticle *mcdaughterxi, Int_t mcnused, Bool_t isXiC)
char Char_t
Definition: External.C:18
TH1F * fHistoCascDcaNegToPrimVertex
! DCA of negative track to primary vertex
TH1F * fHistoCascDcaPosToPrimVertex
! DCA of positive track to primary vertex
AliAnalysisTaskSEXicZero2XiPifromAODtracks & operator=(const AliAnalysisTaskSEXicZero2XiPifromAODtracks &source)
int Int_t
Definition: External.C:63
AliAODVertex * CallPrimaryVertex(AliAODcascade *casc, AliAODTrack *trk, AliAODEvent *evt)
float Float_t
Definition: External.C:68
void SelectTrack(const AliVEvent *event, Int_t trkEntries, Int_t &nSeleTrks, Bool_t *seleFlags)
void SelectCascade(const AliVEvent *event, Int_t nCascades, Int_t &nSeleCasc, Bool_t *seleCascFlags)
AliAODVertex * ReconstructSecondaryVertex(AliAODcascade *casc, AliAODTrack *trk, AliAODEvent *aod)
virtual void UserCreateOutputObjects()
Implementation of interface methods.
AliAODRecoCascadeHF * MakeCascadeHF(AliAODcascade *casc, AliAODTrack *trk, AliAODEvent *aod, AliAODVertex *vert)
TTree * fVariablesTree
flag to decide whether to write the candidate variables on a tree variables
TH1F * fHistoCascDcaBachToPrimVertex
! DCA of bachelor track to primary vertex
const char Option_t
Definition: External.C:48
Bool_t fIsMB
Reconstruct primary vertex excluding candidate tracks.
bool Bool_t
Definition: External.C:53
AliAODVertex * PrimaryVertex(const TObjArray *trkArray, AliVEvent *event)
TH1F * fHistoCascCosPAXiPrim
! Cosine pointing angle of Xi to primary vertex
Int_t MatchToMCXicZero(Int_t pdgabs, TClonesArray *mcArray, Int_t dgLabels[10], Int_t ndg, Int_t ndgCk, const Int_t *pdgDg)
Int_t MatchtoMC(AliAODRecoCascadeHF *exobj, Int_t pdgabs, Int_t pdgabscasc, Int_t *pdgDg, Int_t *pdgDgcasc, Int_t *pdgDgv0, TClonesArray *mcArray)
TList * fOutputAll
! User output slot 3 // Analysis histos