Developing #258

Comparison between ER track finding and stand-alone macro

Added by Mikhail Kozlov almost 6 years ago. Updated almost 6 years ago.

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.

canv_compERReco_noClusters_BeamDetTarget.png (30.5 KB) Mikhail Kozlov, 01/18/2019 12:27 AM

canv_compERReco_noClusters_BeamDetTarget.root (11.8 KB) Mikhail Kozlov, 01/18/2019 12:29 AM

canv_compERReco_withClusters_BeamDetTarget.root (12 KB) Mikhail Kozlov, 01/18/2019 12:38 AM

canv_compERReco_withClusters_BeamDetTarget.png (33.5 KB) Mikhail Kozlov, 01/18/2019 12:38 AM

canv_compERReco_withClusters_D2Target.root (12.4 KB) Mikhail Kozlov, 01/18/2019 01:05 AM

canv_compERReco_withClusters_D2Target.png (33.1 KB) Mikhail Kozlov, 01/18/2019 01:05 AM

Pics-BeamDet.pdf - BeamDet-comparing (8.46 MB) Mai Anh, 01/22/2019 05:13 PM

History

#1 Updated by Mikhail Kozlov almost 6 years ago

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

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

Also available in: Atom PDF