]>
Commit | Line | Data |
---|---|---|
dc740de4 | 1 | /* $Id$ */ |
2 | ||
75e130df | 3 | #include "AlidNdEtaAnalysisSelector.h" |
4 | ||
5 | #include <TStyle.h> | |
6 | #include <TSystem.h> | |
7 | #include <TCanvas.h> | |
75e130df | 8 | #include <TVector3.h> |
dc740de4 | 9 | #include <TH2F.h> |
7029240a | 10 | #include <TChain.h> |
11 | #include <TFile.h> | |
75e130df | 12 | |
13 | #include <AliLog.h> | |
14 | #include <AliGenEventHeader.h> | |
7029240a | 15 | #include <AliHeader.h> |
75e130df | 16 | |
75e130df | 17 | #include "dNdEtaAnalysis.h" |
18 | ||
19 | ClassImp(AlidNdEtaAnalysisSelector) | |
20 | ||
dc740de4 | 21 | AlidNdEtaAnalysisSelector::AlidNdEtaAnalysisSelector() : |
75e130df | 22 | AliSelector(), |
5fbd0b17 | 23 | fdNdEtaAnalysis(0) |
75e130df | 24 | { |
25 | // | |
26 | // Constructor. Initialization of pointers | |
27 | // | |
28 | } | |
29 | ||
30 | AlidNdEtaAnalysisSelector::~AlidNdEtaAnalysisSelector() | |
31 | { | |
32 | // | |
33 | // Destructor | |
34 | // | |
35 | ||
36 | // histograms are in the output list and deleted when the output | |
37 | // list is deleted by the TSelector dtor | |
38 | } | |
39 | ||
40 | void AlidNdEtaAnalysisSelector::SlaveBegin(TTree * tree) | |
41 | { | |
42 | // The SlaveBegin() function is called after the Begin() function. | |
43 | // When running with PROOF SlaveBegin() is called on each slave server. | |
44 | // The tree argument is deprecated (on PROOF 0 is passed). | |
45 | ||
46 | AliSelector::SlaveBegin(tree); | |
47 | ||
7029240a | 48 | fdNdEtaAnalysis = new dNdEtaAnalysis("dndeta", "dndeta"); |
75e130df | 49 | } |
50 | ||
51 | void AlidNdEtaAnalysisSelector::SlaveTerminate() | |
52 | { | |
53 | // The SlaveTerminate() function is called after all entries or objects | |
54 | // have been processed. When running with PROOF SlaveTerminate() is called | |
55 | // on each slave server. | |
56 | ||
57 | AliSelector::SlaveTerminate(); | |
58 | ||
59 | // Add the histograms to the output on each slave server | |
60 | if (!fOutput) | |
61 | { | |
b8e8168f | 62 | AliDebug(AliLog::kError, Form("ERROR: Output list not initialized.")); |
75e130df | 63 | return; |
64 | } | |
65 | ||
7029240a | 66 | fOutput->Add(fdNdEtaAnalysis); |
75e130df | 67 | } |
68 | ||
69 | void AlidNdEtaAnalysisSelector::Terminate() | |
70 | { | |
71 | // The Terminate() function is the last function to be called during | |
72 | // a query. It always runs on the client, it can be used to present | |
73 | // the results graphically or save the results to file. | |
74 | ||
75 | AliSelector::Terminate(); | |
76 | ||
7029240a | 77 | fdNdEtaAnalysis = dynamic_cast<dNdEtaAnalysis*> (fOutput->FindObject("dndeta")); |
75e130df | 78 | |
7029240a | 79 | if (!fdNdEtaAnalysis) |
75e130df | 80 | { |
7029240a | 81 | AliDebug(AliLog::kError, Form("ERROR: Histograms not available %p", (void*) fdNdEtaAnalysis)); |
75e130df | 82 | return; |
83 | } | |
84 | ||
75e130df | 85 | TFile* fout = new TFile("out.root","RECREATE"); |
dc740de4 | 86 | WriteObjects(); |
75e130df | 87 | fout->Write(); |
88 | fout->Close(); | |
75e130df | 89 | } |
dc740de4 | 90 | |
91 | void AlidNdEtaAnalysisSelector::WriteObjects() | |
92 | { | |
93 | // Write objects to output file | |
94 | // this is an extra function to be overloaded... | |
95 | // | |
96 | ||
7029240a | 97 | fdNdEtaAnalysis->SaveHistograms(); |
dc740de4 | 98 | } |