100 const auto numberOfPads = mapper.getPadsInSector() * 36;
110 for (
auto& calArray : padROC.
getData()) {
111 for (
auto&
value : calArray.getData()) {
117 padPartition.
setName(
"PartitionData");
118 for (
auto& calArray : padPartition.
getData()) {
119 for (
auto&
value : calArray.getData()) {
125 padRegion.
setName(
"RegionData");
126 for (
auto& calArray : padRegion.
getData()) {
127 for (
auto&
value : calArray.getData()) {
133 auto f = TFile::Open(
"CalDet.root",
"recreate");
134 f->WriteObject(&padROC,
"CalDetROC");
135 f->WriteObject(&padPartition,
"CalDetPartition");
136 f->WriteObject(&padRegion,
"CalDetRegion");
141 CalPad* padROCRead =
nullptr;
142 CalPad* padPartitionRead =
nullptr;
143 CalPad* padRegionRead =
nullptr;
145 f = TFile::Open(
"CalDet.root");
146 f->GetObject(
"CalDetROC", padROCRead);
147 f->GetObject(
"CalDetPartition", padPartitionRead);
148 f->GetObject(
"CalDetRegion", padRegionRead);
152 BOOST_REQUIRE(padROCRead !=
nullptr);
153 BOOST_REQUIRE(padPartitionRead !=
nullptr);
154 BOOST_REQUIRE(padRegionRead !=
nullptr);
158 float sumPartition = 0.f;
159 float sumRegion = 0.f;
161 int numberOfPadsROC = 0;
162 int numberOfPadsPartition = 0;
163 int numberOfPadsRegion = 0;
166 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
167 sumROC += (
val.get<0>() -
val.get<1>());
172 for (
auto const&
arrays : boost::combine(padPartition.
getData(), padPartitionRead->
getData())) {
173 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
174 sumPartition += (
val.get<0>() -
val.get<1>());
175 ++numberOfPadsPartition;
180 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
181 sumRegion += (
val.get<0>() -
val.get<1>());
182 ++numberOfPadsRegion;
188 BOOST_CHECK_CLOSE(sumROC, 0.f, 1.E-12);
192 BOOST_CHECK_CLOSE(sumPartition, 0.f, 1.E-12);
196 BOOST_CHECK_CLOSE(sumRegion, 0.f, 1.E-12);
214 for (
auto& calArray : pad.
getData()) {
215 for (
auto&
value : calArray.getData()) {
221 for (
auto& calArray :
pad2.getData()) {
222 for (
auto&
value : calArray.getData()) {
230 const float number = 0.2f;
239 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
251 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
263 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
275 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
289 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
290 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
291 isEqual &=
isEqualAbs(*itval3, *itval1 + *itval2);
301 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
302 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
303 isEqual &=
isEqualAbs(*itval3, *itval1 - *itval2);
313 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
314 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
315 isEqual &=
isEqualAbs(*itval3, *itval1 * *itval2);
325 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
326 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
327 isEqual &=
isEqualAbs(*itval3, *itval1 / *itval2);
335 for (
const auto& calArr : padCmp.
getData()) {
336 isEqual &= std::all_of(calArr.getData().begin(), calArr.getData().end(), [](
const auto val) { return isEqualAbs(val, 10.f); });