When I am running a macro I am getting segmentation fault every time. The patch of code is below.
It gives me segmentation fault just after entering the if loop of ProcessTheEntry.
Please suggest what could be the problem? Thanks.
for (int i=0;i<rd51reco_nentries;i++)
{
rd51reco_tree->GetEntry(i);
if (ProcessTheEntry(i,rd51analyzer_Cut_Verbose))
{
cout<<"##################################"<<endl;
Calc_sCMSNS2LC1_Eff(rd51analyzer_Verbose && rd51analyzer_EffCalculatorVerbose);
Calc_sCMSNS2LC2_Eff(rd51analyzer_Verbose && rd51analyzer_EffCalculatorVerbose);
Calc_sCMSNS2LC3_Eff(rd51analyzer_Verbose && rd51analyzer_EffCalculatorVerbose);
NumberOfProcessedEntries+=1;
}
else
{
if (rd51analyzer_EffCalculatorVerbose==1 && rd51analyzer_Verbose==1)
cout << "Not Processed Events: Number Of Found XTracks: "
<< rd51tracker->trackx_
<< "\tNumber Of Found YTracks: "
<< rd51tracker->tracky_ << endl;
}
}
Description of ProcessTheEntry :
[code]bool rd51_Analyzer::ProcessTheEntry(int processedentry, int verbose)
{
bool processit=0;
bool cut_Chi2=0;
bool cut_Residuals=0;
bool cut_NumberOfTracks=0;
bool cut_SingleXYTrack=0;
cut_NumberOfTracks=
(rd51tracker->trackx_<=rd51analyzer_Cut_NumberOfTracks &&
rd51tracker->tracky_<=rd51analyzer_Cut_NumberOfTracks);
cut_SingleXYTrack=
( !rd51analyzer_Cut_SingleXYTrackRequest || (rd51tracker->trackx_==1 && rd51tracker->tracky_==1) );
if (cut_NumberOfTracks && cut_SingleXYTrack)
{
cut_Chi2=
((rd51tracker->trackx_chi2)[0]<=rd51analyzer_Cut_Chi2Value &&
(rd51tracker->tracky_chi2)[0]<=rd51analyzer_Cut_Chi2Value);
cut_Residuals=
((rd51tracker->residualx)[0]<=rd51analyzer_Cut_ResidualValue &&
(rd51tracker->residualy)[0]<=rd51analyzer_Cut_ResidualValue);
processit = (cut_Chi2 && cut_Residuals);
}
if (verbose && !processit)
{
cout <<"Rejected Entry\t" <<processedentry <<"\t"
<<"NumberOfTrack[" <<cut_NumberOfTracks <<"]\t"
<<"SingleXYTrack[" <<cut_SingleXYTrack <<"]\t"
<<"Chi2[" <<cut_Chi2 <<"]\t"
<<"Residuals[" <<cut_Residuals <<"]\t"
<<endl;
}
return processit;
}
[/code]
Here is the segmentation fault output:segfault.txt (4.12 KB)