Skip to content
Snippets Groups Projects
user avatar
hallc-online authored
Main purposes:
1) Add the possibility of multiple ADC hits per channel and
   select best ADC by a time window.
2) Change ProcessHits method in ShowerPlane and ShowerArray to only
    fill "raw" TClonesArrays.
3) Add CoarseProcessHits method to ShowerPlane and ShowerArray
    to fill the "good" data arrays from call in THcShower:CoarseProcess
4) Moved code to fill Track object with energy from FineProcess
   to CoarseProcess so that the Track->Get(Energy) can be used by other
    detectors in their FineProcess.
5) FineProcess loops over Track object add gets Track energy
6) Add AdcErrorFlag TClonesArray to be filled to check for
   problems with FADC




THcShower.h
1) Add methods GetADCMode(),GetAdcTimeWindowMin(),GetAdcTimeWindowMax()
    so that the ShowerPlane can access these parameters
2) Add parameters ADCMode,fAdcTimeWindowMin,fAdcTimeWindowMax
3) Add variables
   fNclustTrack : NUmber of cluster that matches best track
   fXclustTrack : X pos of cluster that matches best track
   fXTrack      : X pos of best track that matches cluster
   fEtrack  : Cluster energy associated with best track
   fEtrackNorm  : Cluster energy/Track momentum associated with best track
THcShower.cxx
1) Add calls to THcShowerPlane and THcShowerArray CoarseProcessHits
    in CoarseProcess
2) Moved filling of Energy in Track object to CoarseProcess
3) In FineProcess get the "best" Track object and match
   Track energy and trajectory to cluster.

THcShowerArray.h and cxx
1)add parameters fADCMode, fAdcTimeWindowMin and fAdcTimeWindowMax
2) Add method CoarseProcessHits
3) In ProcessHits fill fPosThresh and fNegThresh with a fix
    value of 250 integrated channels above pedestal.
     Need to make this a parameter.

THcShowerPlane.h and cxx
1)Gets fADCMode, fAdcTimeWindowMin and fAdcTimeWindowMax from THcShower
2) Add method CoarseProcessHits
3) In ProcessHits fill fPosThresh and fNegThresh with a fix
    value of 250 integrated channels above pedestal.
     Need to make this a parameter.
6ad9abcf
History

hcana - Hall C ROOT/C++ analyzer

hcana is an under-development tool to analyze data from the HMS, SHMS and SOS spectrometers in Hall C at JLab. It is being developed to replace the historical Hall C analyzer, ENGINE, which was written in Fortran. hcana will be the package used to analyze Hall C date in the 12 GeV era. hcana is being written in C++, using the CERN ROOT framework. hcana is an extension to the Hall A analyzer, PODD.

NOTE: In the process of retrieving the hcana source code, a copy of the Hall A PODD package will be downloaded. The version of PODD included has been slightly modified for use with hcana. For an official version of PODD, see the ROOT/C++ Analyzer for Hall A page.

Downloading

Instructions for downloading hcana can be found in the Hall C Wiki.

Compiling

hcana may be compiled with either make or scons. Switching between these two build systems make require some cleanup of dependency files, binary files and other autogenerated files.

Before compiling, type source setup.sh or source setup.csh depending on whether your shell is bash or csh.

Compiling with make

make

Compiling with scons

scons

Additional SCons features

To do the equivalent of "make clean", do scons -c To compile with debug capabilities, do scons debug=1 To compile the standalone codes the are part of podd, do scons standalone=1 To run cppcheck (if installed) on the Hall C src diretory, do scons cppcheck=1

Running

Basic instructions on how to run hcana are in the Hall C Wiki.

Contributing

To participate in hcana code development, contact Mark Jones or Stephen Wood.