99 const auto numberOfPads = mapper.getPadsInSector() * 36;
109 for (
auto& calArray : padROC.
getData()) {
110 for (
auto&
value : calArray.getData()) {
116 padPartition.
setName(
"PartitionData");
117 for (
auto& calArray : padPartition.
getData()) {
118 for (
auto&
value : calArray.getData()) {
124 padRegion.
setName(
"RegionData");
125 for (
auto& calArray : padRegion.
getData()) {
126 for (
auto&
value : calArray.getData()) {
132 auto f = TFile::Open(
"CalDet.root",
"recreate");
133 f->WriteObject(&padROC,
"CalDetROC");
134 f->WriteObject(&padPartition,
"CalDetPartition");
135 f->WriteObject(&padRegion,
"CalDetRegion");
140 CalPad* padROCRead =
nullptr;
141 CalPad* padPartitionRead =
nullptr;
142 CalPad* padRegionRead =
nullptr;
144 f = TFile::Open(
"CalDet.root");
145 f->GetObject(
"CalDetROC", padROCRead);
146 f->GetObject(
"CalDetPartition", padPartitionRead);
147 f->GetObject(
"CalDetRegion", padRegionRead);
151 BOOST_REQUIRE(padROCRead !=
nullptr);
152 BOOST_REQUIRE(padPartitionRead !=
nullptr);
153 BOOST_REQUIRE(padRegionRead !=
nullptr);
157 float sumPartition = 0.f;
158 float sumRegion = 0.f;
160 int numberOfPadsROC = 0;
161 int numberOfPadsPartition = 0;
162 int numberOfPadsRegion = 0;
165 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
166 sumROC += (
val.get<0>() -
val.get<1>());
171 for (
auto const&
arrays : boost::combine(padPartition.
getData(), padPartitionRead->
getData())) {
172 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
173 sumPartition += (
val.get<0>() -
val.get<1>());
174 ++numberOfPadsPartition;
179 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
180 sumRegion += (
val.get<0>() -
val.get<1>());
181 ++numberOfPadsRegion;
187 BOOST_CHECK_CLOSE(sumROC, 0.f, 1.E-12);
191 BOOST_CHECK_CLOSE(sumPartition, 0.f, 1.E-12);
195 BOOST_CHECK_CLOSE(sumRegion, 0.f, 1.E-12);
213 for (
auto& calArray : pad.
getData()) {
214 for (
auto&
value : calArray.getData()) {
220 for (
auto& calArray :
pad2.getData()) {
221 for (
auto&
value : calArray.getData()) {
229 const float number = 0.2f;
238 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
250 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
262 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
274 for (
auto const&
val : boost::combine(
arrays.get<0>().getData(),
arrays.get<1>().getData())) {
288 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
289 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
290 isEqual &=
isEqualAbs(*itval3, *itval1 + *itval2);
300 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
301 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
302 isEqual &=
isEqualAbs(*itval3, *itval1 - *itval2);
312 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
313 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
314 isEqual &=
isEqualAbs(*itval3, *itval1 * *itval2);
324 for (
auto itpad = pad.
getData().begin(), itpad2 =
pad2.getData().begin(), itpadCmp = padCmp.
getData().begin(); itpad != pad.
getData().end(); ++itpad, ++itpad2, ++itpadCmp) {
325 for (
auto itval1 = (*itpad).getData().begin(), itval2 = (*itpad2).getData().begin(), itval3 = (*itpadCmp).getData().begin(); itval1 != (*itpad).getData().end(); ++itval1, ++itval2, ++itval3) {
326 isEqual &=
isEqualAbs(*itval3, *itval1 / *itval2);
334 for (
const auto& calArr : padCmp.
getData()) {
335 isEqual &= std::all_of(calArr.getData().begin(), calArr.getData().end(), [](
const auto val) { return isEqualAbs(val, 10.f); });