]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnAnalysisSE.cxx
Included cut on primary vertex into compilation
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnAnalysisSE.cxx
CommitLineData
aec0ec32 1//
5eb970a4 2// Class AliRsnAnalysisME
aec0ec32 3//
4// TODO
5//
5eb970a4 6// authors: Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
7// Martin Vala (martin.vala@cern.ch)
aec0ec32 8//
9
aec0ec32 10#include "AliRsnAnalysisSE.h"
11
12ClassImp(AliRsnAnalysisSE)
13
5eb970a4 14//_____________________________________________________________________________
15AliRsnAnalysisSE::AliRsnAnalysisSE(const char *name) :
16 AliRsnVAnalysisTaskSE(name),
17 fRsnAnalysisManager(),
e79f56bd 18 fPIDIndex(0),
19 fEvent(),
5eb970a4 20 fESDCuts(0)
aec0ec32 21{
15d5fd02 22//
aec0ec32 23// Default constructor
15d5fd02 24//
5eb970a4 25 AliDebug(AliLog::kDebug+2,"<-");
26 AliDebug(AliLog::kDebug+2,"->");
aec0ec32 27}
28
5eb970a4 29AliRsnAnalysisSE::AliRsnAnalysisSE(const AliRsnAnalysisSE& copy) : AliRsnVAnalysisTaskSE(copy),
e79f56bd 30 fRsnAnalysisManager(copy.fRsnAnalysisManager),
31 fPIDIndex(copy.fPIDIndex),
32 fEvent(copy.fEvent),
33 fESDCuts(copy.fESDCuts)
aec0ec32 34{
5eb970a4 35 AliDebug(AliLog::kDebug+2,"<-");
36 AliDebug(AliLog::kDebug+2,"->");
aec0ec32 37}
38
5eb970a4 39//_____________________________________________________________________________
40void AliRsnAnalysisSE::RsnUserCreateOutputObjects()
aec0ec32 41{
5eb970a4 42 AliDebug(AliLog::kDebug+2,"<-");
aec0ec32 43
5eb970a4 44 fOutList->Add(fRsnAnalysisManager.InitAllPairMgrs());
aec0ec32 45
5eb970a4 46 AliDebug(AliLog::kDebug+2,"->");
aec0ec32 47}
48
5eb970a4 49void AliRsnAnalysisSE::RsnUserExec(Option_t* )
aec0ec32 50{
5eb970a4 51 AliDebug(AliLog::kDebug+2,"<-");
52 if (fESDEvent) {
53 AliDebug(AliLog::kDebug+1,Form("fESDEvent if %p",fESDEvent));
54 AliDebug(AliLog::kDebug,Form("ESD tracks %d",fESDEvent->GetNumberOfTracks()));
55 }
56 if (fMCEvent) {
57 AliDebug(AliLog::kDebug+1,Form("fMCEvent if %p",fMCEvent));
58 AliDebug(AliLog::kDebug,Form("MC tracks %d",fMCEvent->GetNumberOfTracks()));
59 }
60 if (fAODEventIn) {
61 AliDebug(AliLog::kDebug+1,Form("fAODEventIn if %p",fAODEventIn));
62 AliDebug(AliLog::kDebug,Form("AOD(in) tracks %d",fAODEventIn->GetNumberOfTracks()));
aec0ec32 63 }
64
5eb970a4 65 if (fAODEventOut) {
66 AliDebug(AliLog::kDebug+1,Form("fAODEventOut if %p",fAODEventOut));
67 AliDebug(AliLog::kDebug,Form("AOD(out) tracks %d",fAODEventOut->GetNumberOfTracks()));
68 }
aec0ec32 69
5eb970a4 70 // assign event
71 if (fAODEventOut)
72 fEvent.SetRef(fAODEventOut);
73 else if (fESDEvent)
74 fEvent.SetRef(fESDEvent, fMCEvent);
75 else
76 return;
77 if (fEvent.GetMultiplicity()<2) return;
aec0ec32 78
5eb970a4 79 // sort tracks w.r. to PID
80 fPIDIndex.ResetAll(fEvent.GetMultiplicity());
81 fPIDIndex.SetPriorProbability(fPrior);
82 fPIDIndex.FillFromEvent(&fEvent, fESDCuts);
83 fPIDIndex.SetCorrectIndexSize();
aec0ec32 84
5eb970a4 85 fRsnAnalysisManager.ProcessAllPairMgrs(&fPIDIndex, &fEvent);
aec0ec32 86
5eb970a4 87 AliDebug(AliLog::kDebug+2,"->");
aec0ec32 88}
89
aec0ec32 90
5eb970a4 91//_____________________________________________________________________________
92void AliRsnAnalysisSE::RsnTerminate(Option_t* )
93{
94 AliDebug(AliLog::kDebug+2,"<-");
95 AliDebug(AliLog::kDebug+2,"->");
aec0ec32 96}
97
5eb970a4 98//_____________________________________________________________________________
99AliRsnAnalysisManager* AliRsnAnalysisSE::GetAnalysisManager(TString name)
aec0ec32 100{
5eb970a4 101 if (!name.IsNull()) {
102 SetAnalysisManagerName(name.Data());
aec0ec32 103 }
5eb970a4 104
105 return &fRsnAnalysisManager;
aec0ec32 106}
107
aec0ec32 108
5eb970a4 109//_____________________________________________________________________________
110void AliRsnAnalysisSE::SetPriorProbability(AliPID::EParticleType type, Double_t p)
111{
112 //
113 // Sets the prior probability for Realistic PID, for a
114 // given particle species.
115 //
aec0ec32 116
5eb970a4 117 if (type >= 0 && type < (Int_t)AliPID::kSPECIES) {
118 fPrior[type] = p;
15d5fd02 119 }
aec0ec32 120
aec0ec32 121}
922688c0 122
5eb970a4 123//_____________________________________________________________________________
124void AliRsnAnalysisSE::DumpPriors()
922688c0 125{
5eb970a4 126 //
127 // Print all prior probabilities
128 //
922688c0 129
5eb970a4 130 Int_t i;
131 for (i = 0; i < AliPID::kSPECIES; i++) {
132 AliInfo(Form("Prior probability for %10s = %3.5f", AliPID::ParticleName((AliPID::EParticleType)i), fPrior[i]));
133 }
922688c0 134}
15d5fd02 135
5eb970a4 136//_____________________________________________________________________________
137void AliRsnAnalysisSE::GetPriorProbability(Double_t *out)
15d5fd02 138{
15d5fd02 139
5eb970a4 140 Int_t i;
141 for (i=0;i<AliPID::kSPECIES;i++) {
142 out[i] = fPrior[i];
15d5fd02 143 }
15d5fd02 144}