Newer
Older
Buddhini Waidyawansa
committed
{
//
Buddhini Waidyawansa
committed
// Steering script to test raster signal decoding
Buddhini Waidyawansa
committed
//
Int_t RunNumber=52947;
char* RunFileNamePattern="/cache/mss/hallc/daq04/raw/daq04_52947.log.0";
Buddhini Waidyawansa
committed
// Open the database
//
Buddhini Waidyawansa
committed
gHcParms->Define("gen_run_number", "Run Number", RunNumber);
gHcParms->AddString("g_ctp_database_filename", "DBASE/raster_test.database");
Buddhini Waidyawansa
committed
gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber);
Buddhini Waidyawansa
committed
// Open and load parameter files
//
gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber);
Buddhini Waidyawansa
committed
gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename"));
Buddhini Waidyawansa
committed
// parameters not found in usual engine parameter files
Buddhini Waidyawansa
committed
gHcParms->Load("PARAM/hcana.param");
Buddhini Waidyawansa
committed
// Generate db_cratemap to correspond to map file contents
// make_cratemap.pl scripts reads a Hall C style MAP file and output a
// Hall A style crate map DB file
Buddhini Waidyawansa
committed
//
Buddhini Waidyawansa
committed
char command[100];
sprintf(command,"./make_cratemap.pl < %s > db_cratemap.dat",gHcParms->GetString("g_decode_map_filename"));
system(command);
Buddhini Waidyawansa
committed
Buddhini Waidyawansa
committed
// Load the Hall C style detector map
Buddhini Waidyawansa
committed
//
Buddhini Waidyawansa
committed
gHcDetectorMap=new THcDetectorMap();
gHcDetectorMap->Load(gHcParms->GetString("g_decode_map_filename"));
Buddhini Waidyawansa
committed
// Set up the equipment to be analyzed.
//
// HMS and its detectors
Buddhini Waidyawansa
committed
THaApparatus* HMS = new THcHallCSpectrometer("H","HMS");
gHaApps->Add( HMS );
// Add hodoscope
HMS->AddDetector( new THcHodoscope("hod", "Hodoscope" ));
HMS->AddDetector( new THcShower("cal", "Shower" ));
HMS->AddDetector( new THcDC("dc", "Drift Chambers" ));
Buddhini Waidyawansa
committed
HMS->AddDetector( new THcAerogel("aero", "Aerogel Cerenkov" ));
HMS->AddDetector( new THcCherenkov("cher", "Gas Cerenkov" ));
// Beamline and its detectors
THaApparatus * BEAM = new THcRasteredBeam("RB","Rastered Beamline");
Buddhini Waidyawansa
committed
gHaApps->Add( BEAM );
Buddhini Waidyawansa
committed
// Set up the analyzer - we use the standard one,
// but this could be an experiment-specific one as well.
// The Analyzer controls the reading of the data, executes
// tests/cuts, loops over Acpparatus's and PhysicsModules,
// and executes the output routines.
Buddhini Waidyawansa
committed
//
Buddhini Waidyawansa
committed
THcAnalyzer* analyzer = new THcAnalyzer;
Buddhini Waidyawansa
committed
// A simple event class to be output to the resulting tree.
// Creating your own descendant of THaEvent is one way of
// defining and controlling the output.
Buddhini Waidyawansa
committed
//
Buddhini Waidyawansa
committed
THaEvent* event = new THaEvent;
Buddhini Waidyawansa
committed
// Define the run(s) that we want to analyze.
// We just set up one, but this could be many.
Buddhini Waidyawansa
committed
char RunFileName[100];
sprintf(RunFileName,RunFileNamePattern,RunNumber);
THaRun* run = new THaRun(RunFileName);
Buddhini Waidyawansa
committed
// Eventually need to learn to skip over, or properly analyze
// the pedestal events
Buddhini Waidyawansa
committed
//
run->SetEventRange(1,2000);// Physics Event number, does not
Buddhini Waidyawansa
committed
// include scaler or control events
Buddhini Waidyawansa
committed
// Define the analysis parameters
Buddhini Waidyawansa
committed
//
analyzer->SetEvent(event);
analyzer->SetOutFile("raster_compare_52947.root");
analyzer->SetOdefFile("output_bpw.def");
analyzer->SetCutFile("hodtest_cuts.def"); // optional
Buddhini Waidyawansa
committed
analyzer->SetCountMode(2);// Counter event number same as gen_event_ID_number
Buddhini Waidyawansa
committed
// File to record cuts accounting information
// analyzer->SetSummaryFile("summary_example.log"); // optional
Buddhini Waidyawansa
committed
// start the actual analysis
//
analyzer->Process(run);
Buddhini Waidyawansa
committed
analyzer->PrintReport("report.template","report.out");
}