Thank you Omar,

it worked for me.

Rafo


On 09/24/2014 08:01 PM, Omar Moreno wrote:
[log in to unmask]" type="cite">
Hi Rafayel

You can find a DST of 100 MeV A' events generated with the latest version of the DST maker here: 


You will need to update your local hps-dst directory and re-build before you run on this file.

The detector used to generated the LCIO recon file was HPS-Proposal2014-v7-2pt2.  The steering files used were HPS2014TruthReadoutToLcio.lcsim and HPS2014OfflineTruthRecon.lcsim.

I tested your script and it worked fine (after I applied the changes I suggested in my previous email).

--Omar Moreno 




On Thu, Sep 18, 2014 at 6:35 AM, Rafayel Paremuzyan <[log in to unmask]> wrote:
Thank you Omar,

After that fixes I don't have a segmentation.

The recon LCIO was deleted, and I repeated readout, reconstruction and dst_maker again,
so these new files are different.

I put them in this directory
/w/hallb-1/hps/rafopar/tests/Omar_check

Rafayel



On 09/18/2014 12:53 AM, Omar Moreno wrote:
Hi Rafayel

Can you send me or point me to the recon LCIO file that you used to create the DST? 

There are a few reasons your code isn't working: 

1) You don't instantiate the HpsEvent pointer so it's pointing to junk.  So when you set the branch address, it's being set to some random spot in memory.  Instead do the following: 

HpsEvent *ev1 = new HpsEvent(); 

before you set the branch address.

2) The track index starts at 0.  So getting a track from an event as follows: 

for(int j = 0; j < n_svt_trk; j++){
 svt_tr = ev1->getTrack(j+1)
}

Will eventually cause the code to crash because the track j+1 doesn't exist.

3) Most of the tracks in the event point to NULL.  If I check for NULL tracks and skip them, everything runs fine (after the modification above were made).   I'm not sure if this is a problem with the DST maker or the recon file you used to create the DST.  I'll need to look at the recon file and generate the DST myself so I can debug it.  I haven't seen this before so I need to dig a bit to find the issue. 

Another thing, since you are linking against the HpsEvent library, you don't need to load it inside your code.  Specifically, the following line of code is unnecessary: 

gSystem->Load("../hps-dst/build/lib/libHpsEvent.so");

You do need to make sure that the library path is added to LD_LIBRARY_PATH.

--Omar Moreno



On Wed, Sep 17, 2014 at 8:01 PM, Rafayel Paremuzyan <[log in to unmask]> wrote:
Dear Omar,

I am getting a segmentation fault error when I am reading dst files, and I didn't manage to figure out
the cause.

I shrank the code to the minimum to reproduce the problem (it is attached).
Could you please take a look into it?

Some additional info that might help to find the cause of error:

The way this file produced:
A slic output file from /mss/hallb/hps/production/slic/tritrig/2pt2/
was read out with HPS_Java using HPS2014TruthReadoutToLcio.lcsim and then
reconstructed using HPS2014OfflineTruthRecon.lcsim, later with the latest version of dst (downloaded yesterday)
is converted into root file (this file is also attached).

The compile command:
g++ test3.cc -o test3.exe -Wl,--no-as-needed -L/usr/local/hps_dst/hps-dst/build/lib -lHpsEvent -I/usr/local/hps_dst/hps-dst/include/hps_event/ -I/usr/local/hps_dst/hps-dst/include/dst -I/usr/local/hps_dst/hps-dst/include/hps_event/utils `root-config --cflags` `root-config --libs`

Rafo

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1






Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1