]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliAnalysisTaskPtME.cxx
Method shadowing corrected.
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskPtME.cxx
1
2 #include "TH1F.h"
3 #include "TCanvas.h"
4 #include "AliAODEvent.h"
5 #include "AliAODTrack.h"
6 #include "AliAnalysisTaskPtME.h"
7
8 // example of an analysis task creating a p_t spectrum
9 // Authors: Panos Cristakoglou, Jan Fiete Grosse-Oetringhaus, Christian Klein-Boesing
10
11 ClassImp(AliAnalysisTaskPtME)
12
13 //________________________________________________________________________
14 AliAnalysisTaskPtME::AliAnalysisTaskPtME(const char *name) 
15   : AliAnalysisTaskME(name), fHistPt(0)
16 {
17   // Constructor
18   // Define input and output slots here
19   DefineOutput(1, TH1F::Class());
20 }
21
22
23 //________________________________________________________________________
24 void AliAnalysisTaskPtME::UserCreateOutputObjects()
25 {
26   // Create histograms
27   // Called once
28
29   fHistPt = new TH1F("fHistPt", "P_{T} distribution", 15, 0.1, 3.1);
30   fHistPt->GetXaxis()->SetTitle("P_{T} (GeV/c)");
31   fHistPt->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)");
32   fHistPt->SetMarkerStyle(kFullCircle);
33 }
34
35 //________________________________________________________________________
36 void AliAnalysisTaskPtME::UserExec(Option_t *) 
37 {
38   // Main loop
39   // Called for each event
40
41     for (Int_t jev = 0; jev < 3; jev++) {
42         AliAODEvent* aod = GetEvent(jev);
43         Int_t ntracks =  aod->GetNumberOfTracks();
44         printf("Number of tracks %5d %5d\n", jev, ntracks);
45         
46         for (Int_t iTracks = 0; iTracks < aod->GetNumberOfTracks(); iTracks++) 
47         {
48                     AliAODTrack* track = aod->GetTrack(iTracks);
49             if (!track) {
50                 Printf("ERROR: Could not receive track %d", iTracks);
51                 continue;
52             }
53             
54             fHistPt->Fill(track->Pt());
55         } //track loop
56     } // event loop
57   // Post output data.
58   PostData(0, fHistPt);
59 }      
60
61 //________________________________________________________________________
62 void AliAnalysisTaskPtME::Terminate(Option_t *) 
63 {
64   // Draw result to the screen
65   // Called once at the end of the query
66
67   TCanvas *c1 = new TCanvas("AliAnalysisTaskPt","Pt",10,10,510,510);
68   c1->cd(1)->SetLogy();
69   fHistPt->DrawCopy("E");
70 }