GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » Tracking » Tracklength from GEANE
Tracklength from GEANE [message #6404] Mon, 14 April 2008 15:17 Go to next message
Sebastian Neubert is currently offline  Sebastian Neubert
Messages: 282
Registered: March 2006
Location: Munich
first-grade participant

From: *e18.physik.tu-muenchen.de
Hi Lia,

I am implementing the function that you get the tracklength between two point on the track at the moment. Concerning this topic I found the follwoing post:

Quote:


concerning geane, in the case of propagation to closest approach to the wire/point, there is a function of CbmGeanePro called GetlengthAtPCA() which returns the track length at the point of closest approach. This returns the complete track length (not only the xy projection).

Concerning the propagation to a defined volume or plane this function does not work, since the variable trklength is not filled.



Indeed if I use GetLengthAtPCA inside GeaneTrackRep (where we only extrapolate to planes) I always get 0.

So how can we have trklength be filled also for propagation to planes?

Cheers! Sebastian.


Sebastian Neubert
Technische Universität München
Department Physik E18
sneubert@e18.physik.tu-muenchen.de
tel: +49-8928912592
Re: Tracklength from GEANE [message #6407 is a reply to message #6404] Mon, 14 April 2008 16:57 Go to previous messageGo to next message
Sebastian Neubert is currently offline  Sebastian Neubert
Messages: 282
Registered: March 2006
Location: Munich
first-grade participant

From: *e18.physik.tu-muenchen.de
Hi!

I have checked in a new version of CbmGeanePro where I added the following:


void CbmGeanePro::Propagate(Int_t PDG) {
  // main propagate call to fortran ERTRAK

  GeantCode=fdbPDG->ConvertPdgToGeant3(PDG);

  gMC3->Ertrak(x1,p1,x2,p2,GeantCode, fPropOption.Data());
  std::cout<<"gMC3->TrackLength="<<gMC3->TrackLength()<<std::endl;
  trklength=gMC3->TrackLength();

}


So now trklength is set for every Propagation. But I think there was some issue, that when we do it this way, the precision of trklength is limited to the stepsize??

In the recotasks/demo there is now a DemoToolsTask, which demosnatrate how to get the tracklength between two points.

Cheers!
Sebastian.

Cheers! Sebastian.


Sebastian Neubert
Technische Universität München
Department Physik E18
sneubert@e18.physik.tu-muenchen.de
tel: +49-8928912592
Re: Tracklength from GEANE [message #6417 is a reply to message #6404] Mon, 14 April 2008 18:41 Go to previous messageGo to next message
Andrea Fontana is currently offline  Andrea Fontana
Messages: 32
Registered: May 2007
continuous participant
From: *pv.infn.it
Hello Sebastian,
I have spoken with Lia and I think that this is the correct
solution: we actually did the same for the PCA extrapolation
in the EUFILL function.
The tracklength value depends on the stepsize, but I
do not see other ways to do it: by propagating to a plane,
GEANE has a step calculated so to finish on the plane and
the number should be quite correct.

Ciao,
Andrea


Re: Tracklength from GEANE [message #6440 is a reply to message #6407] Tue, 15 April 2008 18:18 Go to previous message
asanchez is currently offline  asanchez
Messages: 350
Registered: March 2006
first-grade participant
From: *gsi.de
Hi Sebastian, i was trying to run the macros in demo directory.
But after having run runDemo.C with geane switched ON,
i get nothing.
Do you know why?

my best regards
ALicia.

43 libraries loaded
=======================
-I- CbmRunAna: Opening Input file: demo.mc.root
Info in <TGeoManager::TGeoManager>: Geometry Geometry, Geane geometry created
Info: TGeoManager::Import : Reading geometry from file: demo.mc.root
Info in <TGeoManager::CloseGeometry>: Geometry loaded from file...
Info in <TGeoManager::SetTopVolume>: Top volume is cave. Master volume is cave
Info in <TGeoManager::Voxelize>: Voxelizing...
Info in <TGeoNavigator::BuildCache>: --- Maximum geometry depth set to 100
Info in <TGeoManager::CloseGeometry>: 9 nodes/ 9 volume UID's in CBM geometry
Info in <TGeoManager::CloseGeometry>: ----------------modeler ready----------------
Loading Geant3 libraries ...
Loading Geant3 libraries ... finished

MZSTOR. ZEBRA table base TAB(0) in /MZCC/ at adr 282026719 10CF62DF HEX

MZSTOR. Initialize Store 0 in /GCBANK/
with Store/Table at absolute adrs 282135565 282026719
HEX 10D10C0D 10CF62DF
HEX 1A77A 0
relative adrs 108410 0
with 1 Str. in 2 Links in 5300 Low words in 4999970 words.
This store has a fence of 16 words.

MZLOGL. Set Log Level 0 for store 0
1***** GEANT Version 3.21/11 Released on 100298
0***** Correction Cradle Version 0.1100

MZDIV. Initialize Division Constant in Store 0
NW/NWMAX= 20004000000, MODE/KIND= 1 2
Division 20 initialized.

MZLINK. Initialize Link Area /GCLINK/ for Store 0 NL/NS= 20 20

MZLINK. Initialize Link Area /GCSLNK/ for Store 0 NL/NS= 100 100
-I- G3Config: Geant3 with TGeo has been created for Geane.
Energy straggling area parameter from user set to: 0.9996
CbmMCApplication::ConstructGeometry() : Now closing the geometry
Warning in <TGeoManager::CloseGeometry>: geometry already closed

Calculating cross section tables, see gphysi.dat for more information

Cross section calculation concluded successfully
-I- CbmMCApplication:: Monte carlo Engine Initialisation with TGeant3TGeo
I- CbmGeane::CbmGeane: Geane is Initialized
OBJ: CbmRuntimeDb CbmRuntimeDb Class for runtime database

-I- CbmRunAna::Init :
demo.mc.root is connected with:

PndFieldCreator::SetParm()
create PndFieldPar container PndFieldPar
create PndFieldPar container PndSolenoidPar
create PndFieldPar container PndDipolePar
create PndFieldPar container PndTransPar
create PndFieldPar container PndConstPar
create PndFieldPar container PndMultiFieldPar

*************************************************************
initialisation for run id 1705800566
*************************************************************
Container CbmBaseParSet initialized from ROOT file.
Error in <PndFieldPar::init()>: PndFieldPar not initialized
Error in <PndSolenoidPar::init()>: PndSolenoidPar not initialized
Error in <PndDipolePar::init()>: PndDipolePar not initialized
Error in <PndTransPar::init()>: PndTransPar not initialized
Container PndConstPar initialized from ROOT file.
Error in <PndMultiFieldPar::init()>: PndMultiFieldPar not initialized
Error in <CbmRuntimeDb::initContainers()>: Error occured during initialization
PndFieldCreator::createCbmField()
------------------------------------------------------------------------ --------
-------------- actual containers in runtime database -------------------------
CbmBaseParSet Test class for parameter io
PndFieldPar Field parameter container
PndSolenoidPar Solenoid Field parameter container
PndDipolePar Dipole Field parameter container
PndTransPar Trans. Field parameter container
PndConstPar Const Field parameter container
PndMultiFieldPar Multiple Field parameter container
-------------- runs, versions ------------------------------------------------
run id
container 1st-inp 2nd-inp output
run: 1705800566
CbmBaseParSet -1 -1 0
PndFieldPar -1 -1 0
PndSolenoidPar -1 -1 0
PndDipolePar -1 -1 0
PndTransPar -1 -1 0
PndConstPar -1 -1 0
PndMultiFieldPar -1 -1 0
-------------- input/output --------------------------------------------------
first Input:
OBJ: CbmParRootFile demo.param.root : 0 at: 0x9b9e6b0
Root file I/O demo.param.root is open
detector I/Os: CbmGenericParIo
second input: none
output: none
DemoPatternRecoTask::Exec
0 tracks created
DemoKalmanTask::Exec Event 0
DemoToolsTask::Exec Event 0


Macro finished succesfully.
Output file is demo.mcreco.root
Parameter file is demo.param.root
Real time 3.41002 s, CPU time 3.34 s
Previous Topic: GEANE extrpolate to point of closest approach
Next Topic: demo with tracklength not running
Goto Forum:
  


Current Time: Mon Apr 29 17:48:54 CEST 2024

Total time taken to generate the page: 0.01119 seconds