AIDA GELINA BRIKEN nToF CRIB ISOLDE CIRCE nTOFCapture DESPEC DTAS EDI_PSA 179Ta CARME StellarModelling DCF K40
  nTOFCapture  ELOG logo
Message ID: 47     Entry time: Wed Aug 30 12:08:45 2023
Author: Michael Donnachie 
Subject: Processing files  

Here are the Processing files for EAR1 and EAR2 with calibrations.

Attachment 1: Process_Si_beam.C  12 kB  Uploaded Wed Aug 30 13:09:14 2023  | Hide | Hide all
/// 23.6.23, 9:30 edit CLW - process also other runlists

// g++ -Wall -O3 -g `root-config --cflags --ldflags --glibs` Process_Si.C -o Process_Si && ./Process_Si

// includes header, and source only in compiled script
#include "/eos/experiment/ntof/codes/TTOFSort/TTOFSort_nTOF.h"
#ifndef __CINT__
#include "/eos/experiment/ntof/codes/TTOFSort/TTOFSort_nTOF.cxx"
#endif
// --------------------------------------------------------------------------
//
//
//
// --------------------------------------------------------------------------	

Double_t a2e_c6d61(Double_t x) {  // from amplitude (channel) to MeV
   return (3.71330E-02+ 2.78468E-04* x );
}
Double_t a2e_c6d62(Double_t x) {  // from amplitude (channel) to MeV
   return (1.21071E-02+ 2.82656E-04* x);
}
Double_t a2e_c6d63(Double_t x) {  // from amplitude (channel) to MeV
   return (2.74746E-02+ 2.64094E-04* x);
}
Double_t a2e_c6d64(Double_t x) {  // from amplitude (channel) to MeV
   return (2.96214E-02+ 2.73633E-04* x );
}

Double_t wf(Double_t x) {
  return (0.468282 + 36.0785 * x + 9.54532 * x * x + 0.202353 * x * x * x - 0.0352043 * x * x * x * x);
}

int main() {

	Char_t prefix[] = "/eos/experiment/ntof/processing/official/done/run";
	Char_t suffix[] = ".root";

	Int_t runlist_co[] = {116215, 116216, 116217, 116218, -1};

	Int_t runlist_ba[] = {116208, 116209, 116210, 116211, 116212, 116213, 116214, -1};

	Int_t runlist_mn[] = {116203, 116204, 116205, 116206, 116207, -1};

	Int_t runlist_bi[] = {116193, 116194, -1};

	Int_t runlist_cs[] = {116093, 116159, 116160, 116161, 116296, 116384, 116385,116445,116476,116567 ,-1};

	Int_t runlist_y[] = {116094, 116162, 116163, 116164, 116297, 116298, 116380, 116381, 116382,116446,116475,116568, -1};

	Int_t runlist_ambe[] = {116095, 116096, 116097, 116165, 116166, 116167, 116168, 116169, 116170, 116171, 116172, 116173, 116174, 116299, 116301, 116302, 116375, 116376,116467,116468,116469,116470,116569 ,116570,116571,-1};

	Int_t runlist_cmc[] = {116179, 116180, 116181, 116182, 116183, 116184, 116185, 116186, 116187, 116188, 116189, 116190, 116191, 116192, 116219, 116220, 116221, 116222, 116303, 116304, 116305, 116377,116378, 116379,116447,116448, 116449,116450, 116451,116471,116472,116473,116474, -1};
	
	Int_t runlist_cnat[]={116284, 116285, 116286, 116287, 116288, 116308, 116309, 116310, 116311, 
116312,116313,116314,116315,116316,116317,116318,116319,116320, -1};

	Int_t runlist_au20mm[] = {116100, 116101, 116102,116322,116548, -1};

	Int_t runlist_au22mm[] = { 116226, 116227, 116229, 116231, 116232, 116234, 116235, 116321,116507,116508,116509,116510,-1};
	//116225 116505 116506was 'BAD'
	Int_t runlist_amb[] = {116103, 116104, 116106, 116108, 116109, 116110, 116111, 116119, 116120, 116121, 116122, 116123, 116127, 116128, 116129, 116130, 116131, 116132, 116133, 116134, 116135, 116141, 116143, 116154, 116155, 116156, 116157, 116158, 116175, 116176, 116177, 116178,116197, 116198, 116199, 116200, 116201, 116202, 116248, 116249, 116250, 116251, 116252, 116253, 116254, 116255, 116257, 116258, 116259,116374, 116386, 116387, 116388, 116389, 116390, 116391, 116392, 116393,116405,116444,116443,116452,116453,116454,116455,116456,116457,116458,116459,116460,116461,116462,116463,116464,116465,116466,116477,116478,116479,116480,116481,116483,116485,116487,116488,116490,116491,116492,116493,116494,116495,116496,116498,116499,116501,116503,116519,116520,116521,116522, -1};  // no beam and no calibration source

	Int_t runlist_dummy[] = {116237, 116241, 116242, 116243, 116244, 116245, 116246, 116247, 116253, 116260, 116261, 116420, 116421, 116422, 116423, 116424, 116425, 116426, 116427, 116428, 116429, 116430, 116431, 116432, 116433, 116434, 116435, 116436, 116437, 116438,116439,-1};
	//, 116418 too slow 116240 is bad 
	 Int_t runlist_empty[] = {116323, 116324, 116325,116326,116327,116328, -1};
	 
	Int_t runlist_30si[] = {116105, 116112, 116113, 116114, 116115, 116116, 116117, 116118, 116124, 116125, 116126, 116136, 116137, 116138, 116139, 116140, 116142, 116144, 116145, 116146, 116147, 116148, 116149, 116150, 116151, 116152, 116153, 116263, 116264, 116265, 116266, 116268, 116269, 116270, 116271, 116272, 116273, 116274, 116275, 116276, 116277, 116278, 116279, 116280, 116281, 116282, 116283, 116358, 116359, 116360, 116361, 116362, 116363, 116364, 116367, 116368, 116369, 116371, 116372, 116373, 116394, 116395, 116396, 116397, 116398, 116399, 116400, 116401, 116402, 116403, 116404, 116406, 116407, 116408, 116409, 116411, 116412, 116413, 116415,116440,116441,116482,116484,116486,116489,116502,116504, -1};
	//116365, 116466 are empty (should be Si run) , 116370,116442,116414 (116262 this one was 'bad')
	Int_t runlist_sinat[] = {116330, 116331, 116332, 116333, 116335, 116337, 116339, 116341, 116342, 116343, 116344, 116345, 116346, 116347, 116348, 116349, 116350, 116351, 116352, 116353, 116354, 116355, 116356, 116357,116511 ,116512 ,116513 ,116514 ,116517 ,116518 ,116523 ,116524 ,116525 ,116526 ,116527 ,116528  ,116532 ,116533 ,116534 ,116535 ,116536 ,116537 ,116538 ,116539 ,116540 ,116541 ,116542 ,116543 ,116544 ,116545 ,116546 ,-1};
	//bad 116529, 116530,116531
	Int_t runlist_sinat_good[] = { 116549 ,116551 ,116552 ,116553 ,116554 ,116555 ,116556 ,116557 ,116558 ,116559 ,116560 ,116561 ,116562,116563,116564,116565,116566, -1 };
	
	TTOFSort *a = new TTOFSort();

	a->AddDetector(kC6D6, 4);
	
	//a->SetNewBinParsA(kC6D6, 0.0, 6500, 6500000.0);
	a->SetNewBinParsT(kC6D6, -10.0, 2.0, 1e3, 5000, 1e9); //Double the nbins (10k here becomes 20k bpd spec)

	a->PrintSettings();
		
	a->SetNewFixedDeadtime(kC6D6, 30.0);//fixed deadtime of 30 ns
	a->SetNewCoincidencetime(kC6D6, 30.0);//Coincidences between 30 ns
	a->SetNewVariableNames_amplitude(kC6D6, "amp");
	a->SetNewBinParsA(kC6D6, 0.0, 6500, 70000);
	a->SetNewCutsAmp_all(kC6D6, 600, 50000);

	a->UseCalibration(kC6D6, a2e_c6d61, a2e_c6d62, a2e_c6d63, a2e_c6d64);
	a->SetNewCutsEg(kC6D6, 0.200, 8.0, 0.200, 8.0, 0.200, 8.0, 0.200, 8.0); 

	a->SetPriorCut(kC6D6, "PulseIntensity<1e7"); 

	//a->ProcessListOfRuns_Sum(prefix, runlist_co, suffix, "Sum_Cal.root", "Co", "RECREATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_bi, suffix, "Sum_Cal.root", "Bi", "UPDATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_ba, suffix, "Sum_Cal.root", "Ba", "UPDATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_mn, suffix, "Sum_Cal.root", "Mn", "UPDATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_cs, suffix, "Sum_Cal.root", "Cs", "UPDATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_y, suffix, "Sum_Cal.root", "Y", "UPDATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_ambe, suffix, "Sum_Cal.root", "Ambe", "UPDATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_cmc, suffix, "Sum_Cal.root", "Cmc", "UPDATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_amb, suffix, "Sum_Amb.root", "Amb", "RECREATE");


	//a->ProcessListOfRuns_Single(prefix, runlist_co, suffix, "Co.root", "Co", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_bi, suffix, "Bi.root", "Bi", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_ba, suffix, "Ba.root", "Ba", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_mn, suffix, "Mn.root", "Mn", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_cs, suffix, "Cs.root", "Cs", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_y, suffix, "Y.root", "Y", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_ambe, suffix, "Ambe.root", "Ambe", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_cmc, suffix, "Cmc.root", "Cmc", "RECREATE");
    
    

	a->ProcessListOfRuns_Single(prefix, runlist_amb, suffix, "Amb.root", "Amb", "RECREATE");
    
    
	// dedicated >5E12, parasitic 1-5 E12
	//a->SetPriorCut(kC6D6, "PulseIntensity>1e12");
	a->AddDetector(kSILI, 4);
	//a->SetNewBinParsA(kSILI, 0.0, 1e4, 1e5);
	a->SetNewVariableNames_amplitude(kSILI, "amp");
	//a->SetPriorCut(kSILI, "PulseIntensity>1e12"); 
	a->SetNewBinParsA(kSILI, 0.0, 6500, 70000);
	a->SetNewCutsAmp_all(kSILI, 8000, 40000);
	a->SetNewCutsTime_all(kSILI, 1E4, 1E9);
	a->AddDetector(kPKUP, 1);
	a->SetNewVariableNames_amplitude(kPKUP, "amp");
    a->SetPriorCut(kPKUP,"amp>5000 && amp<50000");
    a->SetNewBinParsA(kPKUP,0.0,6500,70000);
	//a->SetPriorCut(kPKUP, "PulseIntensity>1e12");
	//a->UseWeightingFunction(kC6D6, wf, wf, wf, wf);
	
	a->SetPriorCut(kC6D6, "PulseIntensity>1e+12");
	a->SetPriorCut(kPKUP, "PulseIntensity>1e+12");
	a->SetPriorCut(kSILI, "PulseIntensity>1e+12");

	//For dedicated pulse
	a->SetPriorCut(kC6D6, "PulseIntensity>5e+12");
	a->SetPriorCut(kSILI, "PulseIntensity>5e+12");
	a->SetPriorCut(kPKUP, "PulseIntensity>5e+12"); 


	a->ProcessListOfRuns_Sum(prefix, runlist_30si, suffix, "Dedicated_Sum_Beam.root", "Si", "RECREATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_au20mm, suffix, "Dedicated_Sum_Beam.root", "Au20", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_au22mm, suffix, "Dedicated_Sum_Beam.root", "Au22", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_dummy, suffix, "Dedicated_Sum_Beam.root", "Dummy", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_cnat, suffix, "Dedicated_Sum_Beam.root", "C", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_empty, suffix, "Dedicated_Sum_Beam.root", "E", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_sinat, suffix, "Dedicated_Sum_Beam.root", "Sinat", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_sinat_good, suffix, "Dedicated_Sum_Beam.root", "Sinatgood", "UPDATE");
    
	//For parastic pulse
	a->SetPriorCut(kC6D6, "PulseIntensity>1e+12 && PulseIntensity<5e+12");
	a->SetPriorCut(kSILI, "PulseIntensity>1e+12 && PulseIntensity<5e+12");
	a->SetPriorCut(kPKUP, "PulseIntensity>1e+12 && PulseIntensity<5e+12");

	a->ProcessListOfRuns_Sum(prefix, runlist_30si, suffix, "Parasitic_Sum_Beam.root", "Si", "RECREATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_au20mm, suffix, "Parasitic_Sum_Beam.root", "Au20", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_au22mm, suffix, "Parasitic_Sum_Beam.root", "Au22", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_dummy, suffix, "Parasitic_Sum_Beam.root", "Dummy", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_cnat, suffix, "Parasitic_Sum_Beam.root", "C", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_empty, suffix, "Parasitic_Sum_Beam.root", "E", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_sinat, suffix, "Parasitic_Sum_Beam.root", "Sinat", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_sinat_good, suffix, "Parasitic_Beam.root", "Sinatgood", "UPDATE");


	//For total pulse
	a->ProcessListOfRuns_Sum(prefix, runlist_30si, suffix, "Sum_Beam.root", "Si", "RECREATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_au20mm, suffix, "Sum_Beam.root", "Au20", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_au22mm, suffix, "Sum_Beam.root", "Au22", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_dummy, suffix, "Sum_Beam.root", "Dummy", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_cnat, suffix, "Sum_Beam.root", "C", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_empty, suffix, "Sum_Beam.root", "E", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_sinat, suffix, "Sum_Beam.root", "Sinat", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_sinat_good, suffix, "Beam.root", "Sinatgood", "UPDATE");

	a->ProcessListOfRuns_Single(prefix, runlist_30si, suffix, "Single_30Si.root", "Si", "RECREATE");
	a->ProcessListOfRuns_Single(prefix, runlist_au20mm, suffix, "Single_Au20.root", "Au20", "RECREATE");
	a->ProcessListOfRuns_Single(prefix, runlist_au22mm, suffix, "Single_Au22.root", "Au22", "RECREATE");
	a->ProcessListOfRuns_Single(prefix, runlist_dummy, suffix, "Single_Dummy.root", "Dummy", "RECREATE");
	a->ProcessListOfRuns_Single(prefix, runlist_cnat, suffix, "Single_C.root", "C", "RECREATE");
	a->ProcessListOfRuns_Single(prefix, runlist_empty, suffix, "Single_E.root", "E", "RECREATE");
	a->ProcessListOfRuns_Single(prefix, runlist_sinat, suffix, "Single_Sinat.root", "Sinat", "RECREATE");
	a->ProcessListOfRuns_Single(prefix, runlist_sinat_good, suffix, "Single_Sinatgood.root", "Sinatgood", "RECREATE");
	
	/*
    a->SetPriorCut(kC6D6, "PulseIntensity>1e12");
    a->SetPriorCut(kC6D6, "tflash>10000");

    a->SetTgWindow(kC6D6,10000,15000);
    
    
    a->SetNewCutsAmp_all(kC6D6, 1800, 50000);
    a->ProcessListOfRuns_Sum(prefix, runlist_30si, suffix, "Sum_30Si_hithresh.root", "Si", "RECREATE");
    */
	return 0;
}

Attachment 2: Process_Si_EAR2.C  11 kB  Uploaded Wed Aug 30 13:09:20 2023  | Hide | Hide all
/// 23.6.23, 9:30 edit CLW - process also other runlists

// g++ -Wall -O3 -g `root-config --cflags --ldflags --glibs` Process_Si_EAR2.C -o Process_Si_EAR2 && ./Process_Si_EAR2

// includes header, and source only in compiled script
#include "/afs/cern.ch/work/r/rmucciol/public/TTOFSort/TTOFSort_nTOF.h"
#ifndef __CINT__
#include "/afs/cern.ch/work/r/rmucciol/public/TTOFSort/TTOFSort_nTOF.cxx"
#endif
// --------------------------------------------------------------------------
//
//
//
// --------------------------------------------------------------------------	

Double_t a2e_c6d61(Double_t x) {  // from amplitude (channel) to MeV
   return (4.9826533509E-02 + 1.6440658945E-05 * x - 1.0434771608E-12 * x * x);
}
Double_t a2e_c6d62(Double_t x) {  // from amplitude (channel) to MeV
   return (3.4169825864E-02 + 1.4076790089E-05 * x - 7.9765434038E-13 * x * x);
}
Double_t a2e_c6d63(Double_t x) {  // from amplitude (channel) to MeV
   return (3.9177392253E-02 + 1.7015644773E-05 * x - 4.0083807516E-13 * x * x);
}
Double_t a2e_c6d64(Double_t x) {  // from amplitude (channel) to MeV
   return (4.1835244811E-02 + 1.0673010868E-05 * x - 5.3279014370E-14 * x * x);
}

Double_t wf(Double_t x) {
  return (0.468282 + 36.0785 * x + 9.54532 * x * x + 0.202353 * x * x * x - 0.0352043 * x * x * x * x);
}
/*
 First calibrations
Double_t a2e_sted1(Double_t x) {
	return (6.25345e-02 + 3.04647e-03 * x);
}
Double_t a2e_sted2(Double_t x) {
	return (6.41447e-02 + 3.62458e-03 * x);
}
Double_t a2e_sted3(Double_t x) {
	return (4.83878e-02 + 3.19258e-03 * x);
}
Double_t a2e_sted4(Double_t x) {
	return (5.72867e-02 + 3.85617e-03 * x);
}
Double_t a2e_sted5(Double_t x) {
	return (4.61653e-02 + 3.09576e-03 * x);
}
Double_t a2e_sted6(Double_t x) {
	return (6.01178e-02 + 3.25993e-03 * x);
}
Double_t a2e_sted7(Double_t x) {
	return (5.37046e-02 + 3.19335e-03 * x);
}
Double_t a2e_sted8(Double_t x) {
	return (5.37046e-02 + 3.19335e-03 * x);
}
*/
/*
Double_t a2e_sted1(Double_t x) {
	return (6.88457E-02+ 3.07383E-03* x);
}
Double_t a2e_sted2(Double_t x) {
	return (6.30046E-02+ 3.64816E-03* x);
}
Double_t a2e_sted3(Double_t x) {
	return (6.16885E-02+ 3.21011E-03* x);
}
Double_t a2e_sted4(Double_t x) {
	return (5.76290E-02+ 3.91348E-03* x);
}
Double_t a2e_sted5(Double_t x) {
	return (5.48915E-02+ 3.12774E-03* x);
}
Double_t a2e_sted6(Double_t x) {
	return (6.94109E-02+ 3.30446E-03* x);
}
Double_t a2e_sted7(Double_t x) {
	return (7.06719E-02+ 3.18890E-03* x);
}
Double_t a2e_sted8(Double_t x) {
	return (7.06719E-02 + 3.18890E-03 * x);
}
*/
/*
Double_t a2e_sted1(Double_t x) {
	return (8.49569E-02+ 3.02467E-03* x+ 5.01828E-08*x*x);
}
Double_t a2e_sted2(Double_t x) {
	return (6.63359E-02+ 3.62838E-03* x+ 6.36851E-09*x*x);
}
Double_t a2e_sted3(Double_t x) {
	return (6.90246E-02+ 3.17091E-03* x+ 4.80934E-08*x*x);
}
Double_t a2e_sted4(Double_t x) {
	return (5.83187E-02+ 3.93397E-03* x+ 1.38546E-08*x*x);
}
Double_t a2e_sted5(Double_t x) {
	return (7.26372E-02+ 3.03107E-03* x+ 6.15236E-08*x*x);
}
Double_t a2e_sted6(Double_t x) {
	return (6.63090E-02+ 3.34231E-03* x+ -4.15391E-08*x*x);
}
Double_t a2e_sted7(Double_t x) {
	return (7.39348E-02+ 3.21695E-03* x+ -3.38091E-08*x*x);
}
Double_t a2e_sted8(Double_t x) {
	return (7.39348E-02 + 3.21695E-03 * x + -3.38091E-08 * x * x);
}
*/
/*
Double_t a2e_sted1(Double_t x) {
	return (6.12436E-02+ 2.99626E-03* x + 1.45286E-09* x * x);
}
Double_t a2e_sted2(Double_t x) {
	return (3.54473E-02+ 3.66036E-03* x + -1.02808E-07* x * x);
}
Double_t a2e_sted3(Double_t x) {
	return (5.41069E-02+ 3.10199E-03* x + 3.61722E-08* x * x);
}
Double_t a2e_sted4(Double_t x) {
	return (5.82907E-02+ 3.73851E-03* x + 6.26526E-08* x * x);
}
Double_t a2e_sted5(Double_t x) {
	return (5.99435E-02+ 2.93709E-03* x + 7.71012E-08* x * x);
}
Double_t a2e_sted6(Double_t x) {
	return (6.55392E-02+ 3.18712E-03* x + 1.44503E-08* x * x);
}
Double_t a2e_sted7(Double_t x) {
	return (5.01775E-02+ 3.15280E-03* x + -1.29076E-08* x * x);
}
Double_t a2e_sted8(Double_t x) {
	return (7.39348E-02 + 3.21695E-03 * x + -3.38091E-08 * x * x);
}
*/
Double_t a2e_sted1(Double_t x) {
	return (5.67257E-02+ 2.98739E-03* x + 5.53612E-09* x * x);
}
Double_t a2e_sted2(Double_t x) {
	return (3.28429E-02+ 3.65244E-03* x + -1.00906E-07* x * x);
}
Double_t a2e_sted3(Double_t x) {
	return (4.94516E-02+ 3.09050E-03* x + 4.55854E-08* x * x);
}
Double_t a2e_sted4(Double_t x) {
	return (5.28963E-02+ 3.72607E-03* x + 8.07590E-08* x * x);
}
Double_t a2e_sted5(Double_t x) {
	return (5.72747E-02+ 2.91606E-03* x + 9.73475E-08* x * x);
}
Double_t a2e_sted6(Double_t x) {
	return (6.56951E-02+ 3.15511E-03* x + 3.41401E-08* x * x);
}
Double_t a2e_sted7(Double_t x) {
	return (4.66976E-02+ 3.12827E-03* x + 7.80229E-09* x * x);
}
Double_t a2e_sted8(Double_t x) {
	return (7.39348E-02 + 3.21695E-03 * x + -3.38091E-08 * x * x);
}

int main() {

	Char_t prefix[] = "/eos/experiment/ntof/processing/official/done/run";
	Char_t suffix[] = ".root";

	Int_t runlist_cs[] = {216090, 216091, 216104, -1};

	Int_t runlist_cmc[] = { 216162,216160,216164,216165,216166,216167,216168, -1 };

	Int_t runlist_y[] = {216092, 216103, -1}; //Detector mounting changed between runs 216092 and 216103

	Int_t runlist_ambe[] = {216099, 216100, 216101, 216137, 216138, 216139, -1};

	Int_t runlist_au20mm[] = {216108, 216157, -1};

	Int_t runlist_au22mm[] = {216109, 216158, -1};

	Int_t runlist_dummy[] = {216105, 216106, 216107, 216110, 216111, 216112, 216113, 216114, 216115, 216116, 216117, 216118, 216119, 216120, 216121, 216122, -1};

	Int_t runlist_30si[] = {216123, 216124, 216125, 216126, 216127, 216128, 216129, 216130, 216131, 216132, 216133, 216134, 216135, -1};
	
	Int_t runlist_sinat[] = {216159, 216160,216161,216169,216170,216171,216172,216173, -1};
	
	Int_t runlist_amb[] = { 216203,216206,216206,216209,216212,216220,216222,216223,216228,216250,216251,216252,216253,216254,216255,216261,216265,216269,216270,216286,216287,216288,216295,216296,216297,216301,216302,216303,216306,216307,-1 };
	
	TTOFSort *a = new TTOFSort();

	a->AddDetector(kC6D6, 2);
	//a->SetNewBinParsA(kC6D6, 0.0, 6500, 6500000.0);
	//a->SetNewBinParsT(kC6D6, -10.0, 2.0, 1e3, 5000, 1e9); //Double the nbins (10k here becomes 20k bpd spec)

	a->AddDetector(kSTED, 8);
	a->AddDetector(kSILI, 4);
	a->AddDetector(kPKUP, 1);
	a->PrintSettings();
	a->SetNewFixedDeadtime(kSTED, 30.0);//fixed deadtime of 30 ns
	a->SetNewCoincidencetime(kSTED, 30.0);//Coincidences between 30 ns
	a->SetNewFixedDeadtime(kC6D6, 50.0);//fixed deadtime of 30 ns
	a->SetNewCoincidencetime(kC6D6, 50.0);//Coincidences between 30 ns

	//a->SetNewVariableNames_amplitude(kSILI, "amp");
	a->SetNewVariableNames_amplitude(kC6D6, "amp");
	a->SetNewVariableNames_amplitude(kSTED, "amp");

	a->SetNewBinParsA(kC6D6, 0.0, 10000, 5000);
	//a->SetNewBinParsA(kSILI, 0.0, 6500, 5000);
	a->SetNewBinParsA(kSTED, 0.0, 10000, 5000);
	//a->SetHandleTgamma(kC6D6, kUsePkup, 0.0);


	a->SetPriorCut(kC6D6, "amp>50");
	a->SetPriorCut(kSTED, "amp>50");
	a->UseCalibration(kSTED, a2e_sted1, a2e_sted2, a2e_sted3, a2e_sted4, a2e_sted5, a2e_sted6, a2e_sted7, a2e_sted8);

	//a->SetNewVariableNames_amplitude(kC6D6, "amp");
	//a->SetNewBinParsA(kC6D6, 0.0, 6500, 70000);
	//a->SetNewCutsAmp_all(kC6D6, 600, 50000);

	//a->UseCalibration(kC6D6, a2e_c6d61, a2e_c6d62, a2e_c6d63, a2e_c6d64);
	//a->SetNewCutsEg(kC6D6, 0.200, 8.0, 0.200, 8.0, 0.200, 8.0, 0.200, 8.0); 

	//a->SetPriorCut(kC6D6, "PulseIntensity>1e12");
	//a->SetNewBinParsA(kSILI, 0.0, 1e4, 1e5);
	//a->SetNewVariableNames_amplitude(kSILI, "amp");
	//a->SetPriorCut(kSILI, "PulseIntensity>1e12"); 
	//a->UseWeightingFunction(kC6D6, wf, wf, wf, wf);


	a->SetPriorCut(kC6D6, "PulseIntensity<1e7");
	a->ProcessListOfRuns_Sum(prefix, runlist_cs, suffix, "EAR2/Sum_Cal.root", "Cs", "RECREATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_y, suffix, "EAR2/Sum_Cal.root", "Y", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_ambe, suffix, "EAR2/Sum_Cal.root", "AmBe", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_cmc, suffix, "EAR2/Sum_Cal.root", "CmC", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_amb, suffix, "EAR2/Sum_Amb.root", "Amb", "RECREATE");

	//a->ProcessListOfRuns_Single(prefix, runlist_ambe, suffix, "EAR2/Single_Cal.root", "Ambe", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_cs, suffix, "EAR2/Single_Cal.root", "Cs", "UPDATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_y, suffix, "EAR2/Single_Cal.root", "Y", "UPDATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_cmc, suffix, "EAR2/Single_Cal.root", "CmC", "UPDATE");



	/*
	//Deticated pulse
	a->SetPriorCut(kC6D6, "PulseIntensity>5e+12");
	a->SetPriorCut(kSILI, "PulseIntensity>5e+12");
	a->SetPriorCut(kPKUP, "PulseIntensity>5e+12");
	a->SetPriorCut(kSTED, "PulseIntensity>5e+12");

	a->ProcessListOfRuns_Sum(prefix, runlist_30si, suffix, "EAR2/Dedicated_Sum_Beam.root", "Si", "RECREATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_au20mm, suffix, "EAR2/Dedicated_Sum_Beam.root", "Au20", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_au22mm, suffix, "EAR2/Dedicated_Sum_Beam.root", "Au22", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_dummy, suffix, "EAR2/Dedicated_Sum_Beam.root", "Dummy", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_sinat, suffix, "EAR2/Dedicated_Sum_Beam.root", "Sinat", "UPDATE");

	//parasitic pulse
	a->SetPriorCut(kC6D6, "PulseIntensity>1e+12 && PulseIntensity<5e+12");
	a->SetPriorCut(kSILI, "PulseIntensity>1e+12 && PulseIntensity<5e+12");
	a->SetPriorCut(kPKUP, "PulseIntensity>1e+12 && PulseIntensity<5e+12");
	a->SetPriorCut(kSTED, "PulseIntensity>1e+12 && PulseIntensity<5e+12");

	a->ProcessListOfRuns_Sum(prefix, runlist_30si, suffix, "EAR2/Parasitic_Sum_Beam.root", "Si", "RECREATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_au20mm, suffix, "EAR2/Parasitic_Sum_Beam.root", "Au20", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_au22mm, suffix, "EAR2/Parasitic_Sum_Beam.root", "Au22", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_dummy, suffix, "EAR2/Parasitic_Sum_Beam.root", "Dummy", "UPDATE");
	a->ProcessListOfRuns_Sum(prefix, runlist_sinat, suffix, "EAR2/Parasitic_Sum_Beam.root", "Sinat", "UPDATE");
	*/

	//a->SetPriorCut(kSILI, "PulseIntensity>1e+12");
	//a->SetPriorCut(kPKUP, "PulseIntensity>1e+12");
	//a->SetPriorCut(kSTED, "PulseIntensity>1e+12");
	//a->SetPriorCut(kC6D6, "PulseIntensity>1e+12");

	//a->ProcessListOfRuns_Sum(prefix, runlist_30si, suffix, "EAR2/Sum_Beam.root", "Si", "RECREATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_au20mm, suffix, "EAR2/Sum_Beam.root", "Au20", "UPDATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_au22mm, suffix, "EAR2/Sum_Beam.root", "Au22", "UPDATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_dummy, suffix, "EAR2/Sum_Beam.root", "Dummy", "UPDATE");
	//a->ProcessListOfRuns_Sum(prefix, runlist_sinat, suffix, "EAR2/Sum_Beam.root", "Sinat", "UPDATE");

	//a->ProcessListOfRuns_Single(prefix, runlist_30si, suffix, "EAR2/Single_30Si.root", "Si", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_au20mm, suffix, "EAR2/Single_Au20.root", "Au20", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_au22mm, suffix, "EAR2/Single_Au22.root", "Au22", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_dummy, suffix, "EAR2/Single_Dummy.root", "Dummy", "RECREATE");
	//a->ProcessListOfRuns_Single(prefix, runlist_sinat, suffix, "EAR2/Single_Sinat.root", "Sinat", "RECREATE");
	
	




	return 0;
}

ELOG V3.1.4-unknown