]>
Commit | Line | Data |
---|---|---|
6cd5fd7c | 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 | } |