CalDetTracker

Contents

Contact Name

Jeff Hartnell + Chris Smith.

Overview

This package provides a custom tracker for the MINOS calibration detector that was used extensively in the calibration and analysis of the CalDet data. There are two distinct tracking modes: one for straight cosmics muons and one for particles that have track-like energy depositions and that may stop in the detector.

Much of the information from CalDetSI and CalDetPID packages is written out so as to allow selection of a clean sample of a given particle type.

There is also code to analyse the output of the tracker to perform strip-to-strip and MEU calibrations among other things.

Input/Output

Input Objects

The tracker requires a "triggered" (event-like snarls) input file; they can be distinguished by *.tdaq.root rather than the more common *.mdaq.root files. 

Output Objects

The output objects of the tracker are all stored in a TTree in a file typically called Tracker*.root. Some of the objects are created on a per snarl basis and others only once per file.

The tree is called:
  ftree=new TTree("TrackerTree","Tracker Tree");
 
These tree branches are written to on a per snarl basis:
  ftree->Branch("Snarl",&fsnarl,"snarl/I",32000);
  if(fWritePID==1) ftree->Branch("PIDInfo","CDPIDInfo",&fPID,8000,1);
  ftree->Branch("TrackInfo","CDTrackInfo",&fTrkInfo,8000,1);
  ftree->Branch("TrackedHitInfo","TClonesArray",&fTrkHits,8000,1);
  ftree->Branch("StraightTrackedHitInfo","TClonesArray",&fStTrkHits,8000,1);
  ftree->Branch("CCHitInfo","TClonesArray",&fCCHits,8000,1);
  ftree->Branch("XTalkHitInfo","TClonesArray",&fXTalkHits,8000,1);
  ftree->Branch("UnTrackedHitInfo","TClonesArray",&fUnTrkHits,8000,1);
  if (fWriteTruth) ftree->Branch("TruthHitInfo","TClonesArray",&fTruthHits,8000,1);

These branches are written to once per file:
    TTree opt_tree("TrackerOptions","Tracker Options");
    opt_tree.Branch("SimFlag",&fSimFlag,"SimFlag/I",32000);
    opt_tree.Branch("BeamMomentum",&fBeamMomentum,"BeamMomentum/F",32000);
    opt_tree.Branch("Run",&frun,"run/I",32000);
    opt_tree.Branch("TrackerOptions","CDTrackerOptions",&fTrkOpt,8000,1);

The TrackedHitInfo objects are stored in a separate TClonesArray for each event. There is a separate TrackedHitInfo object in the TClonesArray for each stripend in the event. Similarly for the CCHitInfo, XTalkHitInfo, UnTrackedHitInfo, StraightTrackedHitInfo.

The TruthHitInfo object is similar to the TrackedHitInfo object except that the information is stored on a strip rather than stripend basis.

The TrackerOptions branch stores the tracker configuration parameters.

The PIDInfo stores the information about the Ckv counters and TOF hits etc. It also stores the auto PID results from the CalDetPID package. In the case of MC it stores the true particle momentum and PID but nothing else.

The Truth and PID objects are not written out by default.

Analysis
The analysis classes output various histogram files, text files, graphics and text output on the screen.

Event Display
The event display can be found in the CalDetTracker/CDEvDisplay directory. There are scripts to run it there too.

Database Access

Most of the database access in this package is done via other packages, e.g. Calibrator, Plex, CalDetSI/PID, etc. However the beam momentum for the actual beam-data runs is obtained directly from a database table.

Configuring & Running

The tracker is configured using the tracker.C macro. There are options to configure the CDPreFilterModule, which can perform cuts on the data at an early to eliminate unwanted output.

For running on MC the mcTracker.C macro should be used.

The analysis is run using the CDAna.C macro; analysis methods are run by uncommenting them in the file.

Chris's strip-to-strip calibration code is to be found in the CalDetTracker/MuonCalib directory.

Further Links


Jeff Hartnell Last Modified: $Date: 2004/07/13 13:47:59 $