25 #include "Riostream.h"
28 #include <TStopwatch.h>
32 #include "AliHeader.h"
33 #include "AliGenEventHeader.h"
35 #include "AliModule.h"
36 #include "AliArrayI.h"
40 #include "AliITSgeom.h"
41 #include "AliITSRecPoint.h"
42 #include "AliITSclusterV2.h"
43 #include "AliITSsimulationFastPoints.h"
44 #include "AliITStrackerV2.h"
45 #include "AliKalmanTrack.h"
46 #include "AliTPCtrackerParam.h"
47 #include "AliTracker.h"
50 #include "AliRunLoader.h"
53 Int_t
TPCParamTracks(
const Int_t coll=1,Int_t firstEvent=0,Int_t lastEvent=0);
55 void TrackCompare(
const Int_t coll,
const Double_t Bfield,Int_t n);
65 delete AliRunLoader::Instance();
72 cerr<<
"Can not open session"<<endl;
75 Int_t retval = rl->LoadgAlice();
77 cerr<<
"LoadgAlice returned error"<<endl;
81 retval = rl->LoadHeader();
83 cerr<<
"LoadHeader returned error"<<endl;
90 TDatabasePDG *DataBase = TDatabasePDG::Instance();
93 AliMagF *fiel = TGeoGlobalMagField::Instance()->GetField();
94 Double_t fieval=TMath::Abs((Double_t)fiel->SolenoidField()/10.);
98 AliTPCtrackerParam tpcTrackerPar(coll,fieval);
103 TTree *esdTree=
new TTree(
"esdTree",
"Tree with ESD objects");
105 esdTree->Branch(
"ESD",
"AliESD",&event);
107 if(firstEvent>rl->GetNumberOfEvents()) firstEvent=rl->GetNumberOfEvents()-1;
108 if(lastEvent>rl->GetNumberOfEvents()) lastEvent=rl->GetNumberOfEvents()-1;
109 cout<<
" Number of events: "<<1+lastEvent-firstEvent<<endl;
114 for(Int_t i=firstEvent; i<=lastEvent; i++) {
116 cerr<<
" Processing event number : "<<i<<endl;
117 AliESD *
event =
new AliESD();
118 event->SetRunNumber(
gAlice->GetRunNumber());
119 event->SetEventNumber(i);
120 event->SetMagneticField(
gAlice->Field()->SolenoidField());
123 if ( (trc=tpcTrackerPar.BuildTPCtracks(event)) ) {
124 printf(
"exiting tracker with code %d in event %d\n",trc,i);
125 esdTree->Fill();
delete event;
133 timer.Stop(); timer.Print();
136 TFile *ef =
TFile::Open(
"AliESDs.root",
"RECREATE");
137 if (!ef || !ef->IsOpen()) {cerr<<
"Can't open AliESDs.root !\n";
return;}
151 cerr<<
"\n*******************************************************************\n";
153 const Char_t *name=
"CreateAllGeantTracks";
154 cerr<<
'\n'<<name<<
"...\n";
160 AliTPCtrackerParam tracker(coll,Bfield,n);
161 tracker.AllGeantTracks();
162 tracker.BuildTPCtracks(infile,outfile);
178 cerr<<
"\n*******************************************************************\n";
180 const Char_t *name=
"TrackCompare";
181 cerr<<
'\n'<<name<<
"...\n";
184 AliTPCtrackerParam tracker(coll,Bfield,n);
185 tracker.CompareTPCtracks();
196 cerr<<
"\n*******************************************************************\n";
198 AliTPCtrackerParam tracker(coll,Bfield);
201 cerr<<
"\n --- Merging Events ---\n\n";
202 tracker.MergeEvents(1,5);
205 cerr<<
"\n --- Analyzing Pulls ---\n\n";
206 tracker.AnalyzePulls(
"pulls.root");
209 tracker.DrawPulls(
"CovMatrixDB_PbPb6000_B0.4T.root",211,0);
210 tracker.DrawEffs(
"CovMatrixDB_PbPb6000_B0.4T.root",13);
213 tracker.RegularizeCovMatrix(
"regPi.root",211);
216 tracker.AnalyzedEdx(
"dEdxPi.root",211);
220 tracker.MakeDataBase();
printf("Chi2/npoints = %f\n", TMath::Sqrt(chi2/npoints))
TFile * Open(const char *filename, Long64_t &nevents)
void BuildDataBase(const Int_t coll, const Double_t Bfield)
void CreateAllGeantTracks(const Int_t coll=1, Int_t nev=1)
Int_t TPCParamTracks(const Int_t coll=1, Int_t firstEvent=0, Int_t lastEvent=0)
void TrackCompare(const Int_t coll, const Double_t Bfield, Int_t n)