Avoid multiple deletion of AliTRDltuTrack objects
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / runMultiplicitySelector.C
CommitLineData
0ab29cfa 1/* $Id$ */
2
3//
4// script to run the AliMultiplicityESDSelector
5//
6
7#include "../CreateESDChain.C"
8
9void runMultiplicitySelector(Char_t* data, Int_t nRuns=20, Int_t offset=0, Bool_t aMC = kFALSE, Bool_t aDebug = kFALSE, Bool_t aProof = kFALSE)
10{
10ebe68d 11 TStopwatch timer;
12 timer.Start();
13
14 gSystem->Load("libEG");
0ab29cfa 15 gSystem->Load("libGeom");
10ebe68d 16 gSystem->Load("libESD");
17 gSystem->Load("libPWG0base");
0ab29cfa 18 if (aMC != kFALSE)
19 gSystem->Load("libPWG0dep");
20
21 gROOT->ProcessLine(".L CreatedNdEta.C");
22 gROOT->ProcessLine(".L CreateCuts.C");
23 gROOT->ProcessLine(".L drawPlots.C");
24
25 TChain* chain = CreateESDChain(data, nRuns, offset);
26 TVirtualProof* proof = 0;
27
28 if (aProof != kFALSE)
29 {
10ebe68d 30 proof = TProof::Open("jgrosseo@lxb6046");
0ab29cfa 31
32 if (!proof)
33 {
34 printf("ERROR: PROOF connection not established.\n");
35 return;
36 }
37
38 if (proof->EnablePackage("ESD"))
39 {
40 printf("ERROR: ESD package could not be enabled.\n");
41 return;
42 }
43
44 if (proof->EnablePackage("PWG0base"))
45 {
46 printf("ERROR: PWG0base package could not be enabled.\n");
47 return;
48 }
49
50 if (aMC != kFALSE)
51 {
52 if (proof->EnablePackage("PWG0dep"))
53 {
54 printf("ERROR: PWG0dep package could not be enabled.\n");
55 return;
56 }
57 }
58
59 //chain->SetProof(proof);
60 }
61
62 // ########################################################
63 // selection of esd tracks
64 AliESDtrackCuts* esdTrackCuts = CreateTrackCuts();
65 if (!esdTrackCuts)
66 {
67 printf("ERROR: esdTrackCuts could not be created\n");
68 return;
69 }
70
71 chain->GetUserInfo()->Add(esdTrackCuts);
72 if (proof)
73 proof->AddInput(esdTrackCuts);
74
75 TString selectorName = ((aMC == kFALSE) ? "AliMultiplicityESDSelector" : "AliMultiplicityMCSelector");
76 AliLog::SetClassDebugLevel(selectorName, AliLog::kInfo);
77
78 selectorName += ".cxx++";
79
80 if (aDebug != kFALSE)
81 selectorName += "g";
82
0ab29cfa 83 Long64_t result = -1;
84
85 if (proof != kFALSE)
86 result = chain->MakeTDSet()->Process(selectorName);
87 else
88 result = chain->Process(selectorName);
89
90 if (result != 0)
91 {
92 printf("ERROR: Executing process failed with %d.\n", result);
93 return;
94 }
95
96 timer.Stop();
97 timer.Print();
98}
99