@@ -73,6 +73,13 @@ class IOTOFDPLDigitizerTask : o2::base::BaseDPLDigitizer
7373 if (mFinished ) {
7474 return ;
7575 }
76+
77+ if (mEnableResponseFiles ) {
78+ pc.inputs ().get <TH2D *>(" madpixeff" );
79+ pc.inputs ().get <TH2D *>(" madpixreso" );
80+ pc.inputs ().get <TH2D *>(" madpixtoa" );
81+ }
82+
7683 mFirstOrbitTF = pc.services ().get <o2::framework::TimingInfo>().firstTForbit ;
7784 const o2::InteractionRecord firstIR (0 , mFirstOrbitTF );
7885
@@ -169,20 +176,45 @@ class IOTOFDPLDigitizerTask : o2::base::BaseDPLDigitizer
169176
170177 void finaliseCCDB (ConcreteDataMatcher& matcher, void * obj)
171178 {
172- if (!mEnableResponseFiles ) {
173- return ;
174- }
175179 if (matcher == ConcreteDataMatcher (mOrigin , " MADPIXEFF" , 0 )) {
176180 if (mLocalEfficiencyFile .empty ()) {
177181 LOG (info) << " Using CCDB/MADPIX efficiency file" ;
178- mDigitizer .loadEfficiencyMap ((const TH2D *)obj);
182+ mDigitizer .loadEfficiencyMap ((TH2D *)obj);
179183 } else {
180184 LOG (info) << " Response function will be loaded from local file: " << mLocalEfficiencyFile ;
181185 std::unique_ptr<TFile> file (TFile::Open (mLocalEfficiencyFile .data (), " READ" ));
182186 if (!file) {
183187 LOG (fatal) << " Cannot open response file " << mLocalEfficiencyFile .data ();
184188 }
185- mDigitizer .loadEfficiencyMap ((const TH2D *)file->Get (" hEfficiencyMap" ));
189+ mDigitizer .loadEfficiencyMap ((TH2D *)file->Get (" hEfficiencyMap" ));
190+ }
191+ return ;
192+ }
193+ if (matcher == ConcreteDataMatcher (mOrigin , " MADPIXRESO" , 0 )) {
194+ if (mLocalTimeResoFile .empty ()) {
195+ LOG (info) << " Using CCDB/MADPIX time resolution file" ;
196+ mDigitizer .loadResolutionMap ((TH2D *)obj);
197+ } else {
198+ LOG (info) << " Response function will be loaded from local file: " << mLocalTimeResoFile ;
199+ std::unique_ptr<TFile> file (TFile::Open (mLocalTimeResoFile .data (), " READ" ));
200+ if (!file) {
201+ LOG (fatal) << " Cannot open response file " << mLocalTimeResoFile .data ();
202+ }
203+ mDigitizer .loadResolutionMap ((TH2D *)file->Get (" hSigmaPixel" ));
204+ }
205+ return ;
206+ }
207+ if (matcher == ConcreteDataMatcher (mOrigin , " MADPIXTOA" , 0 )) {
208+ if (mLocalToAFile .empty ()) {
209+ LOG (info) << " Using CCDB/MADPIX time-of-arrival file" ;
210+ mDigitizer .loadTimeOfArrivalMap ((TH2D *)obj);
211+ } else {
212+ LOG (info) << " Response function will be loaded from local file: " << mLocalToAFile ;
213+ std::unique_ptr<TFile> file (TFile::Open (mLocalToAFile .data (), " READ" ));
214+ if (!file) {
215+ LOG (fatal) << " Cannot open response file " << mLocalToAFile .data ();
216+ }
217+ mDigitizer .loadTimeOfArrivalMap ((TH2D *)file->Get (" toa_pixel" ));
186218 }
187219 }
188220 }
0 commit comments