Difference between revisions of "Documentation/HCANA"

From HallCWiki
Jump to navigationJump to search
(New page: category:12GeV Software == Hall C HCANA C++ Analyzer software flow == *The following builds on description at https://hallaweb.jlab.org/podd/doc/standard-analyzer.html 1) Loops throu...)
 
Line 1: Line 1:
 +
[[category:12GeV Software]]
 
[[category:12GeV Software]]
 
[[category:12GeV Software]]
 
== Hall C HCANA  C++ Analyzer software flow ==
 
== Hall C HCANA  C++ Analyzer software flow ==

Revision as of 08:57, 15 March 2017

Hall C HCANA C++ Analyzer software flow

1) Loops through each apparatus calling Decode method for each detector

a)  THcDC::Decode 
    1) Gets raw data form hitlist
    2) Loops thru chambers and calls fChambers[ic]->ProcessHits 
         which fills THcDCHIT
b)  THcHodoscope::Decode
    1) Gets raw data form hitlist
    2) Loops through each plane
      a) fPlanes[ip]->ProcessHits(fRawHitList,nexthit)
      b) all hits in plane 
          fPlanes[ip]->PulseHeightCorrection()
          loops over fPlanes[ip]->GetNScinGoodHits to set fStartTime and fNfptimes++
            which are needed by drift chambers.
c) THcShower::Decode
    1) Gets raw data form hitlist
    2) Loops through layers and calls fPlanes[ip]->ProcessHits(fRawHitList, nexthit)

2) Loops thru each spectrometer calling THaSpectrometer::CoarseReconstruct() which Loops through tracking detectors and calls its CoarseTrack

    a) THcDC::CoarseTrack find all tracks  focal plane quantities
    b) Then loops through non-tracking detectors to call their CoarseProcess
              1) THcHodoscope does nothing. 
              2) THcShower fills THcShowerHit, THcShowerClusterList 
              3) THcAerogel does nothing.
              4) THcCerenkov fills higher level arrays like fADC_p
      

3) Loops through each spectrometer calling THaSpectrometer::Reconstruct()

   a)  each spectrometer calling THaSpectrometer::Track()  
       1) Loops through tracking detectors and calls its FineTrack which does nothing in THcDC
       2)  Calls THcHallCSpectrometer::FindVertices calculates target quantities and fill track momentum      
    b) Loops thru nontracking detectors calling there FineProcess
          1) THcHodoscope calculate the beta use track information
          2) THcShower matches cluster and track.
          3) THcCerenkov does test to match track to region of Cherenkov
          4) THcAerogel does nothing
    c) Calls THcHallCSpectrometer::TrackCalc() fills the golden track
    d) Calls CalcPID which is suppose to combine PID info using  THaPIDinfo class.

4) Loops through PhysicsModules