1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
4 // Inclusion of AliPHOSHijingEfficiency,
5 // by Dmitri Peressounko, 05.02.2013
6 // Authors: Henrik Qvigstad, Dmitri Peressounko
11 #ifndef ALIANALYSISTASKPI0FLOWMC_H
12 #define ALIANALYSISTASKPI0FLOWMC_H
16 #include "AliAnalysisTaskPi0Flow.h"
19 class AliAnalysisTaskPi0FlowMC : public AliAnalysisTaskPi0Flow
22 AliAnalysisTaskPi0FlowMC(const char* name = "AliAnalysisTaskPi0Flow", Period period = kUndefinedPeriod);
23 virtual ~AliAnalysisTaskPi0FlowMC();
25 void SetOffVertexPhotonCut(Bool_t setCut=kTRUE) { kOffVertexCutSet=setCut; }
27 protected: // Override:
28 virtual void UserCreateOutputObjects();
29 virtual void UserExec(Option_t *option);
31 virtual void SelectPhotonClusters();
32 virtual void FillSelectedClusterHistograms();
33 virtual void ConsiderPi0s();
34 virtual void ConsiderPi0sMix();
35 virtual void ProcessMC();
37 protected: // member functions:
38 AliAnalysisTaskPi0FlowMC(const AliAnalysisTaskPi0FlowMC&); // not implemented
39 AliAnalysisTaskPi0FlowMC& operator=(const AliAnalysisTaskPi0FlowMC&); // not implemented
41 AliStack* GetMCStack();
43 protected: // member variables:
45 Bool_t kOffVertexCutSet;
49 virtual Double_t PrimaryWeight(Int_t primary);
50 virtual Double_t PrimaryParticleWeight(TParticle * particle);
51 void FillSecondaries() ;
52 Int_t FindPrimary(AliVCluster* clu, Bool_t& sure);
53 Int_t FindCommonParent(Int_t iPart, Int_t jPart) ;
54 Bool_t HaveParent(Int_t iPart, Int_t pdgParent);
55 Bool_t InPi0mass(Double_t m, Double_t pt);
57 void FillAllHistograms(const char* particleName, AliCaloPhoton* ph1);
59 static const Double_t kRCut;
60 enum ParticleID {kEta=221};
63 ClassDef(AliAnalysisTaskPi0FlowMC, 1); // PHOS analysis task
66 #endif // ALIANALYSISTASKPI0FLOWMC_H