Adding possibility to calculate the 3D distortion maps
3D distortion maps obtained using the Poisson relaxation technique
M AliTPCSpaceCharge3D.h
M AliTPCSpaceCharge3D.cxx
bugfix: for correction of time bin Delta R was corrected wrongly (took ideal z before correction and corrected z afterwards, which can be different in average correction mode )
o Fix sign problem for T0 seed determination
o Small modifications in Draw utility
o add macro to produce the final plots
o update consitency check macro
o limit vertex to +-10
o add realistic smearing of clusters (ITS,TPC,TRD)
o replace AliCluster with AliTrackPoint for ITS, TRD
o add track parameters at
- TPC inner wall
- between TPC inner wall and ITS last point
o add functionality to create a refitted track from ITS+TRD points for realistic covariance
o Make simulation factor 10 faster
o Add Simulation of Laser events
o Add visualisation of laser events, also for single layers, rods, bundles ...
o Fix warnings
Preparation for seeding efficiency/purity
- count number of seeds per input track (via cluster label)
- count number of clusters per seed (in debug streamer we have the one for the highest number of clusters)
- debug streamer with original track and seed
- TODO: cluster to track association etc.
- normalization to integral for SpaceCharge Map creation
- use seeding from AliTPCtracker: define fundtions public, use MakeSeed3 in Reconstruction
- no seeds obtained, needs debugging
o Change from AliTPCSpaceCharge3D to general AliTPCCorrection in sim/rec
o Add possibility to use TPCCorrection from lookup table in sim/rec (default now)
o fix warnings
o Add unique track ID in simulation (to prepare efficiency studies)
o make LUT creation paralellisable
- separate initialisation for LUT map in phi bins
- add functions to create LUT only for 1 phi bin
- add function to merge files with separate phi bins
-ToyMCTrack: added two new tclonesarray of AliCluster for ITS and TRD space points
-ToyMCEventGenerator: added generation of clusters for ITS (upgrade layout) and TRD (current layout)
-ToyMCEventGeneratorSimple: added possibility (::SetParametersToyGen(const Char_t* filename)) to assign file containing histograms of pt, eta and multiplicity distribution (root file containing histograms TH1F hPt, TH1F hEta, TH1I hMult) to use for generation of tracks
Next Steps for tracking from seed of associated clusters:
- Cluster association to track by utilizing AliTPCtrackerRow::FindNearest2
- Implementation of GetSector for AliExternalTrackParam (needed for looking in correct sector for clusters)
- Counting of associated clusters per original track (output in debug streamer)
- Adding drawing option in QA macro
- TODO:
- Correct setting of AliTPCReconstructor?
- Define Search Road (how?)
First Steps for tracking from seed of associated clusters:
- GetFittedTrackFromSeedAllClusters gets seed and performs simple tracking
- go row by row and look for clusters in this row
- TODO: cluster association and selection
Implement AliTPCtracker::Clusters2Tracks() for all clusters in given time frame:
- add setters of inner and outer sectors AliTPCtrackerSector in AliTPCtracker.h
- tracking for all clusters in one time frame (given by nevts or input file)
- TODO:
- check tracking configuration
- add clusters and original tracks to debug output (how?)
miweber [Sun, 30 Jun 2013 11:03:09 +0000 (11:03 +0000)]
First attempt to implement tracking from all clusters
- Filling arrays for inner and outer sectors
- Function for track fitting from given seeds (not completed)
- Use AliTPCtracker to associate clusters to tracks (not completed, how to do?)
hljunggr [Fri, 28 Jun 2013 16:11:10 +0000 (16:11 +0000)]
added method RunSimulation2(const Bool_t equalspacing, const Int_t type, const Int_t nevents, const Int_t ntracks) which makes it possible to run both the simple toy sim and use ESD input either with equal bunch spacing or train structure where the number of events per crossing is drawn from a poisson dist.
equalSpacing true (false) = fixed freq (bunch train)
type == 0: toy
type==1: esd input
hljunggr [Thu, 27 Jun 2013 06:58:13 +0000 (06:58 +0000)]
added method RunSimulationBunchTrain(constInt_t nevents,const Int_t ntracks) to simulate bunch train structure. So far, all parameters are hardcoded. A bunch spacing of 50e-9, abort gap of 3 microseconds and even train spacing is used. Number of collisions in one crossing drawn from poisson dist.
This is only implemented for the simple toy event generation so far (no ESDs yet).
hljunggr [Thu, 27 Jun 2013 06:47:51 +0000 (06:47 +0000)]
Visualization class. To use
AliToyMCDrawer* draw = new AliToyMCDrawer()
draw->SetFileName("path/to/toyMC.root")
draw->FillEventArray(Int_t centerEventNumber)
or
draw->FillEventArray(Double_t time)
to display with a certain event in the center or at a certain time
draw->DrawEvents(Bool_t both, Bool_t before)
where "both" will display events before and after the middle event and
before will show also events before (after) the middle event if true (false)
when "both" is false
hljunggr [Wed, 26 Jun 2013 12:25:28 +0000 (12:25 +0000)]
Added possibility to use ESD input
to use:
root -l macros/{loadlibs.C,ConfigOCDB.C}
AliToyMCEventGeneratorSimple s
s.SetInputESD("path/to/root_archive.zip")
s.RunSimulationESD(nevents, ntracks)
nevents sets the number of events with ntracks!=0 to be used
ntracks sets the maximum number of tracks in each event to be used