GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » General » Finding true vertex position of mother particles.
Finding true vertex position of mother particles. [message #12101] Mon, 20 June 2011 22:49 Go to next message
donghee is currently offline  donghee
Messages: 385
Registered: January 2009
Location: Germnay
first-grade participant
From: *dip.t-dialin.net
Hi pandausers,

I'm trying to see true vertex position for psi3770 -> D+D- ->KpipiKpipi.


I have PndMCtracks and I don't have mother vertex ID.
At gridka, the signal data didn't contain mother particle info. as I correctly understand.
Simply I have only 6 charged outgoind tarcks with true 4-momentum.
From each three outgoing tracks, I can build intermediate state D+ or D- and can find first D+ or D- vertex position via.

Quote:


PndMCTrack *mctrack=(PndMCTrack*)mc_array->At(mc);
TVector3 vertex = (TVector3)mctrack->GetStartVertex();



Then now, I want to provide the vertex position for psi3770 from 4-momentum and vertex position of D+ and D-.
How can I get true vertex position only from PndMCtrack?

I assume that I need to build a TCandidate for true D+ and D-,
then I can get further mother decay.

Is there easy way to do with Rho package?

Thank you for your teaching....

Best wishes,
Donghee



[Updated on: Mon, 20 June 2011 22:52]

Report message to a moderator

Re: Finding true vertex position of mother particles. [message #12102 is a reply to message #12101] Tue, 21 June 2011 09:47 Go to previous messageGo to next message
Ralf Kliemt is currently offline  Ralf Kliemt
Messages: 507
Registered: May 2007
Location: GSI, Darmstadt
first-grade participant

From: *pool.mediaWays.net
Hello Donghee,

The psi3770 you are looking at is a) a neutral particle and b) decaying "instantly". This means you have a) no mc track and b) no displaced vertex.
Hence the vertex of the decaying particles is the interaction point (or a point in the beam-target distributuion).

Regards,
Ralf
Re: Finding true vertex position of mother particles. [message #12103 is a reply to message #12102] Tue, 21 June 2011 09:59 Go to previous messageGo to next message
donghee is currently offline  donghee
Messages: 385
Registered: January 2009
Location: Germnay
first-grade participant
From: *dip.t-dialin.net
Dear Ralf.

What a simple solution!
That's great Thank you.

Regards, donghee
Re: Finding true vertex position of mother particles. [message #12268 is a reply to message #12102] Thu, 14 July 2011 14:30 Go to previous messageGo to next message
donghee is currently offline  donghee
Messages: 385
Registered: January 2009
Location: Germnay
first-grade participant
From: *kph.uni-mainz.de
Hi Ralf,

If I have interaction point (0,0,0), then I can find easily the vertex for MC true event.

But we have now some vertex displacement from beam-target smearing.
What is the way to get those info only from PndMCTrack?

I have only way to get such kind of info in terms of PndMcListConverter as an extra step after building pid, that I don't want to do so.

If you know more easy way to know vertex position for instant psi3770, please let me know.


Thanks.
Re: Finding true vertex position of mother particles. [message #12270 is a reply to message #12268] Thu, 14 July 2011 21:10 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *40-79-r.retail.telecomitalia.it
Hi,
this information is stored inside the MCEventHeader TClonesArray,not inside MCTrack.
Inside MCTrack you can however find StartVertex which is the production vertex of your particle, and this should also work. Of course if you produce some neutrals, i.e. lambda -> p pi, the start vertex of the charged particles will be different from the reaction vertex.
Re: Finding true vertex position of mother particles. [message #12271 is a reply to message #12270] Fri, 15 July 2011 11:11 Go to previous messageGo to next message
donghee is currently offline  donghee
Messages: 385
Registered: January 2009
Location: Germnay
first-grade participant
From: *kph.uni-mainz.de
Hi stefano,

I'm nearly come to the end.... could you say where I made wrong with below code (part of analysis code)

Quote:


//Data accessing!
TFile *inFile = TFile::Open(inSimFile,"READ");
TTree *tree=(TTree *) inFile->Get("cbmsim") ;

TClonesArray* mc_array=new TClonesArray("PndMCTrack");
tree->SetBranchAddress("MCTrack",&mc_array);
TClonesArray* event=new TClonesArray("FairMCEventHeader");
tree->SetBranchAddress("MCEventHeader",&event);

//Event loop
PndEventReader evr(inPidFile);
while (evr.GetEvent() && i++<nEntries)
{
tree->GetEntry(i);

//Event info
FairMCEventHeader *mc_info = (FairMCEventHeader*)event->At(i);

//Print to check
cout<<mc_info->GetX()<<endl;
cout<<mc_info->GetY()<<endl;
cout<<mc_info->GetZ()<<endl;
}



Error message in root is
Quote:


Error: illegal pointer to class object mc_info 0x0 3481




Cheers,
Donghee

Re: Finding true vertex position of mother particles. [message #12272 is a reply to message #12270] Fri, 15 July 2011 11:50 Go to previous messageGo to next message
donghee is currently offline  donghee
Messages: 385
Registered: January 2009
Location: Germnay
first-grade participant
From: *kph.uni-mainz.de
Hi stefano,

In interactive mode with TBrowser, I can see correct info from MCEventHeader(FairMCEventHeader), but I couldn't get anything via
Quote:

FairMCEventHeader *mc_info = (FairMCEventHeader*)event->At(i);



Simply I have zero entry from mc_info->GetEntriesFast();

So I do "NOT" understanding the way for using the FairMCEventHeader object in the simulation file.

I'm waiting for your teach
Donghee
Re: Finding true vertex position of mother particles. [message #12273 is a reply to message #12272] Fri, 15 July 2011 12:00 Go to previous messageGo to next message
asanchez is currently offline  asanchez
Messages: 350
Registered: March 2006
first-grade participant
From: *kph.uni-mainz.de
Dear Donghee, could you attach the entire macro to see
into more detail how you proceed?
regards
Alicia.
Re: Finding true vertex position of mother particles. [message #12274 is a reply to message #12271] Fri, 15 July 2011 12:10 Go to previous messageGo to next message
Tobias Stockmanns is currently offline  Tobias Stockmanns
Messages: 489
Registered: May 2007
first-grade participant
From: *ep1.ruhr-uni-bochum.de
Dear Donghee,

I think your branch name is not correct. It should be:

tree->SetBranchAddress("MCEventHeader.",&event);

Have a look in the TBrowser how it is written correctly.

Cheers,

Tobias
Re: Finding true vertex position of mother particles. [message #12275 is a reply to message #12101] Fri, 15 July 2011 12:23 Go to previous messageGo to next message
Ralf Kliemt is currently offline  Ralf Kliemt
Messages: 507
Registered: May 2007
Location: GSI, Darmstadt
first-grade participant

From: *pool.mediaWays.net
Hello Donghee,

I have a present for you Smile
  TFile* f = new TFile(inFile.Data()); // the sim file you want to analyse
  TTree* t=(TTree*)f->Get("cbmsim");
  
  FairMCEventHeader* evthead;
  t->SetBranchAddress("MCEventHeader.", &evthead);
  
  for (Int_t j=0; j<nEvents && j<t->GetEntriesFast(); j++)
  {
    t->GetEntry(j);
    if(verbosepoints) cout<<"Event No "<<j<<endl;
    else if (!(j%100)) cout <<"Event No "<<j<<endl;
    cout<<"GetRunID() "<<evthead->GetRunID()<<endl;
    cout<<"GetEventID() "<<evthead->GetEventID()<<endl;
    cout<<"GetX() "<<evthead->GetX()    <<endl;
    cout<<"GetY() "<<evthead->GetY()  <<endl;  
    cout<<"GetZ() "<<evthead->GetZ()   <<endl; 
    cout<<"GetT() "<<evthead->GetT()   <<endl; 
    cout<<"GetNPrim() "<<evthead->GetNPrim()  <<endl; 
  }// end for j (events)


Be reminded of the Branch name (thaks Tobias) and that the Event header is an object directliy inside the tree, like all the TClonesArrays.

Kind regards,
Ralf
Re: Finding true vertex position of mother particles. [message #12276 is a reply to message #12275] Fri, 15 July 2011 12:41 Go to previous message
donghee is currently offline  donghee
Messages: 385
Registered: January 2009
Location: Germnay
first-grade participant
From: *kph.uni-mainz.de
Hi Tobias and Ralf,

Thanks to Tobias for finding very tiny point at the end of naming "MCEventHeader." Smile

Thanks Ralf for your kind present. That is very fancy!
After replacing TCloneArray to directly FairMCEventHeader, that works perfectly. Finally I have got the way to know the true IP for psi...

Regards,
Donghee



Previous Topic: cdash changes: update your nightly builds!
Next Topic: Lambda-Lambda_bar
Goto Forum:
  


Current Time: Fri Nov 15 04:35:12 CET 2024

Total time taken to generate the page: 0.00881 seconds