TPC Analyzer written in F.

 
TPCtrack.f95
Event reconstruction, tracking
eventVeto: veto events if amplitudes in veto groups (iGroupV) too high, not enough hits in seed rows (iRow1,iRow2), not enough hits in track rows (iRowT).
findSeedTrack: find a seed track to be used as start value for the track fit. There are two sets of rows given (iRow1,iRow2). In each set the pad with the highest amplitude is found. A X-Y coordinate is determined as an amplitude weighted average of this pad and its neighbours within the row-set. The line connecting the coordinates in the two sets is the seed track.
deMultiplex: set the amplitudes of all pads to -1 apart from the one pad in each group that is closest to the seed track.

time (Z-Y) track fits:
TimeFit: perform a Z-Y track fit, 2 parameters: T(Y=0) and a slope, track rows iRowT are used.
TimeLine: equivalent to TimeFit but faster, uses linear regression.
TimeFitZ: same as TimeLine but returns a line (Ztrack).

Spatial (X-Y) track fits: Overview. The seedTrack is input and the fitted track is returned on the same parameter. The type can be a line or a XYtrack. In the latter case the radius is fitted too. The likelihood is determined from a uniform line of charge with gaussian profile or PadResponsFunction (LPRF=.TRUE.), expected amplitudes are normalised within each row, negative loglikelihood is minimized with MINUIT.
TrackFitWidth: perform a X-Y track fit, width is free parameter, additional parameters: X(Y=0), PHI (and radius).
TrackFitXY: perform a X-Y track fit, width is fixed depending on drift distance z, parameters: X(Y=0), PHI (and radius).
TrackFitX: only X(Y=0) is free, the other parameters are fixed to the values of the track given.
ROWCHI (PRIVATE): likelihood for trackfit. Takes all pads in the row into account.
ROWCHItrunc (PRIVATE): likelihood for trackfit. Uses only a given number of pads closest to the track.
ROWCHIPRF (PRIVATE): chisq for trackfit.
AERR: Error on amplitudes for ROWCHIPRF.
Needs parameters AERRpar be set properly.
PRF: calculates the integrated charge on a pad from Gaussian charge profile or pad response function, takes bias into account.
QRAT (PRIVATE): ratio of quartics for pad response function.
Needs parameters TrackWidth, PRFdel, PRF be set properly.

TPCio.f95

input / output
IOinitialize: open all files, read which data to process (TPCfiles.txt), initialize PAW and MINUIT, call ReadInput and ReadLayout.
IOend: close all files, write histograms and Ntuples to file.
OPENData: open the data file, determine from the extention which data format to use.
ReadHeader: wrapper to read the run header in the right format.
ReadEvent: wrapper to read the event in the right format.
readCalibData: for normal runs reads information from TPCcalib.txt, TPCpedestal.txt, TPCgain.txt, TPCftime.txt. If files are not available defaults are used.
ReadInput (PRIVATE): read information stored in Threshold from TPCinput.txt.
ReadLayout (PRIVATE): read pad layout from TPClayout.txt, allocate arrays.

DataFormats.f95
knows the different data formats
Write DenseData:
WriteDenseHeader: write run header.
WriteDenseData: write event, optionally including additional information (array), e.g. track.
WriteEndOfRun: write end of run mark.

Read DenseData:
OPENDense: open DenseData file.
ReadDenseHeader: read run header.
ReadDenseEvent: read event.

MIDAS:
OPENMIDAS: open MIDAS or JTPC file.
ReadMIDASHeader: read run header, fills number of time bins and number of groups.
ReadMIDASEvent: read event, fill ADC spectrum for all groups.

LCIO:
OPENLCIO: open LCIO file.
ReadLCIOHeader: read comment from run header, scan first 10 events for information on time bins.
ReadLCIOEvent: read event and MCparticle if available.


Back to Index

 
© 2006 Carleton University 1125 Colonel By Drive, Ottawa, Ontario, K1S 5B6 Canada (613) 520-7400
| Contacts |
Canada's Capital University