This is a data analysis project specifically for the Active Target- Time Projection Chamber

The original ATTPRRoot is written by a postdoc(Yassid) at MSU, but the code relies on a scientific software package FairRoot, which is notoriously difficult to install. Thus a modified version is released here.


This software fake up the dependencies on FairRoot and also TClonesArray from Root. Each "Task" class implement its own Fill method for storing data to disk. A separate python code is used for converting the Root tree data file to MySQL database, which is again used by another Python script "Visualizer.py" to visualize the trajectories.

ATDecoder folder is really the "decoder", which map all the binary data to data for each pad for 512 time bins. The geometric structure of the pads are in Fig. 1.

ATDecoder2Task: simply create a ATDecoder and pass the decoded events "RawEvents" to the next task;

ATPSATask: This analyze the 512 bins for each pad, and extract the time position of the peak, which is used to calculate the z position from the electron drifting time. The x,y posiitons are simply the centroid of the pad.

ATPhirecoask: As each pad outside ring number 10 will be further divided into two wedges, this task calculate the signal ratio between the two wedges to obtain the Phi information, which is further used to calculate finer x,y positions. However, these finer x,y positions are not currently used.

ATHoughTask: This one use the hough transform to obtain the trajectory angles.

ATAnalysisTask: Supposedly, this one used the angles to obtain reaction angles and energies in CMS frame.


Above description is for the original ATTPCRoot code. The new tbjcATPPCroot visualize trajectories using Python script. This requires installation of MySQL.

The installation procedure in Notre Dame CRC is documented in http://wiki.crc.nd.edu/wiki/index.php/Building/running_MySQL_on_your_AFS_space. However, the version is slightly outdated. For MySQL 5.7, mysql_install_db is not used anymore, instead,

This line, will initialize the database and randomly generate a password, which you will need after the installation.

After the installation, you will need to create a user, beyond "root". To do that,

and type in the temporary password you had. Then create a user

and grant privileges to this user

In case, you encounter an error of permission, one can try delete all files (not folders, that is your data) in folder "data". For errors of "can not open "my.sock", it means, the crc-mysql.server is not running.

Leave a Reply

Your email address will not be published. Required fields are marked *