1 #ifndef ALIANALYSISTASKSEMCCORR_H
2 #define ALIANALYSISTASKSEMCORR_H
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //*************************************************************************
8 // Class AliAnalysisTaskSEmcCorr
9 // AliAnalysisTaskSE for studying HF-(hadron,electrons) and hadron-hadron correlations
11 // Author: Andrea Rossi, andrea.rossi@cern.ch
13 //*************************************************************************
20 class AliAODRecoDecayHF2Prong;
21 class AliAODRecoDecayHF;
22 class AliAODMCParticle;
23 class AliAnalysisVertexingHF;
24 class AliRDHFCutsD0toKpi;
25 class AliNormalizationCounter;
27 #include "AliAnalysisTaskSE.h"
29 class AliAnalysisTaskSEmcCorr : public AliAnalysisTaskSE {
31 AliAnalysisTaskSEmcCorr();
32 AliAnalysisTaskSEmcCorr(const char* name);
33 virtual ~AliAnalysisTaskSEmcCorr();
35 // Implementation of interface methods
36 virtual void UserCreateOutputObjects();
38 virtual void LocalInit() {Init();}
39 virtual void UserExec(Option_t *option);
40 virtual void Terminate(Option_t *option);
41 void SetReadMC(Bool_t readMC){fReadMC=readMC;}
42 void SetKineOnly(Bool_t readKineOnly){fOnlyKine=readKineOnly;}
43 void DoHadronHadron(Bool_t dohh){fDoHadronHadron=dohh;}
44 void SetMinPtD(Double_t ptmin){fminDpt=ptmin;}
45 void SetMaxYtrigger(Double_t maxy){fYrangeTrig=maxy;}
46 void SetMaxEtaEleTrigger(Double_t maxeta){fEtarangeEleTrig=maxeta;}
47 void SelectAssociatedParticles(TClonesArray *arrayMC);
48 void SetEtaMaxAssPart(Double_t eta){fmaxEtaAss=eta;}
49 void FillCorrelationPlots(AliAODMCParticle *part,TClonesArray *arrayMC);
50 void FillCorrelationPlotsHadrons(AliAODMCParticle *part,TClonesArray *arrayMC);
51 void FillSkipParticleArray(AliAODMCParticle *part,TClonesArray *arrayMC,Int_t partPos);
54 AliAnalysisTaskSEmcCorr(const AliAnalysisTaskSEmcCorr&); // copy constructo not implemented yet
55 AliAnalysisTaskSEmcCorr& operator=(const AliAnalysisTaskSEmcCorr&); // assignment operator not implemented yet
56 Bool_t fReadMC; // read MC flag
57 Bool_t fOnlyKine; // kine only
58 Bool_t fDoHadronHadron; // flag to activate h-h correlation
59 TH1F *fNentries; // histo with event selection properties
60 TH1F *fhNprongsD0; // histo with D0 nprongs
61 TH1F *fhNprongsD0chargedOnly; // histo with D0 nprongs
62 TH1F *fhNprongsD0chargedRef; // histo with D0 nprongs
63 Double_t fYrangeTrig; // max D y range
64 Double_t fEtarangeEleTrig; // max eta ele
65 Double_t fminDpt; // min D pt
66 TArrayI *fArrayDaugh; //! array with index of D daughter particles
67 Int_t flastdaugh; // last filled position of farraydaugh
68 TArrayI *fArrayAssoc; //! array with index of associated particle
69 Int_t fLastAss; // last filled posistion of farrayassoc
70 Double_t fminPtass; // min pt assoc
71 Double_t fmaxEtaAss; // max eta assoc
72 THnSparseF* fhMCcorrel; //! histo with correlations
73 THnSparseF* fhMCtrigPart; //! histo for counting trigger particles
74 THnSparseF* fhMChadroncorrel; //! histo with correlations for hadron-hadron
75 THnSparseF* fhMChadrontrigPart; //! histo for counting trigger particles for hadron-hadron correl
77 ClassDef(AliAnalysisTaskSEmcCorr,1); // analysis task for MC study