AliPhysics  9b6b435 (9b6b435)
AliAnalysisTaskSEXicPlus2XiPiPifromAODtracks.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKSEXICPLUS2XIPIPIFROMAODTRACKS_H
2 #define ALIANALYSISTASKSEXICPLUS2XIPIPIFROMAODTRACKS_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;
36 class AliAODPidHF;
37 class AliESDtrackCuts;
38 class AliESDVertex;
39 class AliAODMCParticle;
40 
42 {
43  public:
47 
49  virtual void UserCreateOutputObjects();
50  virtual void Init();
51  virtual void LocalInit() {Init();}
52  virtual void UserExec(Option_t *option);
53  virtual void Terminate(Option_t *option);
54 
55  void FillROOTObjects(AliAODRecoCascadeHF3Prong *xicobj, AliAODMCParticle *mcpart, AliAODMCParticle *mcdau1, AliAODMCParticle *mcdau2, AliAODMCParticle *mcdauxi, Int_t mcnused, Bool_t isXiC);
56  void MakeAnalysis(AliAODEvent *aod, TClonesArray *mcArray);
57 
58 
60  void SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;}
61  Bool_t GetMC() const {return fUseMCInfo;}
62  void SetFillSignalOnly(Bool_t signalOnly) {fFillSignalOnly = signalOnly;}
64  void SetFillBkgOnly(Bool_t bkgOnly) {fFillBkgOnly = bkgOnly;}
66 
68  void SelectCascade( const AliVEvent *event,Int_t nCascades,Int_t &nSeleCasc, Bool_t *seleCascFlags);
69  void SelectTrack( const AliVEvent *event, Int_t trkEntries, Int_t &nSeleTrks,Bool_t *seleFlags);
70  Bool_t SelectLikeSign(AliAODTrack *trk1, AliAODTrack *trk2);
71  AliAODRecoCascadeHF3Prong* MakeCascadeHF3Prong(AliAODcascade *casc, AliAODTrack *trk1, AliAODTrack *trk2, AliAODEvent *aod, AliAODVertex *secvert, Double_t dispersion);
72 
73  private:
74 
77 
78  void DefineTreeVariables();
81 
82  AliAODVertex *CallPrimaryVertex(AliAODcascade *casc, AliAODTrack *trk1, AliAODTrack *trk2, AliAODEvent *evt);
83  AliAODVertex* PrimaryVertex(const TObjArray *trkArray,AliVEvent *event);
84  AliAODVertex* CallReconstructSecondaryVertex(AliAODTrack *trk1, AliAODTrack *trk2,Double_t &disp);
85  AliAODVertex* ReconstructSecondaryVertex(TObjArray *trkArray, Double_t &dispersion,Bool_t useTRefArray=kTRUE);
86 
93  TH1F *fCEvents;
94  TH1F *fHTrigger;
95  TH1F *fHCentrality;
107  AliAODVertex *fVtx1;
108  AliESDVertex *fV1;
112 
113  //--------------------- My histograms ------------------
114  THnSparse* fHistoXicMass;
115 
121 
122  TH1F* fHistoXiMass;
130  TH1F* fHistoXiPt;
131 
132  TH1F* fHistoPiPt;
133  TH1F* fHistoPid0;
137 
145 
148 };
150 #endif
151 
double Double_t
Definition: External.C:58
AliAODVertex * PrimaryVertex(const TObjArray *trkArray, AliVEvent *event)
void SelectTrack(const AliVEvent *event, Int_t trkEntries, Int_t &nSeleTrks, Bool_t *seleFlags)
Definition: External.C:236
char Char_t
Definition: External.C:18
AliAnalysisTaskSEXicPlus2XiPiPifromAODtracks & operator=(const AliAnalysisTaskSEXicPlus2XiPiPifromAODtracks &source)
AliAODVertex * CallReconstructSecondaryVertex(AliAODTrack *trk1, AliAODTrack *trk2, Double_t &disp)
TList * fOutputAll
! User output slot 3 // Analysis histos
void SelectCascade(const AliVEvent *event, Int_t nCascades, Int_t &nSeleCasc, Bool_t *seleCascFlags)
Bool_t fIsMB
Reconstruct primary vertex excluding candidate tracks.
AliAODVertex * ReconstructSecondaryVertex(TObjArray *trkArray, Double_t &dispersion, Bool_t useTRefArray=kTRUE)
virtual void UserCreateOutputObjects()
Implementation of interface methods.
int Int_t
Definition: External.C:63
float Float_t
Definition: External.C:68
void FillROOTObjects(AliAODRecoCascadeHF3Prong *xicobj, AliAODMCParticle *mcpart, AliAODMCParticle *mcdau1, AliAODMCParticle *mcdau2, AliAODMCParticle *mcdauxi, Int_t mcnused, Bool_t isXiC)
AliAODVertex * CallPrimaryVertex(AliAODcascade *casc, AliAODTrack *trk1, AliAODTrack *trk2, AliAODEvent *evt)
TH1F * fHistoCascDcaPosToPrimVertex
! DCA of positive track to primary vertex
TH1F * fHistoCascDcaBachToPrimVertex
! DCA of bachelor track to primary vertex
AliAODRecoCascadeHF3Prong * MakeCascadeHF3Prong(AliAODcascade *casc, AliAODTrack *trk1, AliAODTrack *trk2, AliAODEvent *aod, AliAODVertex *secvert, Double_t dispersion)
AliRDHFCutsXicPlustoXiPiPifromAODtracks * fAnalCuts
histogram to check centrality
TH1F * fHistoCascCosPAXiPrim
! Cosine pointing angle of Xi to primary vertex
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
TH1F * fHistoCascDcaNegToPrimVertex
! DCA of negative track to primary vertex
TTree * fVariablesTree
flag to decide whether to write the candidate variables on a tree variables