Developing #258
Comparison between ER track finding and stand-alone macro
Status: | Открыта | Start date: | 01/17/2019 | ||
---|---|---|---|---|---|
Priority: | Высокий | Due date: | |||
Assignee: | Mikhail Kozlov | % Done: | 80% | ||
Category: | BeamDet | ||||
Target version: | - |
Description
Explore adjustments of ER and stand-alone Vratislav's macro when results of the track finding coincide qualitative and quantitive and have the same events count and coordinates in the resulting distribution.
History
#1 Updated by Mikhail Kozlov almost 6 years ago
- File canv_compERReco_noClusters_BeamDetTarget.png added
- File canv_compERReco_noClusters_BeamDetTarget.root added
- File canv_compERReco_withClusters_BeamDetTarget.root added
- File canv_compERReco_withClusters_BeamDetTarget.png added
- File canv_compERReco_withClusters_D2Target.root added
- File canv_compERReco_withClusters_D2Target.png added
Order of macros running:
1) exp1811_sim.C - creates setup configuration
2) recoBeamProjection.cxx, reco_he8_exp1811.C
3) drawProjections.C
Attention! My apologize, if exp1811_sim.C drops, you have to change QTelescopePartsExp1811.xml to QTelescopeParts2.xml on 16th line.
Offsets in Vratislav's macro are off.
Places in the code where changes happen:
1) Selection of multiplicity in ERBeamDetTrackFinder, lines 122-130:
if(fBeamDetMWPCDigiX1->GetEntriesFast() != 1 ||
fBeamDetMWPCDigiX2->GetEntriesFast() != 1 ||
fBeamDetMWPCDigiY1->GetEntriesFast() != 1 ||
fBeamDetMWPCDigiY2->GetEntriesFast() != 1 ) {
LOG(DEBUG)
FairRun* run = FairRun::Instance();
run->MarkFill(kFALSE);
return ;
};
2) Switch between different targets in exp1811_sim.C, lines 59-63:
setupBeamDet->SetSensitiveTarget();
// ----- Create target -------------------------------------------------
// FairModule* target = new ERTarget("target", kTRUE, 1);
// target->SetGeometryFileName(targetGeoFileName);
// run->AddModule(target);
3) In reco_he8_exp1811.C:
a) line 1: fTriggerNum = 2; all comparisons in that comment are carried out with trigger == 2, but one can check results with other triggers by himself.
b) change target volume name line 28: trackFinder->SetTargetVolume("targetBodyH2"); // targetBodyH2 - embedded BeamDet target volume, tubeD2 - D2 taget volume;
4) drawProjections.C: all draw parameters to get proper plots.
5) recoBeamProjection.cxx:
a) switching randomization in line 154: return (wire + /*gRandom->Uniform(-0.5, 0.5)*/ - 16.5)*wireStep + planeOffset;
b) lines 159-170:
cuts for the calculation with clusters:
if (GetClusterMult(dataX1)!= 1 || GetClusterMult(dataY1)!=1 || GetClusterMult(dataX2)!=1 || GetClusterMult(dataY2)!=1) {
fFill = false;
return;
},
or with single wire:
if (dataX1->GetEntriesFast() !=1
|| dataY1->GetEntriesFast()!=1
|| dataX2->GetEntriesFast() !=1
|| dataY2->GetEntriesFast()!=1)
{
fFill = false;
return;
}
The first comparison was done without considering clusters, but only for those events where the multiplicity equals unit.
link to repository state: https://github.com/ExpertRootGroup/er/tree/99ddfd72ef697f3c4946c9c6c02219e64fa148b6/macro/test/exp1811
Clusters are used and used the target embedded in the Beamdet:
link to repository state: https://github.com/ExpertRootGroup/er/tree/a669170b95f17077047b2b5436a3da0ecbb9449d/macro/test/exp1811
Now, when we are assured that the results of reconstruction are the same, we introduce the D2 target to the simulation:
link to repository state: https://github.com/ExpertRootGroup/er/tree/68b535ec7213f8947356496a2ff78fa165b07658/macro/test/exp1811
In such configuration, we can see little difference of plots only by the edges. That happens because ER uses the method of determining coordinates by propagation of the ion through geometry and finds the destination point as the middle of step in target volume (step between input and output positions).
So on edges, some inaccuracy occurs.
#2 Updated by Mikhail Kozlov almost 6 years ago
- % Done changed from 0 to 80
#3 Updated by Mai Anh almost 6 years ago
- File Pics-BeamDet.pdf added
we have the full of the comparisons between 2 methods: no trigger, trigger = 1, trigger = 2 and trigger = 3.
Please see the file was attached for more details