]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/EMCALTasks/AliEmcalCompatTask.cxx
revert mistake
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliEmcalCompatTask.cxx
CommitLineData
ebcbb815 1// $Id$
2//
3// Task to setup emcal related global objects
4//
5//
6
7#include "AliEmcalCompatTask.h"
8#include <TClonesArray.h>
9#include "AliAnalysisManager.h"
10#include "AliESDEvent.h"
11#include "AliEsdTrackExt.h"
12#include "AliEventplane.h"
13#include "AliCentrality.h"
14ClassImp(AliEmcalCompatTask)
15
16//________________________________________________________________________
17AliEmcalCompatTask::AliEmcalCompatTask() :
18 AliAnalysisTaskSE(),
19 fDoCent(1),
20 fDoEp(1)
21{
22 // Constructor.
23}
24
25//________________________________________________________________________
26AliEmcalCompatTask::AliEmcalCompatTask(const char *name) :
27 AliAnalysisTaskSE(name),
28 fDoCent(1),
29 fDoEp(1)
30{
31 // Constructor.
32
33 fBranchNames = "ESD:AliESDHeader.,AliESDRun.,Tracks";
34}
35
36//________________________________________________________________________
37AliEmcalCompatTask::~AliEmcalCompatTask()
38{
39 // Destructor.
40}
41
42//________________________________________________________________________
43void AliEmcalCompatTask::UserExec(Option_t *)
44{
45 // Main loop, called for each event.
46
47 AliESDEvent *esdEv = dynamic_cast<AliESDEvent*>(InputEvent());
48 if (!esdEv) {
49 AliError("Task works only on ESD events, returning");
50 return;
51 }
52
53 AliAnalysisManager *am = AliAnalysisManager::GetAnalysisManager();
54 if (!am) {
55 AliError("Manager zero, returning");
56 return;
57 }
58
59 am->LoadBranch("AliESDHeader.");
60 am->LoadBranch("AliESDRun.");
61
62 AliESDHeader *header = esdEv->GetHeader();
4e8ed998 63 TString title;
64 if (header)
65 title = header->GetTitle();
ebcbb815 66 if (title.Length()==0)
67 return;
68
69 if (fDoCent) {
7b63a52b 70 am->LoadBranch("Centrality.");
71 AliCentrality *centin = dynamic_cast<AliCentrality*>(esdEv->FindListObject("Centrality"));
ebcbb815 72 AliCentrality *centout = esdEv->GetCentrality();
4e8ed998 73 if (centin&&centout&&centout->GetQuality()==999) {
ebcbb815 74 centout->SetQuality(centin->GetQuality());
75 centout->SetCentralityV0M(centin->GetCentralityPercentileUnchecked("V0M"));
76 centout->SetCentralityFMD(centin->GetCentralityPercentileUnchecked("FMD"));
77 centout->SetCentralityTRK(centin->GetCentralityPercentileUnchecked("TRK"));
78 centout->SetCentralityTKL(centin->GetCentralityPercentileUnchecked("TKL"));
79 centout->SetCentralityCL0(centin->GetCentralityPercentileUnchecked("CL0"));
80 centout->SetCentralityCL1(centin->GetCentralityPercentileUnchecked("CL1"));
81 centout->SetCentralityV0MvsFMD(centin->GetCentralityPercentileUnchecked("V0MvsFMD"));
82 centout->SetCentralityTKLvsV0M(centin->GetCentralityPercentileUnchecked("TKLvsV0M"));
83 centout->SetCentralityZEMvsZDC(centin->GetCentralityPercentileUnchecked("ZEMvsZDC"));
84 }
85 }
86
87 if (fDoEp) {
7b63a52b 88 am->LoadBranch("Eventplane.");
89 AliEventplane *epin = dynamic_cast<AliEventplane*>(esdEv->FindListObject("Eventplane"));
ebcbb815 90 AliEventplane *epout = esdEv->GetEventplane();
4e8ed998 91 if (epin&&epout&&(epout->GetQVector()==0)&&(epin->GetQVector()!=0)) {
ebcbb815 92 epout->SetQVector(new TVector2(*epin->GetQVector()));
93 epout->SetEventplaneQ(epin->GetEventplane("Q"));
94 epout->SetQsub(new TVector2(*epin->GetQsub1()),new TVector2(*epin->GetQsub2()));
95 epout->SetQsubRes(epin->GetQsubRes());
96 }
97 }
98
99 TTree *tree = am->GetTree();
4e8ed998 100 if (tree&&tree->GetBranch("PicoTracks"))
ebcbb815 101 am->LoadBranch("PicoTracks");
102
4e8ed998 103 if (tree&&tree->GetBranch("Tracks")) {
ebcbb815 104 am->LoadBranch("Tracks");
105 TClonesArray *ts = dynamic_cast<TClonesArray*>(esdEv->FindListObject("Tracks"));
106 if (ts) {
107 TString clsname(ts->GetClass()->GetName());
108 if (clsname == "AliEsdTrackExt") {
109 const Int_t N = ts->GetEntries();
110 for (Int_t i=0; i<N; ++i) {
56cbb1d4 111 AliEsdTrackExt *t = static_cast<AliEsdTrackExt*>(ts->At(i));
112 if (t) {
113 t->SetESDEvent(esdEv);
114 t->Setup();
115 }
ebcbb815 116 }
117 }
118 }
119 }
120}