7 #include <FairLogger.h>
8 #include <FairRootManager.h>
11 #include <TClonesArray.h>
25 auxPads.emplace_back(pad);
30 fInputEventBranchName = branchName;
35 FairRootManager *ioManager = FairRootManager::Instance();
37 if (ioManager ==
nullptr) {
38 LOG(ERROR) <<
"Cannot find RootManager!" << std::endl;
43 fInputEventArray =
dynamic_cast<TClonesArray *
>(ioManager->GetObject(fInputEventBranchName));
44 if (fInputEventArray ==
nullptr) {
45 LOG(ERROR) <<
"AtAuxFilterTask: Cannot find AtRawEvent array " << fInputEventBranchName;
56 if (fInputEventArray->GetEntriesFast() == 0)
59 auto *rawEvent =
dynamic_cast<AtRawEvent *
>(fInputEventArray->At(0));
60 if (!rawEvent->IsGood())
65 for (
auto &auxName : auxPads) {
66 auto unfilteredPad = rawEvent->GetAuxPad(auxName);
67 if (unfilteredPad ==
nullptr) {
68 LOG(error) <<
"AtRawEvent does not contain aux pad: " << auxName;
72 auto itPair = rawEvent->AddAuxPad(auxName +
"Filtered");
74 auto pad = itPair.first;
75 pad->SetRawADC(unfilteredPad->GetRawADC());
76 if (unfilteredPad->IsPedestalSubtracted()) {
77 pad->SetADC(unfilteredPad->GetADC());
78 pad->SetPedestalSubtracted();