Bool_t RecoParamWithTPCDistortions(AliCDBManager *man) { // check methods exist if (!AliRecoParam::Class()->GetMethodAny("SuggestRunEventSpecie")) return kFALSE; if (!AliTPCRecoParam::Class()->GetMethodAny("GetUseCorrectionMap")) return kFALSE; // get event specie from GRP AliCDBEntry *grpe = man->Get("GRP/GRP/Data"); if (!grpe) return kFALSE; AliGRPObject *grp = (AliGRPObject *)grpe->GetObject(); AliRecoParam::EventSpecie_t evs = AliRecoParam::SuggestRunEventSpecie(grp->GetRunType(), grp->GetBeamType(), grp->GetLHCState()); // get TPC RecoParam for event specie AliCDBEntry *pare = man->Get("TPC/Calib/RecoParam"); if (!pare) return kFALSE; TObjArray *parl = (TObjArray *)pare->GetObject(); AliTPCRecoParam *par = NULL; for (Int_t i = parl->GetEntriesFast(); i--;) { AliTPCRecoParam *p = (AliTPCRecoParam *)parl->UncheckedAt(i); if (!p || !(p->GetEventSpecie() & evs)) continue; par = p; break; } // check if use correction map if (!par->GetUseCorrectionMap()) return kFALSE; return kTRUE; }