Skip to content
Snippets Groups Projects
Commit 04053e19 authored by Semen Lebedev's avatar Semen Lebedev
Browse files

RICH: Automatically set Z position for extrapolation of STS tracks using geometry.

parent c36ca947
No related branches found
No related tags found
1 merge request!726RICH: add copy number to nodes to provide a unique path for each node (#2425).
......@@ -16,9 +16,12 @@ def main():
resultDir = "results_" + runId + "_"+ energy +"/"
#runId = "0"
geoSetup = "sis100_electron"
nEvents = 1000
testType = "urqmdTest" # urqmdTest or geoTest
geoSetup = "sis100_electron_APR21"
nEvents = 10
testType = "geoTest" # urqmdTest or geoTest
if testType == "geoTest":
urqmdFile = ""
traFile = dataDir + "/tra." + runId + ".root"
parFile = dataDir + "/param." + runId + ".root"
......@@ -32,9 +35,9 @@ def main():
recoCmd = ('root -l -b -q run_reco.C\(\\"{}\\",\\"{}\\",\\"{}\\",\\"{}\\",\\"{}\\",\\"{}\\",{}\)').format(testType, traFile, parFile, digiFile, recoFile, geoSetup, nEvents)
qaCmd = ('root -l -b -q run_qa.C\(\\"{}\\",\\"{}\\",\\"{}\\",\\"{}\\",\\"{}\\",\\"{}\\",\\"{}\\",\\"{}\\",{}\)').format(testType, traFile, parFile, digiFile, recoFile, qaFile, geoSetup, resultDir, nEvents)
# os.system((". /{} -a; {}").format(cbmrootConfigPath, traCmd))
# os.system((". /{} -a; {}").format(cbmrootConfigPath, digiCmd))
# os.system((". /{} -a; {}").format(cbmrootConfigPath, recoCmd))
os.system((". /{} -a; {}").format(cbmrootConfigPath, traCmd))
os.system((". /{} -a; {}").format(cbmrootConfigPath, digiCmd))
os.system((". /{} -a; {}").format(cbmrootConfigPath, recoCmd))
os.system((". /{} -a; {}").format(cbmrootConfigPath, qaCmd))
# def make_args():
......
......@@ -30,6 +30,7 @@
#include "CbmEvent.h"
#include "CbmGlobalTrack.h"
#include "CbmRichConverter.h"
#include "CbmRichGeoManager.h"
#include "CbmRichRingFitterCOP.h"
#include "CbmRichRingFitterCircle.h"
#include "CbmRichRingFitterEllipseMinuit.h"
......@@ -92,6 +93,17 @@ InitStatus CbmRichReconstruction::Init()
fRichRings = new TClonesArray("CbmRichRing", 100);
manager->Register("RichRing", "RICH", fRichRings, IsOutputBranchPersistent("RichRing"));
// This was checked for v17a, v21a geometries. The offset was chosen that
// the value for v17a is 260 cm and the value for v21a is 220 cm
double offset = 205.7331;
fZTrackExtrapolation = CbmRichGeoManager::GetInstance().fGP->fMirrorZ + offset;
LOG(info) << "CbmRichReconstruction::Init() fZTrackExtrapolation = " << fZTrackExtrapolation;
if (fZTrackExtrapolation < 200. || fZTrackExtrapolation > 300.) {
LOG(fatal) << "CbmRichReconstruction::Init() fZTrackExtrapolation = " << fZTrackExtrapolation
<< " The value of fZTrackExtrapolation is not correct. It must be in the range [200, 300] cm."
<< " Probably the RICH geometry is not correct or it is not supported.";
}
if (fRunExtrapolation) InitExtrapolation();
if (fRunProjection) InitProjection();
if (fRunFinder) InitFinder();
......
......@@ -133,7 +133,8 @@ private:
string fTrackAssignName = "closest_distance";
// Z coordinate where STS tracks will be extrapolated.
Double_t fZTrackExtrapolation = 260.;
// Initialized later using geometry.
Double_t fZTrackExtrapolation = -1; //260.
/**
* \brief
......
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