GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » Bugs, Fixes, Releases » EvtGen - time information lost
EvtGen - time information lost [message #20435] Wed, 01 March 2017 10:04 Go to next message
Dominik Steinschaden is currently offline  Dominik Steinschaden
Messages: 28
Registered: April 2015
continuous participant
From: *physics.uu.se
Hi all,

I'm currently working on some algorithms for Pandaroot, which make use of the TOF counters (BTof/ScTil and FTof).
To test them under certain conditions I want to use the EvtGen generator to produce specific hyperon events.

now I realized that for such events the timing information of the tracks is wrong. It seems that the decay described in my decay file is handled by the evtGen till the final state particles are reached. and then all resulting tracks are simulated with the same start time which is equivalent to the event start time. Therefore the time information in the detectors is not correct any more. this effect can be very large for example for hyperons with a strong forward boost and therefore a large displaced vertex.

I attached a file, showing the time stamp distribution in the FTof detector for pbar p -> lambda lambda bar for 15 GeV primary momentum. Just to remind, the FTof is located around 7.8 meters in forward direction. a particle moving with speed of light should take around 26 ns to reach this detector. As shown there are signals in the detector after a few ns. Therefore for example TOF based Pid algorithms breaks down completely.

is there a possible work around to get the evtGen to also pass the correct time information to Geant3/4. or maybe geant3/4 can handle the decay of the lambdas instead of the evtGen.

LG Dominik
Re: EvtGen - time information lost [message #20439 is a reply to message #20435] Wed, 01 March 2017 10:09 Go to previous messageGo to next message
Ralf Kliemt is currently offline  Ralf Kliemt
Messages: 501
Registered: May 2007
Location: GSI, Darmstadt
first-grade participant

From: *gsi.de
Hi Dominik,

Try setting the Lambdas as stable in the decay file and let Geant handle the time and place for the decay. This should be in principle the solution.

Cheers
Ralf
Re: EvtGen - time information lost [message #20442 is a reply to message #20439] Wed, 01 March 2017 10:15 Go to previous messageGo to next message
Tobias Stockmanns is currently offline  Tobias Stockmanns
Messages: 477
Registered: May 2007
first-grade participant
From: *ikp.kfa-juelich.de
Hi Ralf and Dominik,

Ralfs solution has the drawback that you cannot specify how the lambdas will further decay. You will get both the p pi- and n pi0 decay.

Cheers,
Tobias
Re: EvtGen - time information lost [message #20443 is a reply to message #20435] Wed, 01 March 2017 10:38 Go to previous messageGo to next message
Dominik Steinschaden is currently offline  Dominik Steinschaden
Messages: 28
Registered: April 2015
continuous participant
From: *physics.uu.se
ok, but at least for the tests now this should work as a work around.

maybe a stupid question, how can I set the lambdas as stable? because I already tried to do something like this as a work around, and was not able to do this.
Re: EvtGen - time information lost [message #20462 is a reply to message #20443] Wed, 01 March 2017 17:09 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *to.infn.it
Hi,
it seems that in the PndEvtGenDirect the time information is not correctly propagated.
You could try to edit the class (pgenerators/EvtGen/EvtGenDirect/PndEvtGenDirect.cxx), and modify line 247:

          primGen->AddTrack(Id, Px, Py, Pz, fX, fY, fZ, evtstdhep.getFirstMother(i),(nFD==-1 && nLD==-1),fE);


into:

          primGen->AddTrack(Id, Px, Py, Pz, fX, fY, fZ, evtstdhep.getFirstMother(i),(nFD==-1 && nLD==-1),fE,fT);


and line 249:

          primGen->AddTrack(Id, Px, Py, Pz, fX, fY, fZ);// default -1, true


into:

          primGen->AddTrack(Id, Px, Py, Pz, fX, fY, fZ, -1, true, fE, fT);// default -1, true



recompile and tell me if it does work.
Re: EvtGen - time information lost [message #20513 is a reply to message #20435] Mon, 13 March 2017 16:24 Go to previous messageGo to next message
Dominik Steinschaden is currently offline  Dominik Steinschaden
Messages: 28
Registered: April 2015
continuous participant
From: *physics.uu.se
Hi all,

as Stefano suggested, I modified PndEvtGenDirect.cxx.

it was not as straight forward, but finally it worked.
As expected the time information was not handled to the pndStack ( primGen->AddTrack).
when I changed this I had the problem that the used Units didn't fit.
Meanwhile I figured out that EvtGen is providing the time information in [mm] (natural units c=1)
and pndStack (more precise TParticle) is expecting time information in [s]. However I thought PandaRoot is using [ns] as unit for time. Therefore I'm not sure if i really fixed it correctly.

So I also implemented the following line:

fT=vxyz.get(0)/(1000*TMath::C()); //mm - > s conversion

The File Attached shows now the time stamp distribution for the FTof. Now it looks like expected!

I uploaded the changed file to

pandaroot/development/dsteinschaden/pgenerators/EvtGen/EvtGenDirect

If someone wants to have a look. otherwise I'll ask someone to merge it with the trunk


beside I'm not sure if I'm correct with this mm to second conversion, and if seconds or nanoseconds should be used, I'm now worried about the timing information if other Generators are used . . .

regards Dominik
Re: EvtGen - time information lost [message #20514 is a reply to message #20513] Mon, 13 March 2017 17:35 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 202.122.36*
Hi, you are right, Geant uses seconds but we Panda use nanoseconds. If you check the ProcessHits of your detector, you can see this conversion:

fTime   = gMC->TrackTime() * 1.0e09;


Then, it is correct that EvtGen provides seconds to Geant. After, the Montecarlo will convert the time info into nanoseconds inside our MCPoints.


Re: EvtGen - time information lost [message #20538 is a reply to message #20435] Wed, 15 March 2017 14:35 Go to previous message
Dominik Steinschaden is currently offline  Dominik Steinschaden
Messages: 28
Registered: April 2015
continuous participant
From: *physics.uu.se
Meanwhile the changes are also implemented in the current trunk Version.

EvtGen should now produce realistic TimeStamps also for longliving intermediate particles

regards Dominik
Previous Topic: New Issue Tracker
Next Topic: Compiler Warnings
Goto Forum:
  


Current Time: Wed Aug 05 15:04:32 CEST 2020

Total time taken to generate the page: 0.02513 seconds