Difference between revisions of "ROOT Analyzer/Running"

From HallCWiki
Jump to: navigation, search
(Describe how to demonstrate hodoscope hit decoding.)
Line 1: Line 1:
 
[[category:12GeV Software]]
 
[[category:12GeV Software]]
The current Hall C C++ analyzer code does not do anything useful except for reading in Hall C style CTP parameter files.
+
As of the tag "HodoscopeHits" in the master branch, the Hall C++ analyzer will read Hall C style CTP parameter files, and read a Hall C data file and sort HMS hodoscope data into Hall C style hit lists.
  
To run the analyzer, type
+
== Updating software ==
 +
 
 +
To make sure the software is up to date, do
 +
 
 +
  git pull
 +
 
 +
in both the top hcana directory and the "podd" sub directory and make sure you are on the "master" branch for both.  The hcana code should be at tag "HodoscopeHits" or later and the podd tag snould be "1.5.22_HC02" or later.
 +
 
 +
== Decoding hodoscope hits ==
 +
 
 +
To demonstrate the analyzer decoding hits, retrieve the file [https://userweb.jlab.org/~saw/software/hcana_testing_work.tar.gz hcana_testing_work.tar.gz].  Unpack it into your hcana directory which will make a subdirectory "work".  After making sure the analyzer is cleanly compiled, from "work" do:
 +
 
 +
  ../hcana
 +
  .x hodtest.C
 +
 
 +
hodtest.C is a script that sets up an analysis.  Look in podd/examples for Hall A analyzer script examples.
 +
 
 +
The analyzer does nothing Hall C specific beyond printing hits.  But it does serve as an example of how to decode hits for other detectors and as a starting point for writing detector analysis code.
 +
 
 +
== Parameters ==
 +
To try just reading parameters, run the analyzer from the top directory.
  
 
   ./hcana
 
   ./hcana

Revision as of 13:18, 24 April 2012

As of the tag "HodoscopeHits" in the master branch, the Hall C++ analyzer will read Hall C style CTP parameter files, and read a Hall C data file and sort HMS hodoscope data into Hall C style hit lists.

Updating software

To make sure the software is up to date, do

 git pull

in both the top hcana directory and the "podd" sub directory and make sure you are on the "master" branch for both. The hcana code should be at tag "HodoscopeHits" or later and the podd tag snould be "1.5.22_HC02" or later.

Decoding hodoscope hits

To demonstrate the analyzer decoding hits, retrieve the file hcana_testing_work.tar.gz. Unpack it into your hcana directory which will make a subdirectory "work". After making sure the analyzer is cleanly compiled, from "work" do:

 ../hcana
 .x hodtest.C

hodtest.C is a script that sets up an analysis. Look in podd/examples for Hall A analyzer script examples.

The analyzer does nothing Hall C specific beyond printing hits. But it does serve as an example of how to decode hits for other detectors and as a starting point for writing detector analysis code.

Parameters

To try just reading parameters, run the analyzer from the top directory.

 ./hcana

Once it starts up, type

 gHcParms->Load("hctest.input")

To dump the parameters read

 gHcParms->PrintFull()

Some examples of accessing individual variables

 analyzer [3]  Double_t ProtonMass = *(Double_t *)gHcParms->Find("proton")->GetValuePointer();
 analyzer [4] ProtonMass
 (Double_t)9.38272000000000048e+02
 analyzer [5] Int_t *integerarray = (Int_t *)gHcParms->Find("integerarray")->GetValuePointer();
 analyzer [6] integerarray[3]
 (Int_t)4