1 #define AliAnalysisTaskFemto_cxx
\r
9 #include "AliAnalysisTask.h"
\r
11 #include "AliESDEvent.h"
\r
13 #include "AliAnalysisTaskFemto.h"
\r
15 ClassImp(AliAnalysisTaskFemto)
\r
17 //________________________________________________________________________
\r
18 AliAnalysisTaskFemto::AliAnalysisTaskFemto(const char *name) :AliAnalysisTask(name,""), fESD(0), fHistPt(0) {
\r
20 // Input slot #0 works with an Ntuple
\r
21 DefineInput(0, TChain::Class());
\r
22 // DefineInput(1, TChain::Class());
\r
23 // Output slot #0 writes into a TH1 container
\r
24 DefineOutput(0, TH1F::Class());
\r
27 //________________________________________________________________________
\r
28 void AliAnalysisTaskFemto::ConnectInputData(Option_t *) {
\r
29 printf(" ConnectInputData %s\n", GetName());
\r
31 // char ** address = (char **)GetBranchAddress(0, "ESD");
\r
32 // cout << "Got tree address " << address << endl;
\r
34 // fESD = (AliESDEvent*)(*address);
\r
37 // fESD = new AliESDEvent();
\r
39 // // SetBranchAddress(0, "ESD", &fESD);
\r
41 TChain *inpchain = (TChain *) GetInputData(0);
\r
42 fESD = new AliESDEvent();
\r
43 fESD->ReadFromTree(inpchain);
\r
47 // char ** addressfriend = (char **)GetBranchAddress(1, "ESDfriend");
\r
48 // cout << "Got friend address " << addressfriend << endl;
\r
49 // if (addressfriend) {
\r
50 // fESDfriend = (AliESDfriend*)(*address);
\r
53 // fESDfriend = new AliESDfriend();
\r
54 // SetBranchAddress(1, "ESDfriend", &fESDfriend);
\r
58 // TString fileName(chain->GetCurrentFile()->GetName());
\r
59 // fileName.ReplaceAll("AliESDs", "AliESDfriends");
\r
60 // cout << "Reading friend " << fileName.Data() << endl;;
\r
61 // chain->AddFriend("esdFriendTree",fileName.Data());
\r
62 // SetBranchAddress(0, "ESDfriend",&fESDfriend);
\r
66 //________________________________________________________________________
\r
67 void AliAnalysisTaskFemto::CreateOutputObjects() {
\r
69 fHistPt = new TH1F("fHistPt","This is the Pt distribution",15,0.1,3.1);
\r
70 fHistPt->SetStats(kTRUE);
\r
71 fHistPt->GetXaxis()->SetTitle("P_{T} [GeV]");
\r
72 fHistPt->GetYaxis()->SetTitle("#frac{dN}{dP_{T}}");
\r
73 fHistPt->GetXaxis()->SetTitleColor(1);
\r
74 fHistPt->SetMarkerStyle(kFullCircle);
\r
78 //________________________________________________________________________
\r
79 void AliAnalysisTaskFemto::Exec(Option_t *) {
\r
80 // Task making a pt distribution.
\r
82 TChain *chain = (TChain*)GetInputData(0);
\r
83 Long64_t ientry = chain->GetReadEntry();
\r
85 // if (!chain->GetCurrentFile())
\r
88 printf("Tracks: %d \n",fESD->GetNumberOfTracks());
\r
90 if (fESD->GetNumberOfTracks() > 0) {
\r
91 cout << "Chain has " << chain->GetListOfFriends() << " friends" << endl;
\r
92 cout << "First track is " << fESD->GetTrack(0)->Get1P() << " momentum" << endl;
\r
94 fReader->SetESDSource(fESD);
\r
95 // fReader->SetESDfriendSource(*fESDfriend);
\r
97 fManager->ProcessEvent();
\r
99 // Post final data. It will be written to a file with option "RECREATE"
\r
100 PostData(0, fHistPt);
\r
104 //________________________________________________________________________
\r
105 void AliAnalysisTaskFemto::Terminate(Option_t *) {
\r
106 // Draw some histogram at the end.
\r
107 // if (!gROOT->IsBatch()) {
\r
108 // TCanvas *c1 = new TCanvas("c1","Pt",10,10,310,310);
\r
109 // c1->SetFillColor(10);
\r
110 // c1->SetHighLightColor(10);
\r
112 // c1->cd(1)->SetLeftMargin(0.15);
\r
113 // c1->cd(1)->SetBottomMargin(0.15);
\r
114 // c1->cd(1)->SetLogy();
\r
115 // //fHistPt = (TH1F*)GetOutputData(0);
\r
116 // if (fHistPt) fHistPt->DrawCopy("E");
\r
120 //________________________________________________________________________
\r
121 void AliAnalysisTaskFemto::SetFemtoReader(AliFemtoEventReaderESDChain *aReader)
\r
125 //________________________________________________________________________
\r
126 void AliAnalysisTaskFemto::SetFemtoManager(AliFemtoManager *aManager)
\r
128 fManager = aManager;
\r
130 //________________________________________________________________________
\r
131 // void AliAnalysisTaskFemto::SetFriendAddress(AliESDfriend **aFriendAddress)
\r
133 // fESDfriend = aFriendAddress;
\r