Skip to content
Snippets Groups Projects
Commit 997a20ea authored by Cdaq Account's avatar Cdaq Account
Browse files

Add report template to example script

Made replay_hms_report.C which expands on replay_hms.C
Need to create REPORT_OUTPUT directory
parent a7180abb
No related branches found
No related tags found
No related merge requests found
......@@ -4,3 +4,4 @@ ROOTfiles/*
hcana
raw
.root_history
REPORT_OUTPUT/*
This diff is collapsed.
# Demo cuts for hodtest
#
Block: RawDecode
Pedestal_event g.evtyp==4
scalar_event g.evtyp==0
HMS_event g.evtyp==1
SHMS_event g.evtyp==1
coin_event g.evtyp==3
misc_event g.evtyp>=5
hmscoin_event g.evtyp==1||g.evtyp==3
shmscoin_event g.evtyp==2||g.evtyp==3
all_event g.evtyp==1||g.evtyp==2||g.evtyp==3
RawDecode_master 1
Block: Decode
Decode_master HMS_event
Block: CoarseTracking
CoarseTracking_master HMS_event
all_trigs g.evtyp==1 || g.evtyp==2 || g.evtyp==3
hms_shms_trig g.evtyp==1 || g.evtyp==2
hms_coin_trig g.evtyp==1 || g.evtyp==3
hmsDC1Planes_large (H.dc.1x1.nhit+H.dc.1y1.nhit+H.dc.1u1.nhit+H.dc.1v1.nhit+H.dc.1x2.nhit+H.dc.1y2.nhit) >20
hmsDC2Planes_large (H.dc.2x1.nhit+H.dc.2y1.nhit+H.dc.2u1.nhit+H.dc.2v1.nhit+H.dc.2x2.nhit+H.dc.2y2.nhit) >20
hmsDC1_1hit_x1 H.dc.1x1.nhit == 1
hmsDC1_1hit_y1 H.dc.1y1.nhit == 1
hmsDC1_1hit_u1 H.dc.1u1.nhit == 1
hmsDC1_1hit_v1 H.dc.1v1.nhit == 1
hmsDC1_1hit_y2 H.dc.1y2.nhit == 1
hmsDC1_1hit_x2 H.dc.1x2.nhit == 1
hmsDC2_1hit_x1 H.dc.2x1.nhit == 1
hmsDC2_1hit_y1 H.dc.2y1.nhit == 1
hmsDC2_1hit_u1 H.dc.2u1.nhit == 1
hmsDC2_1hit_v1 H.dc.2v1.nhit == 1
hmsDC2_1hit_y2 H.dc.2y2.nhit == 1
hmsDC2_1hit_x2 H.dc.2x2.nhit == 1
hmsDC1Planes6hits (H.dc.1x1.nhit+H.dc.1y1.nhit+H.dc.1u1.nhit+H.dc.1v1.nhit+H.dc.1x2.nhit+H.dc.1y2.nhit) ==6
hmsDC2Planes6hits (H.dc.2x1.nhit+H.dc.2y1.nhit+H.dc.2u1.nhit+H.dc.2v1.nhit+H.dc.2x2.nhit+H.dc.2y2.nhit )==6
hmsDC1_5hits_x1 (H.dc.1y1.nhit+H.dc.1u1.nhit+H.dc.1v1.nhit+H.dc.1x2.nhit+H.dc.1y2.nhit)==5
hmsDC1_5hits_y1 (H.dc.1x1.nhit+H.dc.1u1.nhit+H.dc.1v1.nhit+H.dc.1x2.nhit+H.dc.1y2.nhit)==5
hmsDC1_5hits_u1 (H.dc.1x1.nhit+H.dc.1y1.nhit+H.dc.1v1.nhit+H.dc.1x2.nhit+H.dc.1y2.nhit)==5
hmsDC1_5hits_v1 (H.dc.1x1.nhit+H.dc.1y1.nhit+H.dc.1u1.nhit+H.dc.1x2.nhit+H.dc.1y2.nhit)==5
hmsDC1_5hits_x2 (H.dc.1x1.nhit+H.dc.1y1.nhit+H.dc.1u1.nhit+H.dc.1v1.nhit+H.dc.1y2.nhit)==5
hmsDC1_5hits_y2 (H.dc.1x1.nhit+H.dc.1y1.nhit+H.dc.1u1.nhit+H.dc.1v1.nhit+H.dc.1x2.nhit)==5
hmsDC2_5hits_x1 (H.dc.2y1.nhit+H.dc.2u1.nhit+H.dc.2v1.nhit+H.dc.2x2.nhit+H.dc.2y2.nhit)==5
hmsDC2_5hits_y1 (H.dc.2x1.nhit+H.dc.2u1.nhit+H.dc.2v1.nhit+H.dc.2x2.nhit+H.dc.2y2.nhit)==5
hmsDC2_5hits_u1 (H.dc.2x1.nhit+H.dc.2y1.nhit+H.dc.2v1.nhit+H.dc.2x2.nhit+H.dc.2y2.nhit)==5
hmsDC2_5hits_v1 (H.dc.2x1.nhit+H.dc.2y1.nhit+H.dc.2u1.nhit+H.dc.2x2.nhit+H.dc.2y2.nhit)==5
hmsDC2_5hits_x2 (H.dc.2x1.nhit+H.dc.2y1.nhit+H.dc.2u1.nhit+H.dc.2v1.nhit+H.dc.2y2.nhit)==5
hmsDC2_5hits_y2 (H.dc.2x1.nhit+H.dc.2y1.nhit+H.dc.2u1.nhit+H.dc.2v1.nhit+H.dc.2x2.nhit)==5
h1hit1 H.dc.1x1.nhit >= 1
h1hit2 H.dc.1y1.nhit >= 1
h1hit3 H.dc.1u1.nhit >= 1
h1hit4 H.dc.1v1.nhit >= 1
h1hit5 H.dc.1y2.nhit >= 1
h1hit6 H.dc.1x2.nhit >= 1
h2hit1 H.dc.2x1.nhit >= 1
h2hit2 H.dc.2y1.nhit >= 1
h2hit3 H.dc.2u1.nhit >= 1
h2hit4 H.dc.2v1.nhit >= 1
h2hit5 H.dc.2y2.nhit >= 1
h2hit6 H.dc.2x2.nhit >= 1
hms1HitsLt H.dc.Ch1.nhit <= H.dc.Ch1.maxhits && g.evtyp==1
hms2HitsLt H.dc.Ch2.nhit <= H.dc.Ch2.maxhits && g.evtyp==1
hmsHitsLt H.dc.Ch1.nhit <= H.dc.Ch1.maxhits && H.dc.Ch2.nhit <= H.dc.Ch2.maxhits && g.evtyp==1
hmsDC1PlanesGT (h1hit1 + h1hit2 + h1hit3 + h1hit4 + h1hit5 + h1hit6 )>=5
hmsDC2PlanesGT (h2hit1 + h2hit2 + h2hit3 + h2hit4 + h2hit5 + h2hit6 )>=5
hmsPlanesGT hmsDC1PlanesGT && hmsDC2PlanesGT
hmsHitsPlanes (H.dc.Ch1.nhit <= H.dc.Ch1.maxhits) && (H.dc.Ch2.nhit <= H.dc.Ch2.maxhits) && hmsPlanesGT
hSpacePoints H.dc.Ch1.spacepoints >= 1 && H.dc.Ch2.spacepoints >=1
hSpacePointsStub H.dc.stubtest==1 && H.dc.Ch1.spacepoints >=1 && H.dc.Ch2.spacepoints >=1
hFoundTrack H.dc.ntrack>0
hStubLT H.dc.stubtest==1
f1HSpacePoints hms1HitsLt && hmsDC1PlanesGT && H.dc.Ch1.spacepoints==0 && g.evtyp==1
f2HSpacePoints hms2HitsLt && hmsDC2PlanesGT && H.dc.Ch2.spacepoints==0 && g.evtyp==1
hTest1 hmsHitsPlanes && (!hSpacePoints)
hTest2 hSpacePoints && (!hStubLT)
Block: CoarseReconstruct
CoarseReconstruct_master HMS_event
Block: Tracking
Tracking_master HMS_event
Block: Reconstruct
Reconstruct_master HMS_event
HMSScinGood H.hod.goodscinhit == 1
HMSScinShould HMSScinGood && H.cal.etotnorm > 0.7 && H.cer.npesum > 2.0
HMSScinShoulde HMSScinGood && H.cer.npesum > 2.0
HMSScinShouldh H.hod.goodscinhit == 1 && g.evtyp == 1
HMSScinDid HMSScinShould && H.dc.ntrack > 0
HMSScinDide HMSScinShoulde && H.dc.ntrack > 0
HMSScinDidh HMSScinShouldh && H.dc.ntrack > 0
goodHDC1x1 H.dc.1x1.nhit > 0 && H.dc.1x1.nhit < 3
goodHDC1y1 H.dc.1y1.nhit > 0 && H.dc.1y1.nhit < 3
goodHDC1u1 H.dc.1u1.nhit > 0 && H.dc.1u1.nhit < 3
goodHDC1v1 H.dc.1v1.nhit > 0 && H.dc.1v1.nhit < 3
goodHDC1y2 H.dc.1y2.nhit > 0 && H.dc.1y2.nhit < 3
goodHDC1x2 H.dc.1x2.nhit > 0 && H.dc.1x2.nhit < 3
goodHDC2x1 H.dc.2x1.nhit > 0 && H.dc.2x1.nhit < 3
goodHDC2y1 H.dc.2y1.nhit > 0 && H.dc.2y1.nhit < 3
goodHDC2u1 H.dc.2u1.nhit > 0 && H.dc.2u1.nhit < 3
goodHDC2v1 H.dc.2v1.nhit > 0 && H.dc.2v1.nhit < 3
goodHDC2y2 H.dc.2y2.nhit > 0 && H.dc.2y2.nhit < 3
goodHDC2x2 H.dc.2x2.nhit > 0 && H.dc.2x2.nhit < 3
goodHDC1 goodHDC1x1 && goodHDC1y1 && goodHDC1u1 && goodHDC1v1 && goodHDC1y2 && goodHDC1x2
goodHDC2 goodHDC2x1 && goodHDC2y1 && goodHDC2u1 && goodHDC2v1 && goodHDC2y2 && goodHDC2x2
bothGood goodHDC1 && goodHDC2
realhdc1x1 goodHDC1x1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
realhdc1y1 goodHDC1y1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
realhdc1u1 goodHDC1u1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
realhdc1v1 goodHDC1v1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
realhdc1y2 goodHDC1y2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
realhdc2x2 goodHDC1x2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
realhdc2x1 goodHDC2x1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
realhdc2y1 goodHDC2y1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
realhdc2u1 goodHDC2u1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
realhdc2v1 goodHDC2v1 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
realhdc2y2 goodHDC2y2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
realhdc2x2 goodHDC2x2 && ((H.dc.Ch1.spacepoints+H.dc.Ch2.spacepoints)>0)
hFound1Track H.dc.ntrack == 1
hFound2Track H.dc.ntrack == 2
hFound3Track H.dc.ntrack == 3
hFound4Track H.dc.ntrack == 4
hCleanTrack H.gtr.index > -1
1hCleanTrack H.gtr.index == 0
2hCleanTrack H.gtr.index == 1
3hCleanTrack H.gtr.index == 2
4hCleanTrack H.gtr.index == 3
anyhs1x H.hod.1x.nhits > 0
anyhs1y H.hod.1y.nhits > 0
anyhs2x H.hod.2x.nhits > 0
anyhs2y H.hod.2y.nhits > 0
goodhs1x H.hod.1x.nhits > 0 && H.hod.1x.nhits < 3
goodhs1y H.hod.1y.nhits > 0 && H.hod.1y.nhits < 3
goodhs1 goodhs1x && goodhs1y
goodhs2x H.hod.2x.nhits > 0 && H.hod.2x.nhits < 3
goodhs2y H.hod.2y.nhits > 0 && H.hod.2y.nhits < 3
goodhs2 goodhs2x && goodhs2y
goodhs1s2 goodhs1 && goodhs2
Block: Physics
Physics_master HMS_event
This diff is collapsed.
This diff is collapsed.
void replay_hms_report(Int_t RunNumber=0, Int_t MaxEvent=0) {
// Get RunNumber and MaxEvent if not provided.
if(RunNumber == 0) {
cout << "Enter a Run Number (-1 to exit): ";
cin >> RunNumber;
if( RunNumber<=0 ) return;
}
if(MaxEvent == 0) {
cout << "\nNumber of Events to analyze: ";
cin >> MaxEvent;
if(MaxEvent == 0) {
cerr << "...Invalid entry\n";
exit;
}
}
// Create file name patterns.
const char* RunFileNamePattern = "raw/hms_all_%05d.dat";
const char* ROOTFileNamePattern = "ROOTfiles/hms_replay_%d.root";
// Add variables to global list.
gHcParms->Define("gen_run_number", "Run Number", RunNumber);
gHcParms->AddString("g_ctp_database_filename", "DBASE/standard.database");
// Load varibles from files to global list.
gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber);
// g_ctp_parm_filename and g_decode_map_filename should now be defined.
gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber);
gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename"));
// Load params for HMS trigger configuration
gHcParms->Load("PARAM/TRIG/thms.param");
// Load the Hall C style detector map
gHcDetectorMap = new THcDetectorMap();
if ( RunNumber > 243) {
gHcDetectorMap->Load("MAPS/HMS/DETEC/hms_stack_spring17_current_run.map");
} else {
gHcDetectorMap->Load("MAPS/HMS/DETEC/hms_stack_spring17_run_00001_00243.map");
}
// Add trigger apparatus
THaApparatus* TRG = new THcTrigApp("T", "TRG");
gHaApps->Add(TRG);
// Add trigger detector to trigger apparatus
THcTrigDet* hms = new THcTrigDet("hms", "HMS Trigger Information");
TRG->AddDetector(hms);
// Set up the equipment to be analyzed.
THaApparatus* HMS = new THcHallCSpectrometer("H", "HMS");
gHaApps->Add(HMS);
// Add drift chambers to HMS apparatus
THcDC* dc = new THcDC("dc", "Drift Chambers");
HMS->AddDetector(dc);
// Add hodoscope to HMS apparatus
THcHodoscope* hod = new THcHodoscope("hod", "Hodoscope");
HMS->AddDetector(hod);
// Add Cherenkov to HMS apparatus
THcCherenkov* cer = new THcCherenkov("cer", "Heavy Gas Cherenkov");
HMS->AddDetector(cer);
// Add calorimeter to HMS apparatus
THcShower* cal = new THcShower("cal", "Calorimeter");
HMS->AddDetector(cal);
// Include golden track information
THaGoldenTrack* gtr = new THaGoldenTrack("H.gtr", "HMS Golden Track", "H");
gHaPhysics->Add(gtr);
// Add handler for prestart event 125.
if ( RunNumber > 243) {
THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
gHaEvtHandlers->Add(ev125);
}
// 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.
THcAnalyzer* analyzer = new THcAnalyzer;
// 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.
THaEvent* event = new THaEvent;
// Define the run(s) that we want to analyze.
// We just set up one, but this could be many.
char RunFileName[100];
sprintf(RunFileName, RunFileNamePattern, RunNumber);
THaRun* run = new THaRun(RunFileName);
// Eventually need to learn to skip over, or properly analyze
// the pedestal events
run->SetEventRange(1, MaxEvent); // Physics Event number, does not
// include scaler or control events.
run->SetNscan(1);
run->SetDataRequired(0x7);
run->Print();
// Define the analysis parameters
TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber);
analyzer->SetCountMode(2); // 0 = counter is # of physics triggers
// 1 = counter is # of all decode reads
// 2 = counter is event number
analyzer->SetEvent(event);
analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
analyzer->SetOutFile(ROOTFileName.Data());
analyzer->SetOdefFile("DEF-files/HMS/GEN/hstackana_report.def");
analyzer->SetCutFile("DEF-files/HMS/GEN/hstackana_report_cuts.def"); // optional
// File to record cuts accounting information
// analyzer->SetSummaryFile(Form("REPORT_OUTPUT/summary_%05d.report", RunNumber)); // optional
// Start the actual analysis.
analyzer->Process(run);
// Create report file from template.
analyzer->PrintReport("TEMPLATES/hstackana.template",Form("REPORT_OUTPUT/replay_hms_%05d.report", RunNumber));
}
Standalone drift chamber analysis report template
hmsDC1Planes6 {hmsDC1Planes6hits.npassed}
hmsDC2Planes6 {hmsDC2Planes6hits.npassed}
hmsDC1x1Planes5 {hmsDC1_5hits_x1.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_x1.npassed}
hmsDC1y1Planes5 {hmsDC1_5hits_y1.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_y1.npassed}
hmsDC1u1Planes5 {hmsDC1_5hits_u1.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_u1.npassed}
hmsDC1v1Planes5 {hmsDC1_5hits_v1.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_v1.npassed}
hmsDC1x2Planes5 {hmsDC1_5hits_y2.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_y2.npassed}
hmsDC1y2Planes5 {hmsDC1_5hits_x2.npassed} {hmsDC1Planes6hits.npassed/hmsDC1_5hits_x2.npassed}
hmsDC2x1Planes5 {hmsDC2_5hits_x1.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_x1.npassed}
hmsDC2y1Planes5 {hmsDC2_5hits_y1.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_y1.npassed}
hmsDC2u1Planes5 {hmsDC2_5hits_u1.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_u1.npassed}
hmsDC2v1Planes5 {hmsDC2_5hits_v1.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_v1.npassed}
hmsDC2x2Planes5 {hmsDC2_5hits_y2.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_y2.npassed}
hmsDC2y2Planes5 {hmsDC2_5hits_x2.npassed} {hmsDC2Planes6hits.npassed/hmsDC2_5hits_x2.npassed}
*****************************
*HMS TRACKING EFFICIENCIES *
*****************************
htrig : {hmscoin_event.npassed}
hhitslt = passed hits/cham : {hmsHitsLt.npassed}
hhitsplanes = +planes >= 5/6 : {hmsHitsPlanes.npassed}
hhitsplanessps = + sps : {hSpacePoints.npassed}
hhitsplanesspsstubs +stub : {hSpacePointsStub.npassed}
hsfoundtrack : {hFoundTrack.npassed}
hscleantrack : {hCleanTrack.npassed}
hstublt = passed stub tests : {hStubLT.npassed}
h1hitslt : {hms1HitsLt.npassed}
h2hitslt : {hms2HitsLt.npassed}
h1planesgt : {hmsDC1PlanesGT.npassed}
h2planesgt : {hmsDC2PlanesGT.npassed}
hplanesgt = gt 5 planes/cham : {hmsPlanseGT.npassed}
f1hspacepoints : {f1HSpacePoints.npassed}
f2hspacepoints : {f2HSpacePoints.npassed}
htest1=p hits/planes, f sp : {hTest1.npassed}
htest2=p sp, f stubs : {hTest2.npassed}
hdid : {HMSScinDid.npassed}
hdide : {HMSScinDide.npassed}
hdidh : {HMSScinDidh.npassed}
hscinshould : {HMSScinShould.npassed}
hscinshoulde : {HMSScinShoulde.npassed}
hscinshouldh : {HMSScinShouldh.npassed}
SING FID TRACK EFFIC : {HMSScinDid.npassed/(HMSScinShould.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShould.npassed-HMSScinDid.npassed)/(HMSScinShould.npassed+.0001)):%8.4f}
E SING FID TRACK EFFIC : {HMSScinDide.npassed/(HMSScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShoulde.npassed-HMSScinDide.npassed)/(HMSScinShoulde.npassed+.0001)):%8.4f}
HADRON SING FID TRACK EFFIC : {HMSScinDidh.npassed/(HMSScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShouldh.npassed-HMSScinDidh.npassed)/(HMSScinShouldh.npassed+.0001)):%8.4f}
Run #{gen_run_number}
Standalone drift chamber analysis report template
The names of the HMS drift chamber planes are:
{hdc_plane_names}
Horizontal drift chamber z positions:
Chamber 1: {hdc_zpos[0]:%6.2f} {hdc_zpos[1]:%6.2f} {hdc_zpos[2]:%6.2f}
{hdc_zpos[3]:%6.2f} {hdc_zpos[4]:%6.2f} {hdc_zpos[5]:%6.2f}
Chamber 2: {hdc_zpos[6]:%6.2f} {hdc_zpos[7]:%6.2f} {hdc_zpos[8]:%6.2f}
{hdc_zpos[9]:%6.2f} {hdc_zpos[10]:%6.2f} {hdc_zpos[11]:%6.2f}
All triggers: {all_trigs.npassed}
hmsDC1Planes_large Counts: {hmsDC1Planes_large.npassed} /all_trigs : {hmsDC1Planes_large.npassed/all_trigs.npassed}
hmsDC2Planes_large Counts: {hmsDC2Planes_large.npassed} /all_trigs : {hmsDC2Planes_large.npassed/all_trigs.npassed}
hmsDC1Planes6 Counts: {hmsDC1Planes6hits.npassed} /all_trigs : {hmsDC1Planes6hits.npassed/all_trigs.npassed}
hmsDC2Planes6 Counts: {hmsDC2Planes6hits.npassed} /all_trigs : {hmsDC2Planes6hits.npassed/all_trigs.npassed}
hmsDC1x1Planes5 Counts: {hmsDC1_5hits_x1.npassed} /hmsDC1Planes6 : {hmsDC1Planes6hits.npassed/hmsDC1_5hits_x1.npassed}
hmsDC1y1Planes5 Counts: {hmsDC1_5hits_y1.npassed} /hmsDC1Planes6 : {hmsDC1Planes6hits.npassed/hmsDC1_5hits_y1.npassed}
hmsDC1u1Planes5 Counts: {hmsDC1_5hits_u1.npassed} /hmsDC1Planes6 : {hmsDC1Planes6hits.npassed/hmsDC1_5hits_u1.npassed}
hmsDC1v1Planes5 Counts: {hmsDC1_5hits_v1.npassed} /hmsDC1Planes6 : {hmsDC1Planes6hits.npassed/hmsDC1_5hits_v1.npassed}
hmsDC1x2Planes5 Counts: {hmsDC1_5hits_y2.npassed} /hmsDC1Planes6 : {hmsDC1Planes6hits.npassed/hmsDC1_5hits_y2.npassed}
hmsDC1y2Planes5 Counts: {hmsDC1_5hits_x2.npassed} /hmsDC1Planes6 : {hmsDC1Planes6hits.npassed/hmsDC1_5hits_x2.npassed}
hmsDC2x1Planes5 Counts: {hmsDC2_5hits_x1.npassed} /hmsDC1Planes6 : {hmsDC2Planes6hits.npassed/hmsDC2_5hits_x1.npassed}
hmsDC2y1Planes5 Counts: {hmsDC2_5hits_y1.npassed} /hmsDC1Planes6 : {hmsDC2Planes6hits.npassed/hmsDC2_5hits_y1.npassed}
hmsDC2u1Planes5 Counts: {hmsDC2_5hits_u1.npassed} /hmsDC1Planes6 : {hmsDC2Planes6hits.npassed/hmsDC2_5hits_u1.npassed}
hmsDC2v1Planes5 Counts: {hmsDC2_5hits_v1.npassed} /hmsDC1Planes6 : {hmsDC2Planes6hits.npassed/hmsDC2_5hits_v1.npassed}
hmsDC2x2Planes5 Counts: {hmsDC2_5hits_y2.npassed} /hmsDC1Planes6 : {hmsDC2Planes6hits.npassed/hmsDC2_5hits_y2.npassed}
hmsDC2y2Planes5 Counts: {hmsDC2_5hits_x2.npassed} /hmsDC1Planes6 : {hmsDC2Planes6hits.npassed/hmsDC2_5hits_x2.npassed}
*****************************
*HMS TRACKING EFFICIENCIES *
*****************************
htrig : {hmscoin_event.npassed}
hhitslt = passed hits/cham : {hmsHitsLt.npassed}
hhitsplanes = +planes >= 5/6 : {hmsHitsPlanes.npassed}
hhitsplanessps = + sps : {hSpacePoints.npassed}
hhitsplanesspsstubs +stub : {hSpacePointsStub.npassed}
hsfoundtrack : {hFoundTrack.npassed}
hscleantrack : {hCleanTrack.npassed}
hstublt = passed stub tests : {hStubLT.npassed}
h1hitslt : {hms1HitsLt.npassed}
h2hitslt : {hms2HitsLt.npassed}
h1planesgt : {hmsDC1PlanesGT.npassed}
h2planesgt : {hmsDC2PlanesGT.npassed}
hplanesgt = gt 5 planes/cham : {hmsPlanesGT.npassed}
f1hspacepoints : {f1HSpacePoints.npassed}
f2hspacepoints : {f2HSpacePoints.npassed}
htest1=p hits/planes, f sp : {hTest1.npassed}
htest2=p sp, f stubs : {hTest2.npassed}
hdid : {HMSScinDid.npassed}
hdide : {HMSScinDide.npassed}
hdidh : {HMSScinDidh.npassed}
hscinshould : {HMSScinShould.npassed}
hscinshoulde : {HMSScinShoulde.npassed}
hscinshouldh : {HMSScinShouldh.npassed}
SING FID TRACK EFFIC : {HMSScinDid.npassed/(HMSScinShould.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShould.npassed-HMSScinDid.npassed)/(HMSScinShould.npassed+.0001)):%8.4f}
E SING FID TRACK EFFIC : {HMSScinDide.npassed/(HMSScinShoulde.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShoulde.npassed-HMSScinDide.npassed)/(HMSScinShoulde.npassed+.0001)):%8.4f}
HADRON SING FID TRACK EFFIC : {HMSScinDidh.npassed/(HMSScinShouldh.npassed+0.0001):%8.4f} +- {(sqrt(HMSScinShouldh.npassed-HMSScinDidh.npassed)/(HMSScinShouldh.npassed+.0001)):%8.4f}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment