Commit 6d62bfa7 authored by Norbert Herrmann's avatar Norbert Herrmann
Browse files

formatting...

parent 78e458e6
......@@ -23,8 +23,8 @@ void fit_yPos(Int_t SmT = 0, Int_t iSm = 0, Int_t iRpc = 0) {
can->cd(1);
gROOT->cd();
gROOT->LoadMacro("fit_ybox.h");
ROOT::Math::Minimizer* minimum =
ROOT::Math::Factory::CreateMinimizer("Minuit", "Migrad");
ROOT::Math::Minimizer* minimum =
ROOT::Math::Factory::CreateMinimizer("Minuit", "Migrad");
minimum->SetMaxFunctionCalls(100000);
minimum->SetTolerance(0.1);
minimum->SetPrintLevel(3);
......@@ -44,8 +44,8 @@ void fit_yPos(Int_t SmT = 0, Int_t iSm = 0, Int_t iRpc = 0) {
h2y = h2->ProjectionY();
cout << " Fit with ybox " << h2y->GetName() << endl;
fit_ybox((const char*) (h2y->GetName()));
if( 0) { //NULL != gMinuit ) {
cout << "Minuit ended with " << gMinuit->fCstatu<<endl;
if (0) { //NULL != gMinuit ) {
cout << "Minuit ended with " << gMinuit->fCstatu << endl;
}
} else {
cout << hname2 << " not found" << endl;
......
......@@ -11,7 +11,7 @@ void ana_trks(Int_t nEvents = 10000,
TString cCalId = "",
Int_t iAnaCor = 1,
Bool_t bUseSigCalib = kFALSE,
Int_t iCalSet = 900920910,
Int_t iCalSet = 900920910,
Int_t iCalOpt = 1,
Int_t iMc = 0) {
Int_t iVerbose = 1;
......@@ -42,16 +42,16 @@ void ana_trks(Int_t nEvents = 10000,
TString cHstFile =
paramDir
+ Form(
"/hst/%s_%03.0f_%s_%06d_%03d_%03.1f_%03.1f_trk%03d_Cal%s_Ana.hst.root",
cFileId.Data(),
dDeadtime,
cSet.Data(),
iSel,
iSel2,
dScalFac,
dChi2Lim2,
iTrackingSetup,
cCalId.Data());
"/hst/%s_%03.0f_%s_%06d_%03d_%03.1f_%03.1f_trk%03d_Cal%s_Ana.hst.root",
cFileId.Data(),
dDeadtime,
cSet.Data(),
iSel,
iSel2,
dScalFac,
dChi2Lim2,
iTrackingSetup,
cCalId.Data());
TString cTrkFile = Form("%s_tofFindTracks.hst.root", cCalId.Data());
TString cAnaFile = Form("%s_TrkAnaTestBeam.hst.root", cFileId.Data());
......@@ -216,7 +216,7 @@ void ana_trks(Int_t nEvents = 10000,
//tofFindTracks->SetStation(8, 6, 1, 0);
//tofFindTracks->SetStation(9, 6, 1, 1);
break;
case 11: // for calibration mode of full setup
iMinNofHits = 3;
iNStations = 6;
......@@ -227,7 +227,7 @@ void ana_trks(Int_t nEvents = 10000,
tofFindTracks->SetStation(3, 9, 0, 1);
tofFindTracks->SetStation(4, 6, 0, 0);
tofFindTracks->SetStation(5, 6, 0, 1);
break;
break;
case 2:
iMinNofHits = 6;
......@@ -618,7 +618,7 @@ void ana_trks(Int_t nEvents = 10000,
gInterpreter->ProcessLine("pl_all_Track2D(1)");
gInterpreter->ProcessLine("pl_all_Track2D(2)");
gInterpreter->ProcessLine("pl_all_Track2D(4)");
TString over_trk = "pl_over_trk(" + (TString)(Form("%d", iNStations)) + ")";
gInterpreter->ProcessLine(over_trk);
......
This diff is collapsed.
void pl_all_3D(Int_t iOpt=0, Int_t iSel=0, Int_t iNSt=2)
{
void pl_all_3D(Int_t iOpt = 0, Int_t iSel = 0, Int_t iNSt = 2) {
// TCanvas *can = new TCanvas("can22","can22");
// can->Divide(2,2);
// can->Divide(2,2);
// TCanvas *can = new TCanvas("can","can",48,55,700,900);
TCanvas *can = new TCanvas("can","can",48,56,900,900);
can->Divide(4,3,0.01,0.01);
// can->Divide(2,2,0,0);
Float_t lsize=0.07;
TCanvas* can = new TCanvas("can", "can", 48, 56, 900, 900);
can->Divide(4, 3, 0.01, 0.01);
// can->Divide(2,2,0,0);
Float_t lsize = 0.07;
gPad->SetFillColor(0);
gStyle->SetPalette(1);
gStyle->SetLabelSize(lsize);
gPad->SetFillColor(0);
gStyle->SetPalette(1);
gStyle->SetLabelSize(lsize);
//gStyle->SetOptStat(kTRUE);
//gROOT->cd();
//gROOT->SetDirLevel(2);
//gStyle->SetOptStat(kTRUE);
//gROOT->cd();
//gROOT->SetDirLevel(2);
TH3 *h;
TH2 *h2;
const Int_t iType[6]={9,6,7,5,6,8};
const Int_t iSmNum[6]={3,2,1,1,1,1};
const Int_t iRpcNum[6]={2,2,1,1,2,8};
TString cOpt;
TH3* h;
TH2* h2;
const Int_t iType[6] = {9, 6, 7, 5, 6, 8};
const Int_t iSmNum[6] = {3, 2, 1, 1, 1, 1};
const Int_t iRpcNum[6] = {2, 2, 1, 1, 2, 8};
TString cOpt;
Int_t iCanv=0;
// if (h!=NULL) h->Delete();
Int_t iCanv = 0;
// if (h!=NULL) h->Delete();
for(Int_t iSt=0; iSt<iNSt; iSt++){
for(Int_t iSm=0; iSm<iSmNum[iSt];iSm++){
for(Int_t iRp=0; iRp<iRpcNum[iSt];iRp++){
can->cd(iCanv+1); iCanv++;
gROOT->cd();
TString hname=Form("cl_SmT%01d_sm%03d_rpc%03d_Sel%02d_Walk2",iType[iSt],iSm,iRp,iSel);
h=(TH3 *)gROOT->FindObjectAny(hname);
if (h!=NULL) {
switch(iOpt){
case 0:
cOpt="yx";
h->Project3D(cOpt)->Draw("colz");
break;
for (Int_t iSt = 0; iSt < iNSt; iSt++) {
for (Int_t iSm = 0; iSm < iSmNum[iSt]; iSm++) {
for (Int_t iRp = 0; iRp < iRpcNum[iSt]; iRp++) {
can->cd(iCanv + 1);
iCanv++;
gROOT->cd();
TString hname = Form("cl_SmT%01d_sm%03d_rpc%03d_Sel%02d_Walk2",
iType[iSt],
iSm,
iRp,
iSel);
h = (TH3*) gROOT->FindObjectAny(hname);
if (h != NULL) {
switch (iOpt) {
case 0:
cOpt = "yx";
h->Project3D(cOpt)->Draw("colz");
break;
case 1:
cOpt="yx";
h->Project3D(cOpt)->Draw("colz");
gPad->SetLogz();
break;
case 1:
cOpt = "yx";
h->Project3D(cOpt)->Draw("colz");
gPad->SetLogz();
break;
case 2:
cOpt="pfyx";
h2 = (TH2 *)h->Project3DProfile("yx");
h2->SetMinimum(-0.2);
h2->SetMaximum(0.2);
h2->Draw("colz");
break;
default:
;
}
}else{cout<<"Histogram "<<hname<<" not existing. "<<endl;}
case 2:
cOpt = "pfyx";
h2 = (TH2*) h->Project3DProfile("yx");
h2->SetMinimum(-0.2);
h2->SetMaximum(0.2);
h2->Draw("colz");
break;
default:;
}
} else {
cout << "Histogram " << hname << " not existing. " << endl;
}
}
}
}
}
can->SaveAs(Form("pl_all_%s.pdf",cOpt.Data()));
}
can->SaveAs(Form("pl_all_%s.pdf", cOpt.Data()));
}
......@@ -46,7 +46,7 @@ void ana_digi_cal(Int_t nEvents = 10000000,
TString FId = cFileId;
TString TofGeo = "v18m_mcbm";
cout << "Geometry version " << TofGeo << endl;
/*
/*
TObjString* tofDigiFile = new TObjString(
workDir + "/parameters/tof/tof_" + TofGeo + ".digi.par"); // TOF digi file
parFileList->Add(tofDigiFile);
......
......@@ -48,7 +48,7 @@ void ana_digi_cal_all(Int_t nEvents = 10000000,
TString FId = cFileId;
TString TofGeo = "v18m_mcbm";
cout << "Geometry version " << TofGeo << endl;
/*
/*
TObjString* tofDigiFile = new TObjString(
workDir + "/parameters/tof/tof_" + TofGeo + ".digi.par"); // TOF digi file
parFileList->Add(tofDigiFile);
......
void ana_digi_cali(Int_t nEvents = 10000000,
Int_t calMode = 53,
Int_t calSel = 0,
Int_t calSm = 900,
Int_t RefSel = 1,
TString cFileId = "Test",
Int_t iCalSet = 910601600,
Bool_t bOut = 0,
Int_t iSel2 = 0,
Double_t dDeadtime = 50,
TString cCalId = "XXX",
Int_t iPlot = 1) {
Int_t calMode = 53,
Int_t calSel = 0,
Int_t calSm = 900,
Int_t RefSel = 1,
TString cFileId = "Test",
Int_t iCalSet = 910601600,
Bool_t bOut = 0,
Int_t iSel2 = 0,
Double_t dDeadtime = 50,
TString cCalId = "XXX",
Int_t iPlot = 1) {
Int_t iVerbose = 1;
Int_t iBugCor = 0;
//Specify log level (INFO, DEBUG, DEBUG1, ...)
......@@ -31,7 +31,7 @@ void ana_digi_cali(Int_t nEvents = 10000000,
return;
*/
//TString paramDir = workDir + "/macro/beamtime/mcbm2018/";
TString paramDir = "./";
TString paramDir = "./";
TString ParFile = paramDir + "data/" + cFileId + ".params.root";
TString InputFile = paramDir + "data/" + cFileId + ".root";
TString OutputFile =
......@@ -47,7 +47,7 @@ void ana_digi_cali(Int_t nEvents = 10000000,
TString FId = cFileId;
TString TofGeo = "v18m_mcbm";
cout << "Geometry version " << TofGeo << endl;
/*
/*
TObjString* tofDigiFile = new TObjString(
workDir + "/parameters/tof/tof_" + TofGeo + ".digi.par"); // TOF digi file
parFileList->Add(tofDigiFile);
......
......@@ -66,7 +66,7 @@ void ana_trks(Int_t nEvents = 10000,
gSystem->Exec(shcmd.Data());
TList* parFileList = new TList();
Int_t iGeo = 0; //iMc;
Int_t iGeo = 0; //iMc;
if (iGeo == 0) {
TString TofGeo = "v18m_mcbm"; //default
......@@ -178,12 +178,12 @@ void ana_trks(Int_t nEvents = 10000,
tofTrackFinder->SetTxLIM(0.15); // max slope dx/dz
tofTrackFinder->SetTyLIM(0.18); // max dev from mean slope dy/dz
break;
case 2: // for triple stack 012 counter evaluation
tofTrackFinder->SetTxMean(0.0); // mean slope dx/dz
tofTrackFinder->SetTyMean(-0.03); // mean slope dy/dz
tofTrackFinder->SetTxLIM(0.06); // max slope dx/dz
tofTrackFinder->SetTyLIM(0.03); // max dev from mean slope dy/dz
break;
case 2: // for triple stack 012 counter evaluation
tofTrackFinder->SetTxMean(0.0); // mean slope dx/dz
tofTrackFinder->SetTyMean(-0.03); // mean slope dy/dz
tofTrackFinder->SetTxLIM(0.06); // max slope dx/dz
tofTrackFinder->SetTyLIM(0.03); // max dev from mean slope dy/dz
break;
}
CbmTofTrackFitter* tofTrackFitter = new CbmTofTrackFitterKF(0, 211);
......@@ -197,14 +197,15 @@ void ana_trks(Int_t nEvents = 10000,
tofFindTracks->SetCorMode(iGenCor); // valid options: 0,1,2,3,4,5,6, 10 - 19
//tofFindTracks->SetTtTarg(0.041); // Mar19, Run 159
//tofFindTracks->SetTtTarg(0.0605); // target value for Mar2020 triple stack -> betapeak ~ 0.95
tofFindTracks->SetTtTarg(0.062); // target value for Mar2020 triple stack -> betapeak ~ 0.95
tofFindTracks->SetTtTarg(
0.062); // target value for Mar2020 triple stack -> betapeak ~ 0.95
//tofFindTracks->SetTtTarg(0.058); // target value for Mar2020 double stack
//tofFindTracks->SetTtTarg(0.051); // target value Nov2019
//tofFindTracks->SetTtTarg(0.035); // target value for inverse velocity, > 0.033 ns/cm!
tofFindTracks->SetCalParFileName(
cTrkFile); // Tracker parameter value file name
tofFindTracks->SetBeamCounter(5, 0, 0); // default beam counter
tofFindTracks->SetR0Lim(0.); // for calibration
tofFindTracks->SetR0Lim(0.); // for calibration
tofFindTracks->SetStationMaxHMul(
30); // Max Hit Multiplicity in any used station
......@@ -212,12 +213,13 @@ void ana_trks(Int_t nEvents = 10000,
tofFindTracks->SetSIGT(0.08); // default in ns
tofFindTracks->SetSIGX(0.45); // local-y default in cm
tofFindTracks->SetSIGY(0.3); // local-x default in cm
tofFindTracks->SetSIGZ(10.05); // default in cm
tofFindTracks->SetSIGZ(10.05); // default in cm
tofFindTracks->SetUseSigCalib(
bUseSigCalib); // ignore resolutions in CalPar file
tofTrackFinder->SetSIGLIM(dChi2Lim2
* 2.); // matching window in multiples of chi2
tofTrackFinder->SetSIGLIMMOD(1.5); // search window modifier for last hit (DUT)
tofTrackFinder->SetSIGLIMMOD(
1.5); // search window modifier for last hit (DUT)
tofTrackFinder->SetChiMaxAccept(dChi2Lim2); // max tracklet chi2
Int_t iMinNofHits = -1;
......@@ -348,8 +350,8 @@ void ana_trks(Int_t nEvents = 10000,
tofFindTracks->SetStation(2, 0, 0, 2);
tofFindTracks->SetStation(3, 0, 1, 2);
break;
case 14: // for eval 012
case 14: // for eval 012
iMinNofHits = 3;
iNStations = 4;
iNReqStations = 4;
......@@ -358,8 +360,8 @@ void ana_trks(Int_t nEvents = 10000,
tofFindTracks->SetStation(1, 0, 0, 2);
tofFindTracks->SetStation(2, 0, 1, 2);
break;
case 24: // for geometry tuning 012
case 24: // for geometry tuning 012
iMinNofHits = 3;
iNStations = 3;
iNReqStations = 3;
......
void ana_trksi(Int_t nEvents = 10000,
Int_t iSel = 1,
Int_t iGenCor = 1,
TString cFileId = "48.50.7.1",
TString cSet = "000010020",
Int_t iSel2 = 20,
Int_t iTrackingSetup = 2,
Double_t dScalFac = 1.,
Double_t dChi2Lim2 = 500.,
Double_t dDeadtime = 50,
TString cCalId = "",
Int_t iAnaCor = 1,
Bool_t bUseSigCalib = kFALSE,
Int_t iCalSet = 30040500,
Int_t iCalOpt = 1,
Int_t iMc = 0) {
Int_t iSel = 1,
Int_t iGenCor = 1,
TString cFileId = "48.50.7.1",
TString cSet = "000010020",
Int_t iSel2 = 20,
Int_t iTrackingSetup = 2,
Double_t dScalFac = 1.,
Double_t dChi2Lim2 = 500.,
Double_t dDeadtime = 50,
TString cCalId = "",
Int_t iAnaCor = 1,
Bool_t bUseSigCalib = kFALSE,
Int_t iCalSet = 30040500,
Int_t iCalOpt = 1,
Int_t iMc = 0) {
Int_t iVerbose = 1;
if (cCalId == "") cCalId = cFileId;
TString FId = cFileId;
......@@ -27,9 +27,9 @@ void ana_trksi(Int_t nEvents = 10000,
//TString logLevel = "DEBUG1";
//TString logLevel = "DEBUG2";
//TString logLevel = "DEBUG3";
TString workDir = gSystem->Getenv("VMCWORKDIR");
TString workDir = gSystem->Getenv("VMCWORKDIR");
//TString paramDir = workDir + "/macro/beamtime/mcbm2018";
TString paramDir = ".";
TString paramDir = ".";
TString ParFile = paramDir + "/data/" + cFileId.Data() + ".params.root";
TString InputFile = paramDir + "/data/" + cFileId.Data() + ".root";
......@@ -66,7 +66,7 @@ void ana_trksi(Int_t nEvents = 10000,
gSystem->Exec(shcmd.Data());
TList* parFileList = new TList();
Int_t iGeo = 0; //iMc;
Int_t iGeo = 0; //iMc;
if (iGeo == 0) {
TString TofGeo = "v18m_mcbm"; //default
......@@ -178,12 +178,12 @@ void ana_trksi(Int_t nEvents = 10000,
tofTrackFinder->SetTxLIM(0.15); // max slope dx/dz
tofTrackFinder->SetTyLIM(0.18); // max dev from mean slope dy/dz
break;
case 2: // for triple stack 012 counter evaluation
tofTrackFinder->SetTxMean(0.0); // mean slope dx/dz
tofTrackFinder->SetTyMean(-0.03); // mean slope dy/dz
tofTrackFinder->SetTxLIM(0.06); // max slope dx/dz
tofTrackFinder->SetTyLIM(0.03); // max dev from mean slope dy/dz
break;
case 2: // for triple stack 012 counter evaluation
tofTrackFinder->SetTxMean(0.0); // mean slope dx/dz
tofTrackFinder->SetTyMean(-0.03); // mean slope dy/dz
tofTrackFinder->SetTxLIM(0.06); // max slope dx/dz
tofTrackFinder->SetTyLIM(0.03); // max dev from mean slope dy/dz
break;
}
CbmTofTrackFitter* tofTrackFitter = new CbmTofTrackFitterKF(0, 211);
......@@ -196,7 +196,8 @@ void ana_trksi(Int_t nEvents = 10000,
iCalOpt); // 1 - update offsets, 2 - update walk, 0 - bypass
tofFindTracks->SetCorMode(iGenCor); // valid options: 0,1,2,3,4,5,6, 10 - 19
//tofFindTracks->SetTtTarg(0.041); // Mar19, Run 159
tofFindTracks->SetTtTarg(0.0605); // target value for Mar2020 triple stack -> betapeak ~ 0.95
tofFindTracks->SetTtTarg(
0.0605); // target value for Mar2020 triple stack -> betapeak ~ 0.95
//tofFindTracks->SetTtTarg(0.062); // target value for Mar2020 triple stack -> betapeak ~ 0.95
//tofFindTracks->SetTtTarg(0.058); // target value for Mar2020 double stack
//tofFindTracks->SetTtTarg(0.051); // target value Nov2019
......@@ -216,8 +217,9 @@ void ana_trksi(Int_t nEvents = 10000,
tofFindTracks->SetUseSigCalib(
bUseSigCalib); // ignore resolutions in CalPar file
tofTrackFinder->SetSIGLIM(dChi2Lim2
* 2.); // matching window in multiples of chi2
tofTrackFinder->SetSIGLIMMOD(1.5); // search window modifier for last hit (DUT)
* 2.); // matching window in multiples of chi2
tofTrackFinder->SetSIGLIMMOD(
1.5); // search window modifier for last hit (DUT)
tofTrackFinder->SetChiMaxAccept(dChi2Lim2); // max tracklet chi2
Int_t iMinNofHits = -1;
......@@ -348,8 +350,8 @@ void ana_trksi(Int_t nEvents = 10000,
tofFindTracks->SetStation(2, 0, 0, 2);
tofFindTracks->SetStation(3, 0, 1, 2);
break;
case 14: // for eval 012
case 14: // for eval 012
iMinNofHits = 3;
iNStations = 4;
iNReqStations = 4;
......@@ -358,8 +360,8 @@ void ana_trksi(Int_t nEvents = 10000,
tofFindTracks->SetStation(1, 0, 0, 2);
tofFindTracks->SetStation(2, 0, 1, 2);
break;
case 24: // for geometry tuning 012
case 24: // for geometry tuning 012
iMinNofHits = 3;
iNStations = 3;
iNReqStations = 3;
......@@ -678,7 +680,7 @@ void ana_trksi(Int_t nEvents = 10000,
TString SaveToHstFile = "save_hst(\"" + cHstFile + "\")";
gInterpreter->ProcessLine(SaveToHstFile);
return;
//gInterpreter->ProcessLine("pl_over_MatD4sel()");
......
......@@ -15,14 +15,14 @@ void dis_digi(Int_t nEvents = 100,
TString cCalId = "XXX",
Bool_t bUseSigCalib = kFALSE,
Int_t iCalOpt = 1) {
Int_t iVerbose = 1;
if (cCalId == "") cCalId = cFileId;
TString FId = cFileId;
TString cRun(FId(0, 3));
Int_t iRun = cRun.Atoi();
cout << "dis_digi for Run " << iRun << endl;
//Specify log level (INFO, DEBUG, DEBUG1, ...)
//TString logLevel = "FATAL";
//TString logLevel = "ERROR";
......@@ -56,7 +56,7 @@ void dis_digi(Int_t nEvents = 100,
TString shcmd = "rm -v " + ParFile;
gSystem->Exec(shcmd.Data());
Int_t iGeo = 0; //iMc;
if (iGeo == 0) {
TString TofGeo = "v18m_mcbm";
......@@ -67,8 +67,8 @@ void dis_digi(Int_t nEvents = 100,
workDir + "/parameters/tof/tof_" + TofGeo + ".digi.par"); // TOF digi file
parFileList->Add(tofDigiFile);
*/
TObjString* tofDigiBdfFile =
new TObjString(workDir + "/parameters/tof/tof_" + TofGeo + ".digibdf.par");
TObjString* tofDigiBdfFile = new TObjString(workDir + "/parameters/tof/tof_"
+ TofGeo + ".digibdf.par");
parFileList->Add(tofDigiBdfFile);
TString geoDir = gSystem->Getenv("VMCWORKDIR");
......@@ -86,7 +86,7 @@ void dis_digi(Int_t nEvents = 100,
master->Draw("ogl");
}
}
// Local steering variables
Int_t iBRef = iCalSet % 1000;
Int_t iSet = (iCalSet - iBRef) / 1000;
......@@ -326,154 +326,153 @@ void dis_digi(Int_t nEvents = 100,
// =========================================================================
CbmTofTrackFinder* tofTrackFinder = new CbmTofTrackFinderNN();
tofTrackFinder->SetMaxTofTimeDifference(0.4); // in ns/cm
Int_t TrackerPar = 0;
switch (TrackerPar) {
case 0: // for full mTof setup
tofTrackFinder->SetTxLIM(0.3); // max slope dx/dz
tofTrackFinder->SetTyLIM(0.3); // max dev from mean slope dy/dz
tofTrackFinder->SetTxMean(0.); // mean slope dy/dz
tofTrackFinder->SetTyMean(0.); // mean slope dy/dz
break;
case 1: // for double stack test counters
tofTrackFinder->SetTxMean(0.21); // mean slope dy/dz
tofTrackFinder->SetTyMean(0.18); // mean slope dy/dz
tofTrackFinder->SetTxLIM(0.15); // max slope dx/dz
tofTrackFinder->SetTyLIM(0.18); // max dev from mean slope dy/dz
break;
tofTrackFinder->SetMaxTofTimeDifference(0.4); // in ns/cm
Int_t TrackerPar = 0;
switch (TrackerPar) {
case 0: // for full mTof setup
tofTrackFinder->SetTxLIM(0.3); // max slope dx/dz
tofTrackFinder->SetTyLIM(0.3); // max dev from mean slope dy/dz
tofTrackFinder->SetTxMean(0.); // mean slope dy/dz
tofTrackFinder->SetTyMean(0.); // mean slope dy/dz
break;
case 1: // for double stack test counters
tofTrackFinder->SetTxMean(0.21); // mean slope dy/dz
tofTrackFinder->SetTyMean(0.18); // mean slope dy/dz
tofTrackFinder->SetTxLIM(0.15); // max slope dx/dz
tofTrackFinder->SetTyLIM(0.18); // max dev from mean slope dy/dz
break;
}
CbmTofTrackFitter* tofTrackFitter = new CbmTofTrackFitterKF(0, 211);
TFitter* MyFit = new TFitter(1); // initialize Minuit
tofTrackFinder->SetFitter(tofTrackFitter);
CbmTofFindTracks* tofFindTracks = new CbmTofFindTracks("TOF Track Finder");
tofFindTracks->UseFinder(tofTrackFinder);
tofFindTracks->UseFitter(tofTrackFitter);
tofFindTracks->SetCalOpt(
iCalOpt); // 1 - update offsets, 2 - update walk, 0 - bypass
tofFindTracks->SetCorMode(iGenCor); // valid options: 0,1,2,3,4,5,6, 10 - 19
tofFindTracks->SetTtTarg(
0.057); // target value for inverse velocity, > 0.033 ns/cm!
//tofFindTracks->SetTtTarg(0.035); // target value for inverse velocity, > 0.033 ns/cm!
tofFindTracks->SetCalParFileName(
cTrkFile); // Tracker parameter value file name
tofFindTracks->SetBeamCounter(5, 0, 0); // default beam counter
tofFindTracks->SetR0Lim(100.);
tofFindTracks->SetStationMaxHMul(
30); // Max Hit Multiplicity in any used station
tofFindTracks->SetT0MAX(dScalFac); // in ns
tofFindTracks->SetSIGT(0.08); // default in ns
tofFindTracks->SetSIGX(0.3); // default in cm
tofFindTracks->SetSIGY(0.6); // default in cm
tofFindTracks->SetSIGZ(0.05); // default in cm
tofFindTracks->SetUseSigCalib(
bUseSigCalib); // ignore resolutions in CalPar file
tofTrackFinder->SetSIGLIM(dChi2Lim2
* 2.); // matching window in multiples of chi2
tofTrackFinder->SetChiMaxAccept(dChi2Lim2); // max tracklet chi2
Int_t iMinNofHits = -1;
Int_t iNStations = 0;
Int_t iNReqStations = 3;
switch (iTrackingSetup) {
case 0: // bypass mode