98 const auto numberOfPads = mapper.getPadsInSector() * 36;
108 for (
auto& calArray : padROC.
getData()) {
109 for (
auto&
value : calArray.getData()) {
115 padPartition.
setName(
"PartitionData");
116 for (
auto& calArray : padPartition.
getData()) {
117 for (
auto&
value : calArray.getData()) {
123 padRegion.
setName(
"RegionData");
124 for (
auto& calArray : padRegion.
getData()) {
125 for (
auto&
value : calArray.getData()) {
131 auto f = TFile::Open(
"CalDet.root",
"recreate");
132 f->WriteObject(&padROC,
"CalDetROC");
133 f->WriteObject(&padPartition,
"CalDetPartition");
134 f->WriteObject(&padRegion,
"CalDetRegion");
139 CalPad* padROCRead =
nullptr;
140 CalPad* padPartitionRead =
nullptr;
141 CalPad* padRegionRead =
nullptr;
143 f = TFile::Open(
"CalDet.root");
144 f->GetObject(
"CalDetROC", padROCRead);
145 f->GetObject(
"CalDetPartition", padPartitionRead);
146 f->GetObject(
"CalDetRegion", padRegionRead);
150 BOOST_REQUIRE(padROCRead !=
nullptr);
151 BOOST_REQUIRE(padPartitionRead !=
nullptr);
152 BOOST_REQUIRE(padRegionRead !=
nullptr);
156 float sumPartition = 0.f;
157 float sumRegion = 0.f;
159 int numberOfPadsROC = 0;
160 int numberOfPadsPartition = 0;
161 int numberOfPadsRegion = 0;
164 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
165 sumROC += (
val.get<0>() -
val.get<1>());
170 for (
auto const&
arrays : boost::combine(padPartition.
getData(), padPartitionRead->
getData())) {
171 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
172 sumPartition += (
val.get<0>() -
val.get<1>());
173 ++numberOfPadsPartition;
178 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
179 sumRegion += (
val.get<0>() -
val.get<1>());
180 ++numberOfPadsRegion;
186 BOOST_CHECK_CLOSE(sumROC, 0.f, 1.E-12);
190 BOOST_CHECK_CLOSE(sumPartition, 0.f, 1.E-12);
194 BOOST_CHECK_CLOSE(sumRegion, 0.f, 1.E-12);
212 for (
auto& calArray : pad.
getData()) {
213 for (
auto&
value : calArray.getData()) {
219 for (
auto& calArray :
pad2.getData()) {
220 for (
auto&
value : calArray.getData()) {
228 const float number = 0.2f;
237 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
249 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
261 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
273 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
287 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
288 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
289 isEqual &=
isEqualAbs(*itval3, *itval1 + *itval2);
299 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
300 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
301 isEqual &=
isEqualAbs(*itval3, *itval1 - *itval2);
311 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
312 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
313 isEqual &=
isEqualAbs(*itval3, *itval1 * *itval2);
323 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
324 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
325 isEqual &=
isEqualAbs(*itval3, *itval1 / *itval2);
333 for (
const auto& calArr : padCmp.
getData()) {
334 isEqual &= std::all_of(calArr.getData().begin(), calArr.getData().end(), [](
const auto val) { return isEqualAbs(val, 10.f); });