<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Hi Rivet and Yoda experts,
<div class=""><br class="">
</div>
<div class="">Im having an issue with declaring arrays of histograms (without a yoda file to point to d01-x01-y01, and d01-x02-y01 etc..., that works) inside my initialize method. </div>
<div class="">I want to do something like this (but that doenst work in rivet/yoda)</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>for(int i = 0; i<N; ++i){</div>
<div class=""> <span class="Apple-tab-span" style="white-space:pre"></span> hist[i] = bookHisto1D(Form("name_%d",i), 100, 0, 100); </div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>}</div>
<div class=""><br class="">
</div>
<div class="">So I have two sets of histograms like this: </div>
<div class=""><br class="">
</div>
<div class=""> Histo2DPtr _h_JES[3];</div>
<div class=""> Histo1DPtr _h_JER[3][3];</div>
<div class=""><br class="">
</div>
<div class=""> Scatter2DPtr _h_JES_pTClosure[3];</div>
<div class=""> Scatter2DPtr _h_JES_etaClosure[3];</div>
<div class=""><br class="">
</div>
<div class="">and this is how i declare them </div>
<div class=""><br class="">
</div>
<div class="">
<div class=""> for(int i = 0; i<_NJES_eta; ++i){</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>stringstream etabin;</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>etabin << "JES_etabin" << i;</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>const string JESname = etabin.str();</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>_h_JES[i] = bookHisto2D(JESname, 500, 0, 500, 100, 0, 2);</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>for(int j = 0; j<_NJES_pt; ++i){</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span> stringstream ptbin;</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span> ptbin << "JER_etabin" << i << "_ptbin" << j;</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span> const string JERname = ptbin.str();</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span> _h_JER[i][j] = bookHisto1D(JERname, 100, 0, 2);</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>}</div>
<div class=""> }</div>
<div class=""> </div>
<div class=""> for(int i = 0; i<_NJES_eta; ++i){</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>stringstream etabin;</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>etabin << "JES_pTClosure_etabin" << i;</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>const string JESname = etabin.str();</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>_h_JES_pTClosure[i] = bookScatter2D(JESname);</div>
<div class=""> }</div>
<div class=""> </div>
<div class=""> for(int i = 0; i<_NJES_pt; ++i){</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>stringstream ptbin;</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>ptbin << "JES_etaClosure_ptbin" << i;</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>const string JESname = ptbin.str();</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>_h_JES_etaClosure[i] = bookScatter2D(JESname);</div>
<div class=""> }</div>
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">when i do this, I just get a segfault without it telling me anything. Is this the proper way to do it? </div>
<div class=""><br class="">
</div>
<div class="">
<div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">Cheers</div>
<div class="">Raghav Kunnawalkam Elayavalli</div>
<div class="">PhD Candiate </div>
<div class="">Rutgers University </div>
<div class=""><a rel="nofollow noreferrer" target="_blank" href="http://www.google.com/url?q=http%3A%2F%2Fphysics.rutgers.edu%2F~raghav%2F&sa=D&sntz=1&usg=AFQjCNENvwedEL22DMATPxyb0WMvVEm9Bw" class="Xx" tabindex="-1" dir="ltr" data-display="http://physics.rutgers.edu/~raghav/" data-sanitized="http://www.google.com/url?q=http%3A%2F%2Fphysics.rutgers.edu%2F~raghav%2F&sa=D&sntz=1&usg=AFQjCNENvwedEL22DMATPxyb0WMvVEm9Bw" style="color: rgb(38, 50, 56); font-family: 'Helvetica Neue', arial, sans-serif; font-size: 13px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; line-height: 16px; widows: 1;">http://physics.rutgers.edu/~raghav/</a></div>
</div>
</div>
</div>
<br class="">
</div>
</body>
</html>