Hi Rafayel, You can find a DST of 100 MeV A' events generated with the latest version of the DST maker here: https://www.slac.stanford.edu/~omoreno/dst/ap/100mev/ 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