From 6cd5fd7c3f1350027e2065fd838dfde39626b50d Mon Sep 17 00:00:00 2001 From: morsch Date: Tue, 20 May 2008 15:25:23 +0000 Subject: [PATCH] Mixing template. --- ANALYSIS/AliAnalysisTaskPtME.cxx | 70 ++++++++++++++++++++++++++++++++ ANALYSIS/AliAnalysisTaskPtME.h | 70 ++++++++++++++++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 ANALYSIS/AliAnalysisTaskPtME.cxx create mode 100644 ANALYSIS/AliAnalysisTaskPtME.h diff --git a/ANALYSIS/AliAnalysisTaskPtME.cxx b/ANALYSIS/AliAnalysisTaskPtME.cxx new file mode 100644 index 00000000000..225dd3fe698 --- /dev/null +++ b/ANALYSIS/AliAnalysisTaskPtME.cxx @@ -0,0 +1,70 @@ + +#include "TH1F.h" +#include "TCanvas.h" +#include "AliAODEvent.h" +#include "AliAODTrack.h" +#include "AliAnalysisTaskPtME.h" + +// example of an analysis task creating a p_t spectrum +// Authors: Panos Cristakoglou, Jan Fiete Grosse-Oetringhaus, Christian Klein-Boesing + +ClassImp(AliAnalysisTaskPtME) + +//________________________________________________________________________ +AliAnalysisTaskPtME::AliAnalysisTaskPtME(const char *name) + : AliAnalysisTaskME(name), fHistPt(0) +{ + // Constructor + // Define input and output slots here + DefineOutput(1, TH1F::Class()); +} + + +//________________________________________________________________________ +void AliAnalysisTaskPtME::UserCreateOutputObjects() +{ + // Create histograms + // Called once + + fHistPt = new TH1F("fHistPt", "P_{T} distribution", 15, 0.1, 3.1); + fHistPt->GetXaxis()->SetTitle("P_{T} (GeV/c)"); + fHistPt->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)"); + fHistPt->SetMarkerStyle(kFullCircle); +} + +//________________________________________________________________________ +void AliAnalysisTaskPtME::UserExec(Option_t *) +{ + // Main loop + // Called for each event + + for (Int_t jev = 0; jev < 3; jev++) { + AliAODEvent* aod = GetEvent(jev); + Int_t ntracks = aod->GetNumberOfTracks(); + printf("Number of tracks %5d %5d\n", jev, ntracks); + + for (Int_t iTracks = 0; iTracks < aod->GetNumberOfTracks(); iTracks++) + { + AliAODTrack* track = aod->GetTrack(iTracks); + if (!track) { + Printf("ERROR: Could not receive track %d", iTracks); + continue; + } + + fHistPt->Fill(track->Pt()); + } //track loop + } // event loop + // Post output data. + PostData(0, fHistPt); +} + +//________________________________________________________________________ +void AliAnalysisTaskPtME::Terminate(Option_t *) +{ + // Draw result to the screen + // Called once at the end of the query + + TCanvas *c1 = new TCanvas("AliAnalysisTaskPt","Pt",10,10,510,510); + c1->cd(1)->SetLogy(); + fHistPt->DrawCopy("E"); +} diff --git a/ANALYSIS/AliAnalysisTaskPtME.h b/ANALYSIS/AliAnalysisTaskPtME.h new file mode 100644 index 00000000000..225dd3fe698 --- /dev/null +++ b/ANALYSIS/AliAnalysisTaskPtME.h @@ -0,0 +1,70 @@ + +#include "TH1F.h" +#include "TCanvas.h" +#include "AliAODEvent.h" +#include "AliAODTrack.h" +#include "AliAnalysisTaskPtME.h" + +// example of an analysis task creating a p_t spectrum +// Authors: Panos Cristakoglou, Jan Fiete Grosse-Oetringhaus, Christian Klein-Boesing + +ClassImp(AliAnalysisTaskPtME) + +//________________________________________________________________________ +AliAnalysisTaskPtME::AliAnalysisTaskPtME(const char *name) + : AliAnalysisTaskME(name), fHistPt(0) +{ + // Constructor + // Define input and output slots here + DefineOutput(1, TH1F::Class()); +} + + +//________________________________________________________________________ +void AliAnalysisTaskPtME::UserCreateOutputObjects() +{ + // Create histograms + // Called once + + fHistPt = new TH1F("fHistPt", "P_{T} distribution", 15, 0.1, 3.1); + fHistPt->GetXaxis()->SetTitle("P_{T} (GeV/c)"); + fHistPt->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)"); + fHistPt->SetMarkerStyle(kFullCircle); +} + +//________________________________________________________________________ +void AliAnalysisTaskPtME::UserExec(Option_t *) +{ + // Main loop + // Called for each event + + for (Int_t jev = 0; jev < 3; jev++) { + AliAODEvent* aod = GetEvent(jev); + Int_t ntracks = aod->GetNumberOfTracks(); + printf("Number of tracks %5d %5d\n", jev, ntracks); + + for (Int_t iTracks = 0; iTracks < aod->GetNumberOfTracks(); iTracks++) + { + AliAODTrack* track = aod->GetTrack(iTracks); + if (!track) { + Printf("ERROR: Could not receive track %d", iTracks); + continue; + } + + fHistPt->Fill(track->Pt()); + } //track loop + } // event loop + // Post output data. + PostData(0, fHistPt); +} + +//________________________________________________________________________ +void AliAnalysisTaskPtME::Terminate(Option_t *) +{ + // Draw result to the screen + // Called once at the end of the query + + TCanvas *c1 = new TCanvas("AliAnalysisTaskPt","Pt",10,10,510,510); + c1->cd(1)->SetLogy(); + fHistPt->DrawCopy("E"); +} -- 2.39.3