diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/CMakeLists.txt
deleted file mode 100644
index 0d98387145fe672e79fe351e0bddf42bca45e6cf..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/CMakeLists.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-################################################################################
-# Package: ForwardDetectorsD3PDMaker
-################################################################################
-
-# Declare the package name:
-atlas_subdir( ForwardDetectorsD3PDMaker )
-
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PRIVATE
-                          Control/AthenaBaseComps
-                          Control/AthenaKernel
-                          Control/StoreGate
-                          DetectorDescription/Identifier
-                          ForwardDetectors/AFP/AFP_DigiEv
-                          ForwardDetectors/AFP/AFP_RecoEv/AFP_LocRecoEv
-                          ForwardDetectors/AFP/AFP_SimEv
-                          ForwardDetectors/ALFA/ALFA_CLinkEv
-                          ForwardDetectors/ALFA/ALFA_RecEv/ALFA_GloRecEv
-                          ForwardDetectors/ALFA/ALFA_SimEv
-                          ForwardDetectors/ZDC/ZdcConditions
-                          ForwardDetectors/ZDC/ZdcEvent
-                          ForwardDetectors/ZDC/ZdcIdentifier
-                          GaudiKernel
-                          Generators/GeneratorObjects
-                          PhysicsAnalysis/D3PDMaker/D3PDMakerInterfaces
-                          PhysicsAnalysis/D3PDMaker/D3PDMakerUtils )
-
-# External dependencies:
-find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
-
-# Component(s) in the package:
-atlas_add_component( ForwardDetectorsD3PDMaker
-                     src/*.cxx
-                     src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests Identifier AFP_DigiEv AFP_LocRecoEv AFP_SimEv ALFA_CLinkEv ALFA_GloRecEv ALFA_SimEv ZdcConditions ZdcEvent ZdcIdentifier GaudiKernel GeneratorObjects D3PDMakerUtils )
-
-# Install files from the package:
-atlas_install_python_modules( python/*.py )
-atlas_install_joboptions( share/*.py )
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/CAlfaEvent.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/CAlfaEvent.cxx
deleted file mode 100644
index 2e654def240d6f2c31802f743eb6ee415db60c88..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/CAlfaEvent.cxx
+++ /dev/null
@@ -1,1191 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TObject.h"
-#include "TROOT.h"
-#include "TThread.h"
-
-#include "CAlfaEvent.h"
-
-#if !defined(__CINT__)
-	ClassImp(CAlfaEvent);
-#endif
-
-string CAlfaEvent::ms_EventTreeName=EVENTTREENAME;
-string CAlfaEvent::ms_DCSFolder=DCSFOLDER;
-
-ALFAEVENTHEADER::_ALFAEVENTHEADER()
-{
-    //EventInfo
-	uRunNumber=0;
-	uEventNumber=0;
-	uTimeStamp=0;
-	uTimeStampNs=0;
-
-    //DCS IDs
-	ullDcsBlm=0;
-	ullDcsHVChannel=0;
-	ullDcsLocalMonitoring=0;
-	ullDcsMovement=0;
-	ullDcsRadMon=0;
-	ullDcsTriggerRates=0;
-	ullDcsFEConfiguration=0;
-	ullDcsTriggerSettings=0;
-
-    //RawDataContainer
-    pvecScaler=NULL;
-	nBCId=0;
-	nTimeStp=0;
-	nTimeStpNs=0;
-    pvecTrigPat=NULL;
-
-    //DigitCollection
-    pvecFiberHitsMD=NULL;
-    pvecMultiplicityMD=NULL;
-
-    //ODDigitCollection
-    pvecFiberHitsODPos=NULL;
-    pvecFiberHitsODNeg=NULL;
-    pvecMultiplicityODPos=NULL;
-    pvecMultiplicityODNeg=NULL;
-}
-
-ALFATRACKINGDATA::_ALFATRACKINGDATA()
-{
-    //LocRecEvCollection & LocRecODEvCollection
-	nMaxTrackCnt=0;
-    pvecXDetCS=NULL;
-    pvecYDetCS=NULL;
-    pvecDetectorPartID=NULL;
-    pvecOverU=NULL;
-    pvecOverV=NULL;
-    pvecOverY=NULL;
-    pvecNumU=NULL;
-    pvecNumV=NULL;
-    pvecNumY=NULL;
-    pvecMDFibSel=NULL;
-    pvecODFibSel=NULL;
-
-    //LocRecCorrEvCollection & LocRecCorrODEvCollection
-    pvecXLhcCS=NULL;
-    pvecYLhcCS=NULL;
-    pvecZLhcCS=NULL;
-    pvecXRPotCS=NULL;
-    pvecYRPotCS=NULL;
-    pvecXStatCS=NULL;
-    pvecYStatCS=NULL;
-    pvecXBeamCS=NULL;
-    pvecYBeamCS=NULL;
-}
-
-CAlfaEvent::CAlfaEvent()
-{
-    //DCS IDs
-    m_ullDcsBlm=0;
-    m_ullDcsHVChannel=0;
-    m_ullDcsLocalMonitoring=0;
-    m_ullDcsMovement=0;
-    m_ullDcsRadMon=0;
-    m_ullDcsTriggerRates=0;
-    m_ullDcsFEConfiguration=0;
-    m_ullDcsTriggerSettings=0;
-
-    //RawDataContainer
-    m_vecScaler.clear();
-    m_nBCId=0;
-    m_nTimeStp=0;
-    m_nTimeStpNs=0;
-    m_vecTrigPat.clear();
-
-    //DigitCollection
-    m_vecFiberHitsMD.clear();
-    m_vecMultiplicityMD.clear();
-
-    //ODDigitCollection
-    m_vecFiberHitsODPos.clear();
-    m_vecFiberHitsODNeg.clear();
-    m_vecMultiplicityODPos.clear();
-    m_vecMultiplicityODNeg.clear();
-
-    //LocRecEvCollection & LocRecODEvCollection
-    m_nMaxTrackCnt=0;
-    m_vecXDetCS.clear();
-    m_vecYDetCS.clear();
-    m_vecDetectorPartID.clear();
-    m_vecOverU.clear();
-    m_vecOverV.clear();
-    m_vecOverY.clear();
-    m_vecNumU.clear();
-    m_vecNumV.clear();
-    m_vecNumY.clear();
-    m_vecMDFibSel.clear();
-    m_vecODFibSel.clear();
-
-    //LocRecCorrEvCollection & LocRecCorrODEvCollection
-    m_vecXLhcCS.clear();
-    m_vecYLhcCS.clear();
-    m_vecZLhcCS.clear();
-    m_vecXRPotCS.clear();
-    m_vecYRPotCS.clear();
-    m_vecXStatCS.clear();
-    m_vecYStatCS.clear();
-    m_vecXBeamCS.clear();
-    m_vecYBeamCS.clear();
-}
-
-CAlfaEvent::~CAlfaEvent()
-{
-
-}
-
-void CAlfaEvent::SetNTuplePaths(string& EventTreeName, string& DCSFolder)
-{
-	ms_EventTreeName=EventTreeName;
-	ms_DCSFolder=DCSFolder;
-}
-
-Long64_t CAlfaEvent::FillDcsBlmMap(const char szRootFilename[], map<ULong64_t,DCSBLM>& mapDcsData)
-{
-	Long64_t nEntries=0;
-
-	TFile* pFile=new TFile(szRootFilename);
-	nEntries=FillDcsBlmMap(pFile,mapDcsData);
-	pFile->Close();
-
-	return nEntries;
-}
-
-Long64_t CAlfaEvent::FillDcsBlmMap(TFile* pFile, map<ULong64_t,DCSBLM>& mapDcsData)
-{
-	int i,j;
-	Long64_t nEntries;
-	DCSBLM DcsData;
-
-	mapDcsData.clear();
-
-	ULong64_t ulID;
-	vector<Float_t>* pvecBlm=NULL;
-
-	if(pFile->cd(ms_DCSFolder.c_str())){
-		TTree* pTree=(TTree*)gROOT->FindObject(DCSTREENAME_BLM);
-		if(pTree!=NULL){
-			nEntries=pTree->GetEntries();
-			pTree->SetBranchAddress("ID", &ulID);
-			pTree->SetBranchAddress("BLM", &pvecBlm);
-
-			//printf("BLM Entries=%i\r\n",(int)nEntries);
-
-			for(i=0;i<nEntries;i++){
-				pTree->GetEntry(i);
-
-				if(mapDcsData.find(ulID)==mapDcsData.end()){
-					//add new record
-					memset(&DcsData,0,sizeof(DCSBLM));
-					DcsData.ulID=ulID;
-					for(j=0;j<BLMCNT;j++) DcsData.arrBLM[j]=(*pvecBlm)[j];
-
-					mapDcsData[DcsData.ulID]=DcsData;
-				}
-			}
-		}
-		else{
-			printf("ERROR: Cannot find BLM tree\r\n");
-		}
-
-		pFile->cd();
-	}
-
-	return mapDcsData.size();
-}
-
-Long64_t CAlfaEvent::FillDcsHVChannelMap(const char szRootFilename[], map<ULong64_t,DCSHVCHANNEL>& mapDcsData)
-{
-	Long64_t nEntries=0;
-
-	TFile* pFile=new TFile(szRootFilename);
-	if(pFile!=NULL){
-		nEntries=FillDcsHVChannelMap(pFile,mapDcsData);
-		pFile->Close();
-	}
-
-	return nEntries;
-}
-
-Long64_t CAlfaEvent::FillDcsHVChannelMap(TFile* pFile, map<ULong64_t,DCSHVCHANNEL>& mapDcsData)
-{
-	int i,j;
-	Long64_t nEntries;
-	DCSHVCHANNEL DcsData;
-
-	mapDcsData.clear();
-
-	ULong64_t ulID;
-	vector<Float_t>* pvecVoltage=NULL;
-	vector<Float_t>* pvecCurrent=NULL;
-
-	if(pFile->cd(ms_DCSFolder.c_str())){
-		TTree* pTree=(TTree*)gROOT->FindObject(DCSTREENAME_HVCHANNEL);
-		if(pTree!=NULL){
-			nEntries=pTree->GetEntries();
-			pTree->SetBranchAddress("ID", &ulID);
-			pTree->SetBranchAddress("Voltage", &pvecVoltage);
-			pTree->SetBranchAddress("Current", &pvecCurrent);
-
-			//printf("HVCHANNEL Entries=%i\r\n",(int)nEntries);
-
-			for(i=0;i<nEntries;i++){
-				pTree->GetEntry(i);
-
-				if(mapDcsData.find(ulID)==mapDcsData.end()){
-					//add new record
-					memset(&DcsData,0,sizeof(DCSHVCHANNEL));
-					DcsData.ulID=ulID;
-
-					for(j=0;j<HVCHANNELCNT;j++){
-						DcsData.arrVoltage[j]=(*pvecVoltage)[j];
-						DcsData.arrCurrent[j]=(*pvecCurrent)[j];
-					}
-
-					mapDcsData[DcsData.ulID]=DcsData;
-				}
-			}
-		}
-		else{
-			printf("ERROR: Cannot find HVCHANNEL tree\r\n");
-		}
-
-		pFile->cd();
-	}
-
-	return mapDcsData.size();
-}
-
-Long64_t CAlfaEvent::FillDcsLocalMonitoringMap(const char szRootFilename[], map<ULong64_t,DCSLOCALMONITORING>& mapDcsData)
-{
-	Long64_t nEntries=0;
-
-	TFile* pFile=new TFile(szRootFilename);
-	if(pFile!=NULL){
-		nEntries=FillDcsLocalMonitoringMap(pFile,mapDcsData);
-		pFile->Close();
-	}
-
-	return nEntries;
-}
-
-Long64_t CAlfaEvent::FillDcsLocalMonitoringMap(TFile* pFile, map<ULong64_t,DCSLOCALMONITORING>& mapDcsData)
-{
-	int i,j;
-	Long64_t nEntries;
-	DCSLOCALMONITORING DcsData;
-
-	mapDcsData.clear();
-
-	ULong64_t ulID;
-	vector<Float_t>* pvecTempSensor01=NULL;
-	vector<Float_t>* pvecTempSensor02=NULL;
-	vector<Float_t>* pvecTempSensor03=NULL;
-	vector<Float_t>* pvecTempSensor04=NULL;
-	vector<Float_t>* pvecTempSensor05=NULL;
-
-	if(pFile->cd(ms_DCSFolder.c_str())){
-		TTree* pTree=(TTree*)gROOT->FindObject(DCSTREENAME_LOCALMONITORING);
-		if(pTree!=NULL){
-			nEntries=pTree->GetEntries();
-			pTree->SetBranchAddress("ID", &ulID);
-			pTree->SetBranchAddress("TempSensor1", &pvecTempSensor01);
-			pTree->SetBranchAddress("TempSensor2", &pvecTempSensor02);
-			pTree->SetBranchAddress("TempSensor3", &pvecTempSensor03);
-			pTree->SetBranchAddress("TempSensor4", &pvecTempSensor04);
-			pTree->SetBranchAddress("TempSensor5", &pvecTempSensor05);
-
-			//printf("LOCALMONITORING Entries=%i\r\n",(int)nEntries);
-
-			for(i=0;i<nEntries;i++){
-				pTree->GetEntry(i);
-
-				if(mapDcsData.find(ulID)==mapDcsData.end()){
-					//add new record
-					memset(&DcsData,0,sizeof(DCSLOCALMONITORING));
-					DcsData.ulID=ulID;
-
-					for(j=0;j<RPOTSCNT;j++){
-						DcsData.arrTempSensor01[j]=(*pvecTempSensor01)[j];
-						DcsData.arrTempSensor02[j]=(*pvecTempSensor02)[j];
-						DcsData.arrTempSensor03[j]=(*pvecTempSensor03)[j];
-						DcsData.arrTempSensor04[j]=(*pvecTempSensor04)[j];
-						DcsData.arrTempSensor05[j]=(*pvecTempSensor05)[j];
-					}
-
-					mapDcsData[DcsData.ulID]=DcsData;
-				}
-			}
-		}
-		else{
-			printf("ERROR: Cannot find LOCALMONITORING tree\r\n");
-		}
-
-		pFile->cd();
-	}
-
-	return mapDcsData.size();
-}
-
-Long64_t CAlfaEvent::FillDcsMovementMap(const char szRootFilename[], map<ULong64_t,DCSMOVEMENT>& mapDcsData)
-{
-	Long64_t nEntries=0;
-
-	TFile* pFile=new TFile(szRootFilename);
-	if(pFile!=NULL){
-		nEntries=FillDcsMovementMap(pFile, mapDcsData);
-		pFile->Close();
-	}
-
-	return nEntries;
-}
-
-Long64_t CAlfaEvent::FillDcsMovementMap(TFile* pFile, map<ULong64_t,DCSMOVEMENT>& mapDcsData)
-{
-	int i,j;
-	Long64_t nEntries;
-	DCSMOVEMENT DcsData;
-
-	mapDcsData.clear();
-
-	ULong64_t ulID;
-	vector<Float_t>* pvecLVDT=NULL;
-	vector<Float_t>* pvecMotor=NULL;
-
-	if(pFile->cd(ms_DCSFolder.c_str())){
-		TTree* pTree=(TTree*)gROOT->FindObject(DCSTREENAME_MOVEMENT);
-		if(pTree!=NULL){
-			nEntries=pTree->GetEntries();
-			pTree->SetBranchAddress("ID", &ulID);
-			pTree->SetBranchAddress("LVDT", &pvecLVDT);
-			pTree->SetBranchAddress("Motor", &pvecMotor);
-
-			//printf("MOVEMENT Entries=%i\r\n",(int)nEntries);
-
-			for(i=0;i<nEntries;i++){
-				pTree->GetEntry(i);
-
-				if(mapDcsData.find(ulID)==mapDcsData.end()){
-					//add new record
-					memset(&DcsData,0,sizeof(DCSMOVEMENT));
-					DcsData.ulID=ulID;
-
-					for(j=0;j<RPOTSCNT;j++){
-						DcsData.arrLVDT[j]=(*pvecLVDT)[j];
-						DcsData.arrMotor[j]=(*pvecMotor)[j];
-					}
-
-					mapDcsData[DcsData.ulID]=DcsData;
-				}
-			}
-		}
-		else{
-			printf("ERROR: Cannot find MOVEMENT tree\r\n");
-		}
-
-		pFile->cd();
-	}
-
-	return mapDcsData.size();
-}
-
-Long64_t CAlfaEvent::FillDcsRadMonMap(const char szRootFilename[], map<ULong64_t,DCSRADMON>& mapDcsData)
-{
-	Long64_t nEntries=0;
-
-	TFile* pFile=new TFile(szRootFilename);
-	if(pFile!=NULL){
-		nEntries=FillDcsRadMonMap(pFile, mapDcsData);
-		pFile->Close();
-	}
-
-	return nEntries;
-}
-
-Long64_t CAlfaEvent::FillDcsRadMonMap(TFile* pFile, map<ULong64_t,DCSRADMON>& mapDcsData)
-{
-	int i,j;
-	Long64_t nEntries;
-	DCSRADMON DcsData;
-
-	mapDcsData.clear();
-
-	ULong64_t ulID;
-	vector<Float_t>* pvecDose=NULL;
-	vector<Float_t>* pvecFluence=NULL;
-	vector<Float_t>* pvecTemperature=NULL;
-
-	if(pFile->cd(ms_DCSFolder.c_str())){
-		TTree* pTree=(TTree*)gROOT->FindObject(DCSTREENAME_RADMON);
-		if(pTree!=NULL){
-			nEntries=pTree->GetEntries();
-			pTree->SetBranchAddress("ID", &ulID);
-			pTree->SetBranchAddress("Dose", &pvecDose);
-			pTree->SetBranchAddress("Fluence", &pvecFluence);
-			pTree->SetBranchAddress("Temperature", &pvecTemperature);
-
-			//printf("RADMON Entries=%i\r\n",(int)nEntries);
-
-			for(i=0;i<nEntries;i++){
-				pTree->GetEntry(i);
-
-				if(mapDcsData.find(ulID)==mapDcsData.end()){
-					//add new record
-					memset(&DcsData,0,sizeof(DCSRADMON));
-					DcsData.ulID=ulID;
-
-					for(j=0;j<RADMONCNT;j++){
-						DcsData.arrDose[j]=(*pvecDose)[j];
-						DcsData.arrFluence[j]=(*pvecFluence)[j];
-						DcsData.arrTemperature[j]=(*pvecTemperature)[j];
-					}
-
-					mapDcsData[DcsData.ulID]=DcsData;
-				}
-			}
-		}
-		else{
-			printf("ERROR: Cannot find RADMON tree\r\n");
-		}
-
-		pFile->cd();
-	}
-
-	return mapDcsData.size();
-}
-
-Long64_t CAlfaEvent::FillDcsTriggerRatesMap(const char szRootFilename[], map<ULong64_t,DCSTRIGGERRATES>& mapDcsData)
-{
-	Long64_t nEntries=0;
-
-	TFile* pFile=new TFile(szRootFilename);
-	if(pFile!=NULL){
-		nEntries=FillDcsTriggerRatesMap(pFile, mapDcsData);
-		pFile->Close();
-	}
-
-	return nEntries;
-}
-
-Long64_t CAlfaEvent::FillDcsTriggerRatesMap(TFile* pFile, map<ULong64_t,DCSTRIGGERRATES>& mapDcsData)
-{
-	int i,j;
-	Long64_t nEntries;
-	DCSTRIGGERRATES DcsData;
-
-	mapDcsData.clear();
-
-	ULong64_t ulID;
-	vector<Int_t>* pvecTriggerRates=NULL;
-
-	if(pFile->cd(ms_DCSFolder.c_str())){
-		TTree* pTree=(TTree*)gROOT->FindObject(DCSTREENAME_TRIGGERRATES);
-		if(pTree!=NULL){
-			nEntries=pTree->GetEntries();
-			pTree->SetBranchAddress("ID", &ulID);
-			pTree->SetBranchAddress("TriggerRates", &pvecTriggerRates);
-
-			//printf("TRIGGERRATES Entries=%i\r\n",(int)nEntries);
-
-			for(i=0;i<nEntries;i++){
-				pTree->GetEntry(i);
-
-				if(mapDcsData.find(ulID)==mapDcsData.end()){
-					//add new record
-					memset(&DcsData,0,sizeof(DCSTRIGGERRATES));
-					DcsData.ulID=ulID;
-
-					for(j=0;j<RPOTSCNT;j++){
-						DcsData.arrTriggerRates[j]=(*pvecTriggerRates)[j];
-					}
-
-					mapDcsData[DcsData.ulID]=DcsData;
-				}
-			}
-		}
-		else{
-			printf("ERROR: Cannot find TRIGGERRATES tree\r\n");
-		}
-
-		pFile->cd();
-	}
-
-	return mapDcsData.size();
-}
-
-Long64_t CAlfaEvent::FillDcsFEConfigurationMap(const char szRootFilename[], map<ULong64_t,DCSFECONFIGURATION>& mapDcsData)
-{
-	Long64_t nEntries=0;
-
-	TFile* pFile=new TFile(szRootFilename);
-	if(pFile!=NULL){
-		nEntries=FillDcsFEConfigurationMap(pFile, mapDcsData);
-		pFile->Close();
-	}
-
-	return nEntries;
-}
-
-Long64_t CAlfaEvent::FillDcsFEConfigurationMap(TFile* pFile, map<ULong64_t,DCSFECONFIGURATION>& mapDcsData)
-{
-	int i,j,k;
-	Long64_t nEntries;
-	DCSFECONFIGURATION DcsData;
-
-	mapDcsData.clear();
-
-	ULong64_t ulID;
-	vector<Int_t>* pvecThreshold=NULL;
-	vector<Int_t>* pvecGain=NULL;
-	vector<string>* pvecMDGainMode=NULL;
-
-	if(pFile->cd(ms_DCSFolder.c_str())){
-		TTree* pTree=(TTree*)gROOT->FindObject(DCSTREENAME_FECONFIGURATION);
-		if(pTree!=NULL){
-			nEntries=pTree->GetEntries();
-			pTree->SetBranchAddress("ID", &ulID);
-			pTree->SetBranchAddress("Threshold", &pvecThreshold);
-			pTree->SetBranchAddress("Gain", &pvecGain);
-			pTree->SetBranchAddress("MDGainMode", &pvecMDGainMode);
-
-			//printf("FECONFIGURATION Entries=%i\r\n",(int)nEntries);
-
-			for(i=0;i<nEntries;i++){
-				pTree->GetEntry(i);
-
-				if(mapDcsData.find(ulID)==mapDcsData.end()){
-					//add new record
-					memset(&DcsData,0,sizeof(DCSFECONFIGURATION));
-					DcsData.ulID=ulID;
-
-					for(j=0;j<RPOTSCNT;j++){
-						for(k=0;k<FECNFTHRESHLOLDCNT;k++) DcsData.arrThreshold[j][k]=(*pvecThreshold)[FECNFTHRESHLOLDCNT*j+k];
-						for(k=0;k<FECNFGAINCNT;k++) DcsData.arrGain[j][k]=(*pvecGain)[FECNFGAINCNT*j+k];
-						strcpy(DcsData.arrMDGainMode[j],(*pvecMDGainMode)[j].c_str());
-					}
-
-					mapDcsData[DcsData.ulID]=DcsData;
-				}
-			}
-		}
-		else{
-			printf("ERROR: Cannot find FECONFIGURATION tree\r\n");
-		}
-
-		pFile->cd();
-	}
-
-	return mapDcsData.size();
-}
-
-Long64_t CAlfaEvent::FillDcsTriggerSettingsMap(const char szRootFilename[], map<ULong64_t,DCSTRIGGERSETTINGS>& mapDcsData)
-{
-	Long64_t nEntries=0;
-
-	TFile* pFile=new TFile(szRootFilename);
-	if(pFile!=NULL){
-		nEntries=FillDcsTriggerSettingsMap(pFile, mapDcsData);
-		pFile->Close();
-	}
-
-	return nEntries;
-}
-
-Long64_t CAlfaEvent::FillDcsTriggerSettingsMap(TFile* pFile, map<ULong64_t,DCSTRIGGERSETTINGS>& mapDcsData)
-{
-	int i,j,k;
-	Long64_t nEntries;
-	DCSTRIGGERSETTINGS DcsData;
-
-	mapDcsData.clear();
-
-	ULong64_t ulID;
-	vector<Int_t>* pvecTriggerSettings=NULL;
-	vector<Int_t>* pvecLatency=NULL;
-
-	if(pFile->cd(ms_DCSFolder.c_str())){
-		TTree* pTree=(TTree*)gROOT->FindObject(DCSTREENAME_TRIGGERSETTINGS);
-		if(pTree!=NULL){
-			nEntries=pTree->GetEntries();
-			pTree->SetBranchAddress("ID", &ulID);
-			pTree->SetBranchAddress("TriggerSettings", &pvecTriggerSettings);
-			pTree->SetBranchAddress("Latency", &pvecLatency);
-
-			//printf("TRIGGERSETTINGS Entries=%i\r\n",(int)nEntries);
-
-			for(i=0;i<nEntries;i++){
-				pTree->GetEntry(i);
-
-				if(mapDcsData.find(ulID)==mapDcsData.end()){
-					//add new record
-					memset(&DcsData,0,sizeof(DCSTRIGGERSETTINGS));
-					DcsData.ulID=ulID;
-
-					for(j=0;j<RPOTSCNT;j++){//[RPOTSCNT][TRIGSETCNT]
-						for(k=0;k<TRIGSETCNT;k++) DcsData.arrTriggerSet[j][k]=(*pvecTriggerSettings)[TRIGSETCNT*j+k];
-						for(k=0;k<TRIGSETLATENCYCNT;k++) DcsData.arrLatency[j][k]=(*pvecLatency)[TRIGSETLATENCYCNT*j+k];
-					}
-
-					mapDcsData[DcsData.ulID]=DcsData;
-				}
-			}
-		}
-		else{
-			printf("ERROR: Cannot find TRIGGERSETTINGS tree\r\n");
-		}
-
-		pFile->cd();
-	}
-
-	return mapDcsData.size();
-}
-
-Long64_t CAlfaEvent::ResolveEntries(const char szRootFilename[])
-{
-    Long64_t nEntries=0;
-
-    TFile* pFile=new TFile(szRootFilename);
-    nEntries=ResolveEntries(pFile);
-    pFile->Close();
-
-    return nEntries;
-}
-
-Long64_t CAlfaEvent::ResolveEntries(TFile* pFile)
-{
-    Long64_t nEntries=0;
-
-    if(pFile!=NULL){
-	TTree* pEventHeaderTree=(TTree*)pFile->Get(ms_EventTreeName.c_str());
-	if(pEventHeaderTree!=NULL) nEntries=pEventHeaderTree->GetEntries();
-    }
-
-    return nEntries;
-}
-
-void* CAlfaEvent::ThLoadEvents(void* pParams)
-{
-	Long64_t i, nEntries=0;
-	CAlfaEvent* pEventData=NULL;
-
-	PWORKTHREADPARAMS pWorkParams=(PWORKTHREADPARAMS)pParams;
-	pWorkParams->plistEvents->Clear();
-
-	//TThread::Printf("[Thread #%i] start\r\n",pWorkParams->nThreadID);
-
-	TFile* pFile=new TFile(pWorkParams->szFileName,"READ");
-	if(pFile!=NULL){
-		TTree* pEventTree=(TTree*)pFile->Get(ms_EventTreeName.c_str());
-		if(pEventTree!=NULL){
-
-			PALFAEVENTHEADER pEventHeader=new ALFAEVENTHEADER();
-			PALFATRACKINGDATA pTrackingData=new ALFATRACKINGDATA();
-			BookEventHeaderVariables(pEventTree, pEventHeader);
-			BookTrackingDataVariables(pEventTree, pTrackingData);
-
-			for(i=pWorkParams->nEntryFrom;i<=pWorkParams->nEntryTo;i++){
-				nEntries++;
-				//if(nEntries%PRINTMODULO==0) printf("[Thread #%i] scanned %llu entries\r\n",pWorkParams->nThreadID, nEntries);
-				if(nEntries%PRINTMODULO==0) printf("scanned %llu entries\r\n", nEntries);
-
-				pEventTree->GetEntry(i);
-				pEventData=new CAlfaEvent();
-				pEventData->FillEventHeader(pEventHeader);
-				pEventData->FillTrackingData(pTrackingData);
-
-				pWorkParams->plistEvents->Add(pEventData);
-			}
-
-			if(pEventHeader) delete pEventHeader;
-			if(pTrackingData) delete pTrackingData;
-		}
-	}
-
-	//TThread::Printf("[Thread #%i] stop\r\n",pWorkParams->nThreadID);
-
-	return NULL;
-}
-
-Long64_t CAlfaEvent::LoadEvents(const char szRootFilename[], TList& listData, const Long64_t nMaxEntries)
-{
-	const bool bSupportMultiThreadedReading=false;
-	const int nMaxNumOfThreads=1;
-
-	int i;
-	Char_t szWorkThreadName[16];
-	Long64_t  nEntriesPerThread, nTotEntries, nEntries=0, nEntryFrom, nEntryTo;
-
-	nTotEntries=ResolveEntries(szRootFilename);
-	if(nMaxEntries<0) nEntries=nTotEntries;
-	else if(nMaxEntries>nTotEntries) nEntries=nTotEntries;
-	else nEntries=nMaxEntries;
-
-	if(bSupportMultiThreadedReading && nTotEntries>MTHREADSTH && nMaxNumOfThreads>1){
-		printf("Multi thread mode\r\n");
-
-		TThread** ppWorkThreads=new TThread*[nMaxNumOfThreads];
-		TList* parrlistData=new TList[nMaxNumOfThreads];
-		PWORKTHREADPARAMS parrWorkParams=new WORKTHREADPARAMS[nMaxNumOfThreads];
-		nEntriesPerThread=nEntries/nMaxNumOfThreads;
-		nEntryFrom=0;
-
-		for(i=0;i<nMaxNumOfThreads;i++){
-
-			nEntryTo=nEntryFrom+nEntriesPerThread-1;
-			if(i==nMaxNumOfThreads-1) nEntryTo=nEntries-1;
-
-			printf("Prepare thread #%i: from=%llu, to=%llu\r\n",i+1,nEntryFrom,nEntryTo);
-
-			memset(parrWorkParams+i,0,sizeof(WORKTHREADPARAMS));
-			parrWorkParams[i].nThreadID=i+1;
-			parrWorkParams[i].nEntryFrom=nEntryFrom;
-			parrWorkParams[i].nEntryTo=nEntryTo;
-			parrWorkParams[i].plistEvents=parrlistData+i;
-			strcpy(parrWorkParams[i].szFileName, szRootFilename);
-
-			sprintf(szWorkThreadName,"WTH%02i",i+1);
-			ppWorkThreads[i]=new TThread(szWorkThreadName,ThLoadEvents,(void*)(parrWorkParams+i));
-			ppWorkThreads[i]->Run();
-
-			nEntryFrom=nEntryTo+1;
-		}
-
-		//gSystem->Sleep(10000);
-		TThread::Ps();
-
-		for(i=0;i<nMaxNumOfThreads;i++){
-			ppWorkThreads[i]->Join();
-			listData.AddAll(parrlistData+i);
-			delete ppWorkThreads[i];
-
-		}
-
-		delete [] parrWorkParams;
-		delete [] parrlistData;
-		delete [] ppWorkThreads;
-	}
-	else{
-		//printf("Single thread mode\r\n");
-		WORKTHREADPARAMS WorkParams;
-		memset(&WorkParams,0,sizeof(WORKTHREADPARAMS));
-
-		WorkParams.nEntryFrom=0;
-		WorkParams.nEntryTo=nEntries-1;
-		WorkParams.nThreadID=1;
-		WorkParams.plistEvents=&listData;
-		strcpy(WorkParams.szFileName, szRootFilename);
-
-		ThLoadEvents(&WorkParams);
-	}
-
-	return listData.GetSize();
-}
-
-CAlfaEvent* CAlfaEvent::GetEntry(const char szRootFilename[], const Long64_t nEntry)
-{
-    CAlfaEvent* pEventData=NULL;
-
-    TFile* pFile=new TFile(szRootFilename);
-    pEventData=GetEntry(pFile,nEntry);
-    pFile->Close();
-
-    return pEventData;
-}
-
-CAlfaEvent* CAlfaEvent::GetEntry(TFile* pFile, const Long64_t nEntry)
-{
-    CAlfaEvent* pEventData=NULL;
-
-    if(pFile!=NULL){
-		TTree* pEventTree=(TTree*)pFile->Get(ms_EventTreeName.c_str());
-		if(pEventTree!=NULL){
-			PALFAEVENTHEADER pEventHeader=new ALFAEVENTHEADER();
-			PALFATRACKINGDATA pTrackingData=new ALFATRACKINGDATA();
-			BookEventHeaderVariables(pEventTree, pEventHeader);
-			BookTrackingDataVariables(pEventTree, pTrackingData);
-
-			pEventTree->GetEntry(nEntry);
-			pEventData=new CAlfaEvent();
-			pEventData->FillEventHeader(pEventHeader);
-			pEventData->FillTrackingData(pTrackingData);
-
-			if(pEventHeader) delete pEventHeader;
-			if(pTrackingData) delete pTrackingData;
-		}
-
-    }
-
-    return pEventData;
-}
-
-
-bool CAlfaEvent::FillEventHeader(const PALFAEVENTHEADER pAlfaEventHeader)
-{
-	TThread::Lock();
-
-	//EventInfo
-    m_uRunNumber=pAlfaEventHeader->uRunNumber;
-	m_uLumiBlockNumber=pAlfaEventHeader->uLumiBlockNumber;
-    m_uEventNumber=pAlfaEventHeader->uEventNumber;
-    m_uTimeStamp=pAlfaEventHeader->uTimeStamp;
-    m_uTimeStampNs=pAlfaEventHeader->uTimeStampNs;
-
-    //DCS IDs
-	m_ullDcsBlm=pAlfaEventHeader->ullDcsBlm;
-	m_ullDcsHVChannel=pAlfaEventHeader->ullDcsHVChannel;
-	m_ullDcsLocalMonitoring=pAlfaEventHeader->ullDcsLocalMonitoring;
-	m_ullDcsMovement=pAlfaEventHeader->ullDcsMovement;
-	m_ullDcsRadMon=pAlfaEventHeader->ullDcsRadMon;
-	m_ullDcsTriggerRates=pAlfaEventHeader->ullDcsTriggerRates;
-	m_ullDcsFEConfiguration=pAlfaEventHeader->ullDcsFEConfiguration;
-	m_ullDcsTriggerSettings=pAlfaEventHeader->ullDcsTriggerSettings;
-
-    //RawDataContainer
-	m_vecScaler=*pAlfaEventHeader->pvecScaler;
-	m_nBCId=pAlfaEventHeader->nBCId;
-	m_nTimeStp=pAlfaEventHeader->nTimeStp;
-	m_nTimeStpNs=pAlfaEventHeader->nTimeStpNs;
-	m_vecTrigPat=*pAlfaEventHeader->pvecTrigPat;
-
-    //DigitCollection
-	m_vecFiberHitsMD=*pAlfaEventHeader->pvecFiberHitsMD;
-	m_vecMultiplicityMD=*pAlfaEventHeader->pvecMultiplicityMD;
-
-    //ODDigitCollection
-	m_vecFiberHitsODPos=*pAlfaEventHeader->pvecFiberHitsODPos;
-	m_vecFiberHitsODNeg=*pAlfaEventHeader->pvecFiberHitsODNeg;
-	m_vecMultiplicityODPos=*pAlfaEventHeader->pvecMultiplicityODPos;
-	m_vecMultiplicityODNeg=*pAlfaEventHeader->pvecMultiplicityODNeg;
-
-	TThread::UnLock();
-
-    return true;
-}
-
-bool CAlfaEvent::FillTrackingData(const PALFATRACKINGDATA pAlfaTrackingData)
-{
-    //LocRecEvCollection & LocRecODEvCollection
-	m_nMaxTrackCnt=pAlfaTrackingData->nMaxTrackCnt;
-	m_vecXDetCS=*pAlfaTrackingData->pvecXDetCS;
-	m_vecYDetCS=*pAlfaTrackingData->pvecYDetCS;
-	m_vecDetectorPartID=*pAlfaTrackingData->pvecDetectorPartID;
-	m_vecOverU=*pAlfaTrackingData->pvecOverU;
-	m_vecOverV=*pAlfaTrackingData->pvecOverV;
-	m_vecOverY=*pAlfaTrackingData->pvecOverY;
-	m_vecNumU=*pAlfaTrackingData->pvecNumU;
-	m_vecNumV=*pAlfaTrackingData->pvecNumV;
-	m_vecNumY=*pAlfaTrackingData->pvecNumY;
-	m_vecMDFibSel=*pAlfaTrackingData->pvecMDFibSel;
-	m_vecODFibSel=*pAlfaTrackingData->pvecODFibSel;
-
-    //LocRecCorrEvCollection & LocRecCorrODEvCollection
-	m_vecXLhcCS=*pAlfaTrackingData->pvecXLhcCS;
-	m_vecYLhcCS=*pAlfaTrackingData->pvecYLhcCS;
-	m_vecZLhcCS=*pAlfaTrackingData->pvecZLhcCS;
-	m_vecXRPotCS=*pAlfaTrackingData->pvecXRPotCS;
-	m_vecYRPotCS=*pAlfaTrackingData->pvecYRPotCS;
-	m_vecXStatCS=*pAlfaTrackingData->pvecXStatCS;
-	m_vecYStatCS=*pAlfaTrackingData->pvecYStatCS;
-	m_vecXBeamCS=*pAlfaTrackingData->pvecXBeamCS;
-	m_vecYBeamCS=*pAlfaTrackingData->pvecYBeamCS;
-
-    return true;
-}
-
-bool CAlfaEvent::BookEventHeaderVariables(TTree* pTree, PALFAEVENTHEADER pAlfaEventHeader)
-{
-    //pTree->Print();
-
-	//EventInfo
-    pTree->SetBranchAddress("RunNumber", &pAlfaEventHeader->uRunNumber);
-	pTree->SetBranchAddress("lbn", &pAlfaEventHeader->uLumiBlockNumber);
-    pTree->SetBranchAddress("EventNumber", &pAlfaEventHeader->uEventNumber);
-    pTree->SetBranchAddress("timestamp", &pAlfaEventHeader->uTimeStamp);
-    pTree->SetBranchAddress("timestamp_ns", &pAlfaEventHeader->uTimeStampNs);
-
-    //DCS IDs
-	pTree->SetBranchAddress("alfa_DCS_BLM", &pAlfaEventHeader->ullDcsBlm);
-	pTree->SetBranchAddress("alfa_DCS_HVCHANNEL", &pAlfaEventHeader->ullDcsHVChannel);
-	pTree->SetBranchAddress("alfa_DCS_LOCALMONITORING", &pAlfaEventHeader->ullDcsLocalMonitoring);
-	pTree->SetBranchAddress("alfa_DCS_MOVEMENT", &pAlfaEventHeader->ullDcsMovement);
-	pTree->SetBranchAddress("alfa_DCS_RADMON", &pAlfaEventHeader->ullDcsRadMon);
-	pTree->SetBranchAddress("alfa_DCS_TRIGGERRATES", &pAlfaEventHeader->ullDcsTriggerRates);
-	pTree->SetBranchAddress("alfa_DCS_FECONFIGURATION", &pAlfaEventHeader->ullDcsFEConfiguration);
-	pTree->SetBranchAddress("alfa_DCS_TRIGGERSETTINGS", &pAlfaEventHeader->ullDcsTriggerSettings);
-
-    //RawDataContainer
-	pTree->SetBranchAddress("alfa_Scaler", &pAlfaEventHeader->pvecScaler);
-	pTree->SetBranchAddress("alfa_BCId", &pAlfaEventHeader->nBCId);
-	pTree->SetBranchAddress("alfa_TimeStp", &pAlfaEventHeader->nTimeStp);
-	pTree->SetBranchAddress("alfa_TimeStp_ns", &pAlfaEventHeader->nTimeStpNs);
-	pTree->SetBranchAddress("alfa_TrigPat", &pAlfaEventHeader->pvecTrigPat);
-
-    //DigitCollection
-	pTree->SetBranchAddress("alfa_FiberHitsMD", &pAlfaEventHeader->pvecFiberHitsMD);
-	pTree->SetBranchAddress("alfa_MultiMD", &pAlfaEventHeader->pvecMultiplicityMD);
-
-    //ODDigitCollection
-	pTree->SetBranchAddress("alfa_FiberHitsODPos", &pAlfaEventHeader->pvecFiberHitsODPos);
-	pTree->SetBranchAddress("alfa_FiberHitsODNeg", &pAlfaEventHeader->pvecFiberHitsODNeg);
-	pTree->SetBranchAddress("alfa_MultiODPos", &pAlfaEventHeader->pvecMultiplicityODPos);
-	pTree->SetBranchAddress("alfa_MultiODNeg", &pAlfaEventHeader->pvecMultiplicityODNeg);
-
-    return true;
-}
-
-bool CAlfaEvent::BookTrackingDataVariables(TTree* pTree, PALFATRACKINGDATA pAlfaTrackingData)
-{
-    //pTree->Print();
-
-    //LocRecEvCollection & LocRecODEvCollection
-	pTree->SetBranchAddress("alfa_NumTrack", &pAlfaTrackingData->nMaxTrackCnt);
-	pTree->SetBranchAddress("alfa_x_Det", &pAlfaTrackingData->pvecXDetCS);
-	pTree->SetBranchAddress("alfa_y_Det", &pAlfaTrackingData->pvecYDetCS);
-	pTree->SetBranchAddress("alfa_Detector", &pAlfaTrackingData->pvecDetectorPartID);
-	pTree->SetBranchAddress("alfa_OverU", &pAlfaTrackingData->pvecOverU);
-	pTree->SetBranchAddress("alfa_OverV", &pAlfaTrackingData->pvecOverV);
-	pTree->SetBranchAddress("alfa_OverY", &pAlfaTrackingData->pvecOverY);
-	pTree->SetBranchAddress("alfa_NU", &pAlfaTrackingData->pvecNumU);
-	pTree->SetBranchAddress("alfa_NV", &pAlfaTrackingData->pvecNumV);
-	pTree->SetBranchAddress("alfa_NY", &pAlfaTrackingData->pvecNumY);
-	pTree->SetBranchAddress("alfa_Fib_SelMD", &pAlfaTrackingData->pvecMDFibSel);
-	pTree->SetBranchAddress("alfa_Fib_SelOD", &pAlfaTrackingData->pvecODFibSel);
-
-    //LocRecCorrEvCollection & LocRecCorrODEvCollection
-	pTree->SetBranchAddress("alfa_x_LHC", &pAlfaTrackingData->pvecXLhcCS);
-	pTree->SetBranchAddress("alfa_y_LHC", &pAlfaTrackingData->pvecYLhcCS);
-	pTree->SetBranchAddress("alfa_z_LHC", &pAlfaTrackingData->pvecZLhcCS);
-	pTree->SetBranchAddress("alfa_x_Pot", &pAlfaTrackingData->pvecXRPotCS);
-	pTree->SetBranchAddress("alfa_y_Pot", &pAlfaTrackingData->pvecYRPotCS);
-	pTree->SetBranchAddress("alfa_x_Stat", &pAlfaTrackingData->pvecXStatCS);
-	pTree->SetBranchAddress("alfa_y_Stat", &pAlfaTrackingData->pvecYStatCS);
-	pTree->SetBranchAddress("alfa_x_Beam", &pAlfaTrackingData->pvecXBeamCS);
-	pTree->SetBranchAddress("alfa_y_Beam", &pAlfaTrackingData->pvecYBeamCS);
-
-    return true;
-}
-
-void CAlfaEvent::PrintEventHeader()
-{
-    int i, j, k;
-
-    //EventInfo
-    printf("RunNumber: %u\r\n", m_uRunNumber);
-	printf("LumiBlockNumber: %u\r\n", m_uLumiBlockNumber);
-    printf("EventNumber: %u\r\n", m_uEventNumber);
-    printf("TimeStamp: %u\r\n", m_uTimeStamp);
-    printf("TimeStampNs: %u\r\n", m_uTimeStampNs);
-
-	printf("\r\nDCS BLM ID=%llu\r\n",m_ullDcsBlm);
-	printf("DCS HVCHANNEL ID=%llu\r\n",m_ullDcsHVChannel);
-	printf("DCS LOCALMONITORING ID=%llu\r\n",m_ullDcsLocalMonitoring);
-	printf("DCS MOVEMENT ID=%llu\r\n",m_ullDcsMovement);
-	printf("DCS RADMON ID=%llu\r\n",m_ullDcsRadMon);
-	printf("DCS TRIGGERRATES ID=%llu\r\n",m_ullDcsTriggerRates);
-	printf("DCS FECONFIGURATION ID=%llu\r\n",m_ullDcsFEConfiguration);
-	printf("DCS TRIGGERSETTINGS ID=%llu\r\n",m_ullDcsTriggerSettings);
-
-    printf("\r\nScaler info:\r\n");
-    for(i=0;i<RPOTSCNT;i++) printf("Roman Pot #%i: %i\r\n",i,GetScaler(i));
-
-    printf("\r\nTrigger pattern info:\r\n");
-    for(i=0;i<RPOTSCNT;i++){
-	printf("#%i: ",i);
-	for(j=0;j<TRIGPATCNT;j++){
-	    printf("%i ",GetTriggerPattern(i,j));
-	}
-	printf("\r\n");
-    }
-    printf("\r\n");
-
-    printf("Fiber Hits in MD info:\r\n");
-    for(i=0;i<RPOTSCNT;i++){
-	for(j=0;j<MDLAYERSCNT*MDPLATESCNT;j++){
-	    printf("Roman Pot #%i, Plate #%i:",i,j);
-	    for(k=0;k<MDFIBERSCNT;k++){
-		printf("%i ",GetFiberHitsMD(i,j,k));
-	    }
-	    printf("\r\n");
-	}
-	printf("\r\n");
-    }
-
-    printf("Multiplicity in MD info:\r\n");
-    for(i=0;i<RPOTSCNT;i++){
-	for(j=0;j<MDLAYERSCNT*MDPLATESCNT;j++){
-	    printf("Roman Pot #%i, Plate #%i: %i\r\n",i,j,GetMultiplicityMD(i,j));
-	}
-    }
-    printf("\r\n");
-
-
-    printf("\r\nFiber Hits in ODPos info:\r\n");
-    for(i=0;i<RPOTSCNT;i++){
-	for(j=0;j<ODPLATESCNT;j++){
-	    printf("Roman Pot #%i, Plate #%i:",i,j);
-	    for(k=0;k<ODLAYERSCNT*ODFIBERSCNT;k++){
-		printf("%i ",GetFiberHitsODPos(i,j,k));
-	    }
-	    printf("\r\n");
-	}
-	printf("\r\n");
-    }
-
-    printf("Multiplicity in ODPos info:\r\n");
-    for(i=0;i<RPOTSCNT;i++){
-	for(j=0;j<ODPLATESCNT;j++){
-	    printf("Roman Pot #%i, Plate #%i: %i\r\n",i,j,GetMultiplicityODPos(i,j));
-	}
-    }
-    printf("\r\n");
-
-    printf("\r\nFiber Hits in ODNeg info:\r\n");
-    for(i=0;i<RPOTSCNT;i++){
-		for(j=0;j<ODPLATESCNT;j++){
-			printf("Roman Pot #%i, Plate #%i:",i,j);
-			for(k=0;k<ODLAYERSCNT*ODFIBERSCNT;k++){
-				printf("%i ",GetFiberHitsODNeg(i,j,k));
-			}
-			printf("\r\n");
-		}
-		printf("\r\n");
-    }
-
-    printf("Multiplicity in ODNeg info:\r\n");
-    for(i=0;i<RPOTSCNT;i++){
-		for(j=0;j<ODPLATESCNT;j++){
-			printf("Roman Pot #%i, Plate #%i: %i\r\n",i,j,GetMultiplicityODNeg(i,j));
-		}
-    }
-    printf("\r\n");
-
-}
-
-void CAlfaEvent::PrintTrackingData()
-{
-    int i, j, k;
-    int nDetID;
-
-    printf("\r\nMaximal number of local tracks: %i\r\n", m_nMaxTrackCnt);
-
-    for(i=0;i<RPOTSCNT;i++){
-		printf("\r\nRoman pot #%i\r\n",i);
-
-		for(j=0;j<m_nMaxTrackCnt;j++){
-			nDetID=GetDetectorPartID(i,j);
-
-			if(nDetID>0){
-				printf("track #%i CS:\r\n",j);
-
-				printf("detector=%i\r\n",nDetID);
-				printf("DetCS=[%.3f,%.3f], ",GetXDetCS(i,j),GetYDetCS(i,j));
-				printf("BeamCS=[%.3f,%.3f], ",GetXBeamCS(i,j),GetYBeamCS(i,j));
-				printf("RPotCS=[%.3f,%.3f], ",GetXRPotCS(i,j),GetYRPotCS(i,j));
-				printf("StatCS=[%.3f,%.3f], ",GetXStatCS(i,j),GetYStatCS(i,j));
-				printf("LhcCS=[%.3f,%.3f,%.3f]",GetXLhcCS(i,j),GetYLhcCS(i,j),GetZLhcCS(i,j));
-				printf("\r\n");
-
-				printf("OverU=%.3f, OverV=%.3f, OverY=%.3f\r\n",GetOverU(i,j),GetOverV(i,j),GetOverY(i,j));
-				printf("NumU=%i, NumV=%i, NumY=%i\r\n",GetNumU(i,j),GetNumV(i,j),GetNumY(i,j));
-
-				printf("MD fiber selection:\r\n");
-				for(k=0;k<MDLAYERSCNT*MDPLATESCNT;k++) printf("%i ",GetMDFibSel(i,j,k));
-				printf("\r\nOD fiber selection:\r\n");
-				for(k=0;k<ODPLATESCNT;k++) printf("%i ",GetODFibSel(i,j,k));
-				printf("\r\n");
-			}
-		}
-    }
-}
-
-bool CAlfaEvent::CheckDcsLink(const char szRootFilename[], const Long64_t nMaxEntries)
-{
-	bool bRes=false;
-
-	TFile* pFile=new TFile(szRootFilename);
-	bRes=CheckDcsLink(pFile, nMaxEntries);
-	pFile->Close();
-
-	return bRes;
-}
-
-bool CAlfaEvent::CheckDcsLink(TFile* pFile, const Long64_t nMaxEntries)
-{
-	bool bRes=true;
-	Long64_t i;
-	Long64_t nEventCnt=nMaxEntries;
-
-	map<ULong64_t,DCSBLM> mapDcsBlm;
-	map<ULong64_t,DCSHVCHANNEL> mapDcsHVChannel;
-	map<ULong64_t,DCSLOCALMONITORING> mapDcsLocalMonitoring;
-	map<ULong64_t,DCSMOVEMENT> mapDcsMovement;
-	map<ULong64_t,DCSRADMON> mapDcsRadMon;
-	map<ULong64_t,DCSTRIGGERRATES> mapDcsTriggerRates;
-	map<ULong64_t,DCSFECONFIGURATION> mapDcsFEConfiguration;
-	map<ULong64_t,DCSTRIGGERSETTINGS> mapDcsTriggerSettings;
-
-	FillDcsBlmMap(pFile, mapDcsBlm);
-	FillDcsHVChannelMap(pFile, mapDcsHVChannel);
-	FillDcsLocalMonitoringMap(pFile, mapDcsLocalMonitoring);
-	FillDcsMovementMap(pFile, mapDcsMovement);
-	FillDcsRadMonMap(pFile, mapDcsRadMon);
-	FillDcsTriggerRatesMap(pFile, mapDcsTriggerRates);
-	FillDcsFEConfigurationMap(pFile, mapDcsFEConfiguration);
-	FillDcsTriggerSettingsMap(pFile, mapDcsTriggerSettings);
-
-	CAlfaEvent* pEventData;
-	Long64_t nEntries=CAlfaEvent::ResolveEntries(pFile);
-
-	if(nEventCnt<0) nEventCnt=nEntries;
-	else if(nEventCnt>nEntries) nEventCnt=nEntries;
-
-	for(i=0;i<nEventCnt;i++){
-		pEventData=CAlfaEvent::GetEntry(pFile,i);
-		if(i%10000==0 && i>0) printf("Scanned %llu entries\r\n",i);
-
-		if(pEventData!=NULL){
-			if(mapDcsBlm.find(pEventData->GetDcsBlmID())==mapDcsBlm.end()){
-				bRes=false;
-				printf("WARNING: Cannot find proper DCS BLM data for event %u\r\n",pEventData->GetEventNumber());
-			}
-			if(mapDcsHVChannel.find(pEventData->GetDcsHVChannelID())==mapDcsHVChannel.end()){
-				bRes=false;
-				printf("WARNING: Cannot find proper DCS HVCHANNEL data for event %u\r\n",pEventData->GetEventNumber());
-			}
-			if(mapDcsLocalMonitoring.find(pEventData->GetDcsLocalMonitoringID())==mapDcsLocalMonitoring.end()){
-				bRes=false;
-				printf("WARNING: Cannot find proper DCS LOCALMONITORING data for event %u\r\n",pEventData->GetEventNumber());
-			}
-			if(mapDcsMovement.find(pEventData->GetDcsMovementID())==mapDcsMovement.end()){
-				bRes=false;
-				printf("WARNING: Cannot find proper DCS MOVEMENT data for event %u\r\n",pEventData->GetEventNumber());
-			}
-			if(mapDcsRadMon.find(pEventData->GetDcsRadMonID())==mapDcsRadMon.end()){
-				bRes=false;
-				printf("WARNING: Cannot find proper DCS RADMON data for event %u\r\n",pEventData->GetEventNumber());
-			}
-			if(mapDcsTriggerRates.find(pEventData->GetDcsTriggerRateID())==mapDcsTriggerRates.end()){
-				bRes=false;
-				printf("WARNING: Cannot find proper DCS TRIGGERRATES data for event %u\r\n",pEventData->GetEventNumber());
-			}
-			if(mapDcsFEConfiguration.find(pEventData->GetDcsFEConfigurationID())==mapDcsFEConfiguration.end()){
-				bRes=false;
-				printf("WARNING: Cannot find proper DCS FECONFIGURATION data for event %u\r\n",pEventData->GetEventNumber());
-			}
-			if(mapDcsTriggerSettings.find(pEventData->GetDcsTriggerSettingsID())==mapDcsTriggerSettings.end()){
-				bRes=false;
-				printf("WARNING: Cannot find proper DCS TRIGGERSETTINGS data for event %u\r\n",pEventData->GetEventNumber());
-			}
-
-			delete pEventData;
-			pEventData=NULL;
-		}
-	}
-
-	return bRes;
-}
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/CAlfaEvent.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/CAlfaEvent.h
deleted file mode 100644
index a3148df17752b50f5560e01712666d5b23c55240..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/CAlfaEvent.h
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef CALFAEVENT_H
-#define CALFAEVENT_H
-
-#include "TTree.h"
-#include "TFile.h"
-#include "TList.h"
-#include <vector>
-#include <map>
-#include <string>
-
-using namespace std;
-
-#include "Constants.h"
-
-#define PRINTMODULO 10000
-#define MTHREADSTH 10000
-#define EVENTTREENAME "AlfaD3PDTree"
-#define DCSFOLDER "AlfaD3PDTreeMeta"
-
-#define DCSTREENAME_BLM "alfa_BlmTree"
-#define DCSTREENAME_HVCHANNEL "alfa_HVChannelTree"
-#define DCSTREENAME_LOCALMONITORING "alfa_LocalMonitoringTree"
-#define DCSTREENAME_MOVEMENT "alfa_MovementTree"
-#define DCSTREENAME_RADMON "alfa_RadMonTree"
-#define DCSTREENAME_TRIGGERRATES "alfa_TriggerRatesTree"
-#define DCSTREENAME_FECONFIGURATION "alfa_FEConfigurationTree"
-#define DCSTREENAME_TRIGGERSETTINGS "alfa_TriggerSettingsTree"
-
-typedef struct _ALFAEVENTHEADER {
-    _ALFAEVENTHEADER();
-
-	//EventInfo
-	UInt_t uRunNumber;
-	UInt_t uLumiBlockNumber;
-	UInt_t uEventNumber;
-	UInt_t uTimeStamp;
-	UInt_t uTimeStampNs;
-
-	//DCS IDs
-	ULong64_t ullDcsBlm;
-	ULong64_t ullDcsHVChannel;
-	ULong64_t ullDcsLocalMonitoring;
-	ULong64_t ullDcsMovement;
-	ULong64_t ullDcsRadMon;
-	ULong64_t ullDcsTriggerRates;
-	ULong64_t ullDcsFEConfiguration;
-	ULong64_t ullDcsTriggerSettings;
-
-	//RawDataContainer
-	vector<Int_t>* pvecScaler;
-	Int_t nBCId;
-	Int_t nTimeStp;
-	Int_t nTimeStpNs;
-	vector<Int_t>* pvecTrigPat;
-
-	//DigitCollection
-	vector<Int_t>* pvecFiberHitsMD;
-	vector<Int_t>* pvecMultiplicityMD;
-
-	//ODDigitCollection
-	vector<Int_t>* pvecFiberHitsODPos;
-	vector<Int_t>* pvecFiberHitsODNeg;
-	vector<Int_t>* pvecMultiplicityODPos;
-	vector<Int_t>* pvecMultiplicityODNeg;
-
-} ALFAEVENTHEADER, *PALFAEVENTHEADER;
-
-typedef struct _ALFATRACKINGDATA {
-    _ALFATRACKINGDATA();
-
-    //LocRecEvCollection & LocRecODEvCollection
-	Int_t nMaxTrackCnt;
-	vector<Float_t>* pvecXDetCS;
-	vector<Float_t>* pvecYDetCS;
-	vector<Int_t>* pvecDetectorPartID;
-	vector<Float_t>* pvecOverU;
-	vector<Float_t>* pvecOverV;
-	vector<Float_t>* pvecOverY;
-	vector<Int_t>* pvecNumU;
-	vector<Int_t>* pvecNumV;
-	vector<Int_t>* pvecNumY;
-	vector<Int_t>* pvecMDFibSel;
-	vector<Int_t>* pvecODFibSel;
-
-    //LocRecCorrEvCollection & LocRecCorrODEvCollection
-	vector<Float_t>* pvecXLhcCS;
-	vector<Float_t>* pvecYLhcCS;
-	vector<Float_t>* pvecZLhcCS;
-	vector<Float_t>* pvecXRPotCS;
-	vector<Float_t>* pvecYRPotCS;
-	vector<Float_t>* pvecXStatCS;
-	vector<Float_t>* pvecYStatCS;
-	vector<Float_t>* pvecXBeamCS;
-	vector<Float_t>* pvecYBeamCS;
-
-} ALFATRACKINGDATA, *PALFATRACKINGDATA;
-
-typedef struct _DCSBLM {
-	ULong64_t ulID;
-	Float_t arrBLM[BLMCNT];
-} DCSBLM, *PDCSBLM;
-
-typedef struct _DCSHVCHANNEL {
-	ULong64_t ulID;
-	Float_t arrVoltage[HVCHANNELCNT];
-	Float_t arrCurrent[HVCHANNELCNT];
-} DCSHVCHANNEL, *PDCSHVCHANNEL;
-
-typedef struct _DCSLOCALMONITORING {
-	ULong64_t ulID;
-	Float_t arrTempSensor01[RPOTSCNT];
-	Float_t arrTempSensor02[RPOTSCNT];
-	Float_t arrTempSensor03[RPOTSCNT];
-	Float_t arrTempSensor04[RPOTSCNT];
-	Float_t arrTempSensor05[RPOTSCNT];
-} DCSLOCALMONITORING, *PDCSLOCALMONITORING;
-
-typedef struct _DCSMOVEMENT {
-	ULong64_t ulID;
-	Float_t arrLVDT[RPOTSCNT];
-	Float_t arrMotor[RPOTSCNT];
-} DCSMOVEMENT, *PDCSMOVEMENT;
-
-typedef struct _DCSRADMON {
-	ULong64_t ulID;
-	Float_t arrDose[RADMONCNT];
-	Float_t arrFluence[RADMONCNT];
-	Float_t arrTemperature[RADMONCNT];
-} DCSRADMON, *PDCSRADMON;
-
-typedef struct _DCSTRIGGERRATES {
-	ULong64_t ulID;
-	Int_t arrTriggerRates[RPOTSCNT];
-} DCSTRIGGERRATES, *PDCSTRIGGERRATES;
-
-typedef struct _DCSFECONFIGURATION {
-	ULong64_t ulID;
-	Int_t arrThreshold[RPOTSCNT][FECNFTHRESHLOLDCNT];
-	Int_t arrGain[RPOTSCNT][FECNFGAINCNT];
-	Char_t arrMDGainMode[RPOTSCNT][32];
-} DCSFECONFIGURATION, *PDCSFECONFIGURATION;
-
-typedef struct _DCSTRIGGERSETTINGS {
-	ULong64_t ulID;
-	Bool_t arrTriggerSet[RPOTSCNT][TRIGSETCNT];
-	Int_t arrLatency[RPOTSCNT][TRIGSETLATENCYCNT];
-} DCSTRIGGERSETTINGS, *PDCSTRIGGERSETTINGS;
-
-typedef struct _WORKTHREADPARAMS {
-	int nThreadID;
-	Long64_t nEntryFrom;
-	Long64_t nEntryTo;
-	TList* plistEvents;
-	Char_t szFileName[512];
-} WORKTHREADPARAMS, *PWORKTHREADPARAMS;
-
-class CAlfaEvent : public TObject
-{
-public:
-	CAlfaEvent();
-    ~CAlfaEvent();
-
-public:
-	static void* ThLoadEvents(void* pParams);
-	static Long64_t LoadEvents(const char szRootFilename[], TList& listData, const Long64_t nMaxEntries=-1);
-	static CAlfaEvent* GetEntry(const char szRootFilename[], const Long64_t nEntry);
-	static CAlfaEvent* GetEntry(TFile* pFile, const Long64_t nEntry);
-	static Long64_t ResolveEntries(const char szRootFilename[]);
-	static Long64_t ResolveEntries(TFile* pFile);
-	static bool CheckDcsLink(const char szRootFilename[], const Long64_t nMaxEntries=-1);
-	static bool CheckDcsLink(TFile* pFile, const Long64_t nMaxEntries=-1);
-
-	static Long64_t FillDcsBlmMap(const char szRootFilename[], map<ULong64_t,DCSBLM>& mapDcsData);
-	static Long64_t FillDcsBlmMap(TFile* pFile, map<ULong64_t,DCSBLM>& mapDcsData);
-	static Long64_t FillDcsHVChannelMap(const char szRootFilename[], map<ULong64_t,DCSHVCHANNEL>& mapDcsData);
-	static Long64_t FillDcsHVChannelMap(TFile* pFile, map<ULong64_t,DCSHVCHANNEL>& mapDcsData);
-	static Long64_t FillDcsLocalMonitoringMap(const char szRootFilename[], map<ULong64_t,DCSLOCALMONITORING>& mapDcsData);
-	static Long64_t FillDcsLocalMonitoringMap(TFile* pFile, map<ULong64_t,DCSLOCALMONITORING>& mapDcsData);
-	static Long64_t FillDcsMovementMap(const char szRootFilename[], map<ULong64_t,DCSMOVEMENT>& mapDcsData);
-	static Long64_t FillDcsMovementMap(TFile* pFile, map<ULong64_t,DCSMOVEMENT>& mapDcsData);
-	static Long64_t FillDcsRadMonMap(const char szRootFilename[], map<ULong64_t,DCSRADMON>& mapDcsData);
-	static Long64_t FillDcsRadMonMap(TFile* pFile, map<ULong64_t,DCSRADMON>& mapDcsData);
-	static Long64_t FillDcsTriggerRatesMap(const char szRootFilename[], map<ULong64_t,DCSTRIGGERRATES>& mapDcsData);
-	static Long64_t FillDcsTriggerRatesMap(TFile* pFile, map<ULong64_t,DCSTRIGGERRATES>& mapDcsData);
-	static Long64_t FillDcsFEConfigurationMap(const char szRootFilename[], map<ULong64_t,DCSFECONFIGURATION>& mapDcsData);
-	static Long64_t FillDcsFEConfigurationMap(TFile* pFile, map<ULong64_t,DCSFECONFIGURATION>& mapDcsData);
-	static Long64_t FillDcsTriggerSettingsMap(const char szRootFilename[], map<ULong64_t,DCSTRIGGERSETTINGS>& mapDcsData);
-	static Long64_t FillDcsTriggerSettingsMap(TFile* pFile, map<ULong64_t,DCSTRIGGERSETTINGS>& mapDcsData);
-
-public:
-	void PrintEventHeader();
-	void PrintTrackingData();
-
-private:
-	static bool BookEventHeaderVariables(TTree* pTree, PALFAEVENTHEADER pAlfaEventHeader);
-	static bool BookTrackingDataVariables(TTree* pTree, PALFATRACKINGDATA pAlfaTrackingData);
-
-private:
-	bool FillEventHeader(const PALFAEVENTHEADER pAlfaEventHeader);
-	bool FillTrackingData(const PALFATRACKINGDATA pAlfaTrackingData);
-
-private:
-	static string ms_EventTreeName;
-	static string ms_DCSFolder;
-
-public:
-	static void SetNTuplePaths(string& EventTreeName, string& DCSFolder);
-
-public:
-	//EventInfo
-	UInt_t GetRunNumber() const { return m_uRunNumber; }
-	UInt_t GetLumiBlockNumber() const { return m_uLumiBlockNumber; }
-	UInt_t GetEventNumber() const { return m_uEventNumber; }
-	UInt_t GetTimeStamp() const { return m_uTimeStamp; }
-	UInt_t GetTimeStampNs() const { return m_uTimeStampNs; }
-
-	//DCS IDs
-	ULong64_t GetDcsBlmID() const { return m_ullDcsBlm; }
-	ULong64_t GetDcsHVChannelID() const { return m_ullDcsHVChannel; }
-	ULong64_t GetDcsLocalMonitoringID() const { return m_ullDcsLocalMonitoring; }
-	ULong64_t GetDcsMovementID() const { return m_ullDcsMovement; }
-	ULong64_t GetDcsRadMonID() const { return m_ullDcsRadMon; }
-	ULong64_t GetDcsTriggerRateID() const { return m_ullDcsTriggerRates; }
-	ULong64_t GetDcsFEConfigurationID() const { return m_ullDcsFEConfiguration; }
-	ULong64_t GetDcsTriggerSettingsID() const { return m_ullDcsTriggerSettings; }
-
-	//RawDataContainer
-	Int_t GetScaler(const int nRPotID) const { return m_vecScaler[nRPotID]; }
-	Int_t GetBCId() const { return m_nBCId; }
-	Int_t GetRDTimeStp() const { return m_nTimeStp; }
-	Int_t GetRDTimeStpNs() const { return m_nTimeStpNs; }
-	Int_t GetTriggerPattern(const int nRPotID, const int  nTrigPatID) const { return m_vecTrigPat[TRIGPATCNT*nRPotID+nTrigPatID]; }
-
-	//DigitCollection
-	Int_t GetFiberHitsMD(const int nRPotID, const int  nLayerID, const int nFiberID) const { return m_vecFiberHitsMD[(MDLAYERSCNT*MDPLATESCNT*MDFIBERSCNT)*nRPotID+MDFIBERSCNT*nLayerID+nFiberID]; }
-	Int_t GetMultiplicityMD(const int nRPotID, const int  nLayerID) const { return m_vecMultiplicityMD[(MDLAYERSCNT*MDPLATESCNT)*nRPotID+nLayerID]; }
-
-	//ODDigitCollection
-	Int_t GetFiberHitsODPos(const int nRPotID, const int  nLayerID, const int nFiberID) const { return m_vecFiberHitsODPos[(ODPLATESCNT*ODLAYERSCNT*ODFIBERSCNT)*nRPotID+(ODLAYERSCNT*ODFIBERSCNT)*nLayerID+nFiberID]; }
-	Int_t GetMultiplicityODPos(const int nRPotID, const int  nLayerID) const { return m_vecMultiplicityODPos[(ODPLATESCNT)*nRPotID+nLayerID]; }
-	Int_t GetFiberHitsODNeg(const int nRPotID, const int  nLayerID, const int nFiberID) const { return m_vecFiberHitsODNeg[(ODPLATESCNT*ODLAYERSCNT*ODFIBERSCNT)*nRPotID+(ODLAYERSCNT*ODFIBERSCNT)*nLayerID+nFiberID]; }
-	Int_t GetMultiplicityODNeg(const int nRPotID, const int  nLayerID) const { return m_vecMultiplicityODNeg[(ODPLATESCNT)*nRPotID+nLayerID]; }
-
-	//LocRecEvCollection & LocRecODEvCollection
-	Int_t GetMaxTrackCnt() const { return m_nMaxTrackCnt; }
-	Float_t GetXDetCS(const int nRPotID, const int nTrackID) const { return m_vecXDetCS[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetYDetCS(const int nRPotID, const int nTrackID) const { return m_vecYDetCS[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Int_t GetDetectorPartID(const int nRPotID, const int nTrackID) const { return m_vecDetectorPartID[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetOverU(const int nRPotID, const int nTrackID) const { return m_vecOverU[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetOverV(const int nRPotID, const int nTrackID) const { return m_vecOverV[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetOverY(const int nRPotID, const int nTrackID) const { return m_vecOverY[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Int_t GetNumU(const int nRPotID, const int nTrackID) const { return m_vecNumU[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Int_t GetNumV(const int nRPotID, const int nTrackID) const { return m_vecNumV[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Int_t GetNumY(const int nRPotID, const int nTrackID) const { return m_vecNumY[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Int_t GetMDFibSel(const int nRPotID, const int nTrackID, const int nLayerID) const { return m_vecMDFibSel[(m_nMaxTrackCnt*MDLAYERSCNT*MDPLATESCNT)*nRPotID+(MDLAYERSCNT*MDPLATESCNT)*nTrackID+nLayerID]; }
-	Int_t GetODFibSel(const int nRPotID, const int nTrackID, const int nLayerID) const { return m_vecODFibSel[(m_nMaxTrackCnt*ODPLATESCNT)*nRPotID+(ODPLATESCNT)*nTrackID+nLayerID]; }
-
-	//LocRecCorrEvCollection & LocRecCorrODEvCollection
-	Float_t GetXLhcCS(const int nRPotID, const int nTrackID) const { return m_vecXLhcCS[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetYLhcCS(const int nRPotID, const int nTrackID) const { return m_vecYLhcCS[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetZLhcCS(const int nRPotID, const int nTrackID) const { return m_vecZLhcCS[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetXRPotCS(const int nRPotID, const int nTrackID) const { return m_vecXRPotCS[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetYRPotCS(const int nRPotID, const int nTrackID) const { return m_vecYRPotCS[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetXStatCS(const int nRPotID, const int nTrackID) const { return m_vecXStatCS[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetYStatCS(const int nRPotID, const int nTrackID) const { return m_vecYStatCS[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetXBeamCS(const int nRPotID, const int nTrackID) const { return m_vecXBeamCS[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-	Float_t GetYBeamCS(const int nRPotID, const int nTrackID) const { return m_vecYBeamCS[m_nMaxTrackCnt*nRPotID+nTrackID]; }
-
-private:
-	//EventInfo
-	UInt_t m_uRunNumber;
-	UInt_t m_uLumiBlockNumber;
-	UInt_t m_uEventNumber;
-	UInt_t m_uTimeStamp;
-	UInt_t m_uTimeStampNs;
-
-	//DCS IDs
-	ULong64_t m_ullDcsBlm;
-	ULong64_t m_ullDcsHVChannel;
-	ULong64_t m_ullDcsLocalMonitoring;
-	ULong64_t m_ullDcsMovement;
-	ULong64_t m_ullDcsRadMon;
-	ULong64_t m_ullDcsTriggerRates;
-	ULong64_t m_ullDcsFEConfiguration;
-	ULong64_t m_ullDcsTriggerSettings;
-
-	//RawDataContainer
-	vector<Int_t> m_vecScaler;//[RPOTSCNT]
-	Int_t m_nBCId;
-	Int_t m_nTimeStp;
-	Int_t m_nTimeStpNs;
-	vector<Int_t> m_vecTrigPat;//[RPOTSCNT][TRIGPATCNT]
-
-	//DigitCollection
-	vector<Int_t> m_vecFiberHitsMD;//[RPOTSCNT][MDLAYERSCNT*MDPLATESCNT][MDFIBERSCNT]
-	vector<Int_t> m_vecMultiplicityMD;//[RPOTSCNT][MDLAYERSCNT*MDPLATESCNT]
-
-	//ODDigitCollection
-	vector<Int_t> m_vecFiberHitsODPos;//[RPOTSCNT][ODPLATESCNT][ODLAYERSCNT*ODFIBERSCNT]
-	vector<Int_t> m_vecFiberHitsODNeg;//[RPOTSCNT][ODPLATESCNT][ODLAYERSCNT*ODFIBERSCNT]
-	vector<Int_t> m_vecMultiplicityODPos;//[RPOTSCNT][ODPLATESCNT]
-	vector<Int_t> m_vecMultiplicityODNeg;//[RPOTSCNT][ODPLATESCNT]
-
-	//LocRecEvCollection & LocRecODEvCollection
-	Int_t m_nMaxTrackCnt;
-	vector<Float_t> m_vecXDetCS;
-	vector<Float_t> m_vecYDetCS;
-	vector<Int_t> m_vecDetectorPartID;
-	vector<Float_t> m_vecOverU;
-	vector<Float_t> m_vecOverV;
-	vector<Float_t> m_vecOverY;
-	vector<Int_t> m_vecNumU;
-	vector<Int_t> m_vecNumV;
-	vector<Int_t> m_vecNumY;
-	vector<Int_t> m_vecMDFibSel;
-	vector<Int_t> m_vecODFibSel;
-
-	//LocRecCorrEvCollection & LocRecCorrODEvCollection
-	vector<Float_t> m_vecXLhcCS;
-	vector<Float_t> m_vecYLhcCS;
-	vector<Float_t> m_vecZLhcCS;
-	vector<Float_t> m_vecXRPotCS;
-	vector<Float_t> m_vecYRPotCS;
-	vector<Float_t> m_vecXStatCS;
-	vector<Float_t> m_vecYStatCS;
-	vector<Float_t> m_vecXBeamCS;
-	vector<Float_t> m_vecYBeamCS;
-
-public:
-	ClassDef(CAlfaEvent,1);
-};
-
-#endif // CALFAEVENT_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/CD3PDHelper.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/CD3PDHelper.cxx
deleted file mode 100644
index 74b9e37fefec622a868a00f247d0fb747503e451..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/CD3PDHelper.cxx
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TList.h"
-#include "TSeqCollection.h"
-//#include "TH1F.h"
-
-#include<list>
-
-class CD3PDHelper
-{
-
-public:
-	static void FilterByDetector(TSeqCollection& Coll, TSeqCollection& FilteredColl, const int nRPid, const int nDetector)
-	{
-		FilteredColl.Clear();
-		TIter iter(&Coll);
-
-		printf("Filter events hiting Detector=%i in RP=%i\r\n",nDetector,nRPid);
-		while(iter.Next()){
-			CTrackingData* pdata=(CTrackingData*)(*iter);
-			if(pdata->HasTrackInDetector(nRPid,nDetector)){
-				FilteredColl.Add(pdata);
-			}
-		}
-	}
-
-	static void FilterByDetectorInRPs(TSeqCollection& Coll, TSeqCollection& FilteredColl, const int arrRPid[], const int nRPcnt, const int nDetector)
-	{
-		bool bRes=true;
-		int i;
-
-		FilteredColl.Clear();
-		TIter iter(&Coll);
-
-		//printf("Filter events hiting Detector=%i.\r\n",nDetector);
-		while(iter.Next()){
-			bRes=true;
-			CTrackingData* pdata=(CTrackingData*)(*iter);
-			for(i=0;i<nRPcnt;i++){
-				bRes&=pdata->HasTrackInDetector(arrRPid[i],nDetector);
-			}
-
-			if(bRes) FilteredColl.Add(pdata);
-		}
-	}
-
-	static void GetDataInDetector(TSeqCollection& Coll, list<float>& DataColl, eDataItem eItem, const int nRPid, const int nDetector)
-	{
-		DataColl.clear();
-		TIter iter(&Coll);
-
-		//printf("Fill data hiting Detector=%i in RP=%i.\r\n",nDetector,nRPid);
-		while(iter.Next()){
-			CTrackingData* pdata=(CTrackingData*)(*iter);
-			pdata->FillDataInDetector(DataColl,eItem,nRPid,nDetector);
-		}
-	}
-
-	static TH1F* CreateHistogram(list<Float_t>& DataColl, const char szName[], const char szTitle[], int nBinCnt=-1, const bool bNormalize=false)
-	{
-		TH1F* pHist;
-		Long64_t nEntries;
-		Float_t fVal;
-		Float_t fMin=9999, fMax=-9999;
-
-		nEntries=DataColl.size();
-		list<Float_t>::iterator iter;
-		for(iter=DataColl.begin();iter!=DataColl.end();iter++)
-		{
-			fVal=(*iter);
-			if(fVal>fMax) fMax=fVal;
-			if(fVal<fMin) fMin=fVal;
-		}
-
-		if(nBinCnt<=0){
-			if(nEntries<=100) nBinCnt=10;
-			else if(nEntries<2500) nBinCnt=(Long64_t)(0.1*nEntries);
-			else nBinCnt=250;
-		}
-
-		pHist=new TH1F(szName,szTitle,nBinCnt,fMin,fMax);
-
-		for(iter=DataColl.begin();iter!=DataColl.end();iter++)
-		{
-			pHist->Fill(*iter);
-		}
-
-		if(bNormalize==true){
-			pHist->Scale(1.0/pHist->Integral());
-		}
-
-		return pHist;
-	}
-
-	static void GEComputeDr(TSeqCollection& DataColl, list<float>& listDr, eGoldenEventsBranch eGEBranch)
-	{
-		const int arrB1RPids[4]={0, 2, 5, 7};
-		const int arrB2RPids[4]={1, 3, 4, 6};
-		const int* pnRPids=(eGEBranch==EGEB_B1)? arrB1RPids:arrB2RPids;
-
-		listDr.clear();
-		TList FDataColl;
-		CAlgHelper::FilterByDetectorInRPs(DataColl, FDataColl, pnRPids, 4, 1);
-
-		list<float> listX2, listY2, listX5, listY5;
-		list<float>::iterator iterX2,iterY2, iterX5, iterY5;
-		CAlgHelper::GetDataInDetector(FDataColl, listX2, EDI_XLHC, (eGEBranch==EGEB_B1)? 2:3, 1);
-		CAlgHelper::GetDataInDetector(FDataColl, listY2, EDI_YLHC, (eGEBranch==EGEB_B1)? 2:3, 1);
-		CAlgHelper::GetDataInDetector(FDataColl, listX5, EDI_XLHC, (eGEBranch==EGEB_B1)? 5:4, 1);
-		CAlgHelper::GetDataInDetector(FDataColl, listY5, EDI_YLHC, (eGEBranch==EGEB_B1)? 5:4, 1);
-
-		//printf("Entries X2: %i\r\n", listX2.size());
-		//printf("Entries Y2: %i\r\n", listY2.size());
-		//printf("Entries X5: %i\r\n", listX5.size());
-		//printf("Entries Y5: %i\r\n", listY5.size());
-
-		int ncnt=listX2.size();
-
-		if(ncnt>0){
-			iterX2=listX2.begin(); iterY2=listY2.begin();
-			iterX5=listX5.begin(); iterY5=listY5.begin();
-			for(int i=0;i<ncnt;i++){
-				listDr.push_back(sqrt(((*iterX2)+(*iterX5))*((*iterX2)+(*iterX5))+((*iterY2)+(*iterY5))*((*iterY2)+(*iterY5))));
-				iterX2++; iterY2++;
-				iterX5++; iterY5++;
-			}
-		}
-	}
-
-	static void ComputeDiffs(TSeqCollection& DataColl, list<float>& listRes, const int nRPid1, const int nRPid2, const int nDetector, eDataItem eItem)
-	{
-		int* pnRPids=new int[2];
-		pnRPids[0]=nRPid1; pnRPids[1]=nRPid2;
-
-		listRes.clear();
-		TList FDataColl;
-		CAlgHelper::FilterByDetectorInRPs(DataColl, FDataColl, pnRPids, 2, nDetector);
-
-		list<float> listX1, listX2;
-		list<float>::iterator iterX1,iterX2;
-		CAlgHelper::GetDataInDetector(FDataColl, listX1, eItem, nRPid1, nDetector);
-		CAlgHelper::GetDataInDetector(FDataColl, listX2, eItem, nRPid1, nDetector);
-
-		int ncnt=listX1.size();
-
-		if(ncnt>0){
-			iterX1=listX1.begin(); iterX2=listX2.begin();
-			for(int i=0;i<ncnt;i++){
-				listRes.push_back((*iterX2)-(*iterX1));
-				iterX1++; iterX2++;
-			}
-		}
-
-		if(pnRPids) delete [] pnRPids;
-	}
-
-	static void ComputeDiffs(TSeqCollection& DataColl1, TSeqCollection& DataColl2, list<float>& listRes, const int nRPid, const int nDetector, eDataItem eItem)
-	{
-		listRes.clear();
-		TList FDataColl1, FDataColl2;
-		CAlgHelper::FilterByDetector(DataColl1, FDataColl1, nRPid, nDetector);
-		CAlgHelper::FilterByDetector(DataColl2, FDataColl2, nRPid, nDetector);
-
-		list<float> listX1, listX2;
-		list<float>::iterator iterX1,iterX2;
-		CAlgHelper::GetDataInDetector(FDataColl1, listX1, eItem, nRPid, nDetector);
-		CAlgHelper::GetDataInDetector(FDataColl2, listX2, eItem, nRPid, nDetector);
-
-		if(listX1.size()!=listX2.size()){
-			printf("Error in difference calculations, different collection size: Cnt1=%i vs. Cnt2=%i\r\n",listX1.size(),listX2.size());
-			return;
-		}
-
-		int ncnt=listX1.size();
-
-		if(ncnt>0){
-			iterX1=listX1.begin(); iterX2=listX2.begin();
-			for(int i=0;i<ncnt;i++){
-				listRes.push_back((*iterX2)-(*iterX1));
-				iterX1++; iterX2++;
-			}
-		}
-	}
-};
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/Constants.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/Constants.h
deleted file mode 100644
index 6c7dfcf46b96139371c15d6c8756794d8b3f1e15..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/Constants.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef CONSTANTS_H
-#define CONSTANTS_H
-
-#define RPOTSCNT 8
-#define MDLAYERSCNT	2
-#define MDPLATESCNT	10
-#define MDFIBERSCNT	64
-#define ODLAYERSCNT	2
-#define ODPLATESCNT	3
-#define ODFIBERSCNT	15
-
-#define TRIGPATCNT 16
-#define BLMCNT 6
-#define HVCHANNELCNT 216
-#define RADMONCNT 4
-#define FECNFTHRESHLOLDCNT 3
-#define FECNFGAINCNT 5
-#define TRIGSETCNT 6
-#define TRIGSETLATENCYCNT 3
-
-#define MAXNUMTRACKS 100
-#define MAXNUMGLOBTRACKS 100
-#define MAXNUMGENPARTICLES 100
-
-#endif // CONSTANTS_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/DictLoader.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/DictLoader.cxx
deleted file mode 100644
index 4931412f970c60b163e84e608850c2a3a3ade04c..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/DictLoader.cxx
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "Constants.h"
-
-// loader for dictionary generator
-#include <vector>
-#include <map>
-//using namespace std;
-
-#include "CAlfaEvent.h"
-
-#ifdef __MAKECINT__
-#pragma link C++ class vector<vector<float> >+;
-#pragma link C++ class vector<vector<int> >+;
-
-#pragma link C++ class map<ULong64_t,DCSBLM>+;
-#pragma link C++ class map<ULong64_t,DCSHVCHANNEL>+;
-#pragma link C++ class map<ULong64_t,DCSLOCALMONITORING>+;
-#pragma link C++ class map<ULong64_t,DCSMOVEMENT>+;
-#pragma link C++ class map<ULong64_t,DCSRADMON>+;
-#pragma link C++ class map<ULong64_t,DCSTRIGGERRATES>+;
-#pragma link C++ class map<ULong64_t,DCSFECONFIGURATION>+;
-#pragma link C++ class map<ULong64_t,DCSTRIGGERSETTINGS>+;
-#endif
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/readd3pd.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/readd3pd.cxx
deleted file mode 100644
index 87fb450c76ec6d1bdb841de073abe800ef9fe9ae..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/ALFA/readd3pd.cxx
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// The "main" function
-
-#include "Constants.h"
-//#include "CAlfaEvent.h"
-
-// ROOT
-#include "TROOT.h"
-#include "TFile.h"
-#include "TList.h"
-
-#include <map>
-//using namespace std;
-
-void readd3pd(const char* szFilename, Long64_t nEventCnt)
-{
-	if(!TClass::GetDict("CAlfaEvent")){
-		printf("Loading CAlfaEvent ...\r\n");
-		gROOT->ProcessLine(".L CAlfaEvent.cxx+");
-	}
-
-	gROOT->ProcessLine(".L DictLoader.cxx+");
-
-	//--- Load DCS data
-	printf("Load DCS data ...\r\n");
-	map<ULong64_t,DCSBLM> mapDcsBlm;
-	map<ULong64_t,DCSHVCHANNEL> mapDcsHVChannel;
-	map<ULong64_t,DCSLOCALMONITORING> mapDcsLocalMonitoring;
-	map<ULong64_t,DCSMOVEMENT> mapDcsMovement;
-	map<ULong64_t,DCSRADMON> mapDcsRadMon;
-	map<ULong64_t,DCSTRIGGERRATES> mapDcsTriggerRates;
-	map<ULong64_t,DCSFECONFIGURATION> mapDcsFEConfiguration;
-	map<ULong64_t,DCSTRIGGERSETTINGS> mapDcsTriggerSettings;
-
-	//Specify paths
-	CAlfaEvent::SetNTuplePaths("MinBiasTree","MinBiasTreeMeta");
-
-	CAlfaEvent::FillDcsBlmMap(szFilename, mapDcsBlm);
-	CAlfaEvent::FillDcsHVChannelMap(szFilename, mapDcsHVChannel);
-	CAlfaEvent::FillDcsLocalMonitoringMap(szFilename, mapDcsLocalMonitoring);
-	CAlfaEvent::FillDcsMovementMap(szFilename, mapDcsMovement);
-	CAlfaEvent::FillDcsRadMonMap(szFilename, mapDcsRadMon);
-	CAlfaEvent::FillDcsTriggerRatesMap(szFilename, mapDcsTriggerRates);
-	CAlfaEvent::FillDcsFEConfigurationMap(szFilename, mapDcsFEConfiguration);
-	CAlfaEvent::FillDcsTriggerSettingsMap(szFilename, mapDcsTriggerSettings);
-
-	printf("Number of BLM records=%i\r\n",mapDcsBlm.size());
-	printf("Number of HVCHANNEL records=%i\r\n",mapDcsHVChannel.size());
-	printf("Number of LOCALMONITORING records=%i\r\n",mapDcsLocalMonitoring.size());
-	printf("Number of MOVEMENT records=%i\r\n",mapDcsMovement.size());
-	printf("Number of RADMON records=%i\r\n",mapDcsRadMon.size());
-	printf("Number of TRIGGERRATE records=%i\r\n",mapDcsTriggerRates.size());
-	printf("Number of FECONFIGURATION records=%i\r\n",mapDcsFEConfiguration.size());
-	printf("Number of TRIGGERSETTINGS records=%i\r\n",mapDcsTriggerSettings.size());
-	printf("... done.\r\n");
-
-	//--- Check if all events are properly linked to all DCS data
-	printf("\r\nCheck DCS data ...\r\n");
-	bool bRes=CAlfaEvent::CheckDcsLink(szFilename, nEventCnt);
-	printf("Check status: %s\r\n",bRes? "success":"failure");
-	printf("... done.\r\n");
-
-	//--- Read single entry and print out
-	printf("\r\nRead single entry ...\r\n");
-	Long64_t nEventEntry=5;
-	CAlfaEvent* pEventData=CAlfaEvent::GetEntry(szFilename, nEventEntry);
-    if(pEventData!=NULL)
-    {
-		//print event's info
-		pEventData->PrintEventHeader();
-		//pEventData->PrintTrackingData();
-
-		printf("Event #%i: LVDT(A7L1U)=%.3f mm\r\n",pEventData->GetEventNumber(), mapDcsMovement[pEventData->GetDcsMovementID()].arrLVDT[2]);
-    }
-	printf("... done.\r\n");
-
-	//--- Load all data into TList in one step
-	/*
-	printf("\r\nLoad all data ...\r\n");
-    Long64_t nEventCntRead=0;
-    TList listAlfaData;
-	nEventCntRead=CAlfaEvent::LoadEvents(szFilename, listAlfaData, nEventCnt);
-	printf("Number of loaded events: %i\r\n", nEventCntRead);*/
-
-    gROOT->Reset();
-}
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/FilterD3PD.C b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/FilterD3PD.C
deleted file mode 100644
index 0d634eae89d050ee3bf190e73e2f73d224142f0e..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/macros/FilterD3PD.C
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include <iomanip>
-#include <iostream>
-#include <vector>
-#include <TTree.h>
-#include <TFile.h>
-#include <cmath>
-
-bool FilterEvent(unsigned int LBNStart, unsigned int LBNEnd, bool MBTSCut, bool vertexCut, double MBTSTimeCut);
-bool JetFilterEvent(double jetEtMinGeV);
-bool MuonFilterEvent(double jetEtMinGeV);
-
-UInt_t           EventNumber;
-Int_t           vx_n;
-UInt_t          lbn;
-std::vector<unsigned int> *trig_L1_TAV;
-
-Float_t         mbtime_timeDiff;
-Float_t         mbtime_timeA;
-Float_t         mbtime_timeC;
-Int_t           mbtime_countA;
-Int_t           mbtime_countC;
-
-Int_t           antikt4HI_TowerJets_n;
-vector<float>   *antikt4HI_TowerJets_E;
-vector<float>   *antikt4HI_TowerJets_pt;
-vector<float>   *antikt4HI_TowerJets_m;
-vector<float>   *antikt4HI_TowerJets_eta;
-vector<float>   *antikt4HI_TowerJets_phi;
-
-Int_t           mu_staco_n;
-vector<float>   *mu_staco_E;
-vector<float>   *mu_staco_pt;
-vector<float>   *mu_staco_m;
-vector<float>   *mu_staco_eta;
-vector<float>   *mu_staco_phi;
-
-//  Branches
-//
-TBranch        *b_EventNumber;   
-TBranch        *b_lbn;   
-TBranch        *b_vx_n;
-TBranch        *b_trig_L1_TAV; 
-
-TBranch        *b_mbtime_timeDiff;
-TBranch        *b_mbtime_timeA;   
-TBranch        *b_mbtime_timeC;   
-TBranch        *b_mbtime_countA;  
-TBranch        *b_mbtime_countC;  
-
-TBranch        *b_antikt4HI_TowerJets_n; 
-TBranch        *b_antikt4HI_TowerJets_E; 
-TBranch        *b_antikt4HI_TowerJets_pt;
-TBranch        *b_antikt4HI_TowerJets_m;
-TBranch        *b_antikt4HI_TowerJets_eta;
-TBranch        *b_antikt4HI_TowerJets_phi;
-
-TBranch        *b_mu_staco_n;
-TBranch        *b_mu_staco_E;
-TBranch        *b_mu_staco_pt;
-TBranch        *b_mu_staco_m;
-TBranch        *b_mu_staco_eta;
-TBranch        *b_mu_staco_phi;
-
-// The main filter routine
-// 
-void FilterD3PD(const char* inputFile, int LBNStart, int LBNEnd, bool MBTSCut, bool vertexCut, double MBTSTimeCut,
-		bool writeMinBias, const char* outputFile, bool doJetFiltering = false, 
-		const char* outJetFile = 0, double jetEtMinGeV = 100,
-		bool doMuonFiltering = false, const char* outMuonFile = 0, double muonPtMinGeV = 20)
-{
-
-  TFile inputTFile(inputFile);
-  if (!inputTFile.IsOpen()) {
-    std::cout << "Error opening input file, quitting" << std::endl;
-    return;
-  }
-
-  TTree* inputTree_p = (TTree*) inputTFile.GetObjectChecked("HeavyIonD3PD", "TTree");
-  if (inputTree_p == 0) {
-    std::cout << "Error reading tree from opening input file, quitting" << std::endl;
-    return;
-  }
-
-  std::cout << std::endl;
-  std::cout << "Running filter on %s" << inputFile << " LB range " 
-	    << LBNStart << " " << LBNEnd << std::endl;
-  std::cout << "Output to %s" << outputFile << std::endl;
-  std::cout << "MBTSCut " << MBTSCut << " time cut " << MBTSTimeCut 
-	    << " vertexCut " << vertexCut << std::endl;
-  std::cout << std::endl;
-
-  //  Set branch addresses for data we need
-  //
-  trig_L1_TAV = 0;
-
-  inputTree_p->SetBranchAddress("EventNumber", &EventNumber, &b_EventNumber);
-  inputTree_p->SetBranchAddress("lbn", &lbn, &b_lbn);
-  inputTree_p->SetBranchAddress("vx_n", &vx_n, &b_vx_n);
-  inputTree_p->SetBranchAddress("trig_L1_TAV", &trig_L1_TAV, &b_trig_L1_TAV);
-  inputTree_p->SetBranchAddress("mbtime_timeDiff", &mbtime_timeDiff, &b_mbtime_timeDiff);
-  inputTree_p->SetBranchAddress("mbtime_timeA", &mbtime_timeA, &b_mbtime_timeA);
-  inputTree_p->SetBranchAddress("mbtime_timeC", &mbtime_timeC, &b_mbtime_timeC);
-  inputTree_p->SetBranchAddress("mbtime_countA", &mbtime_countA, &b_mbtime_countA);
-  inputTree_p->SetBranchAddress("mbtime_countC", &mbtime_countC, &b_mbtime_countC);
-
-  // Make sure we open the output file before cloning so output tree has oplace to write data.
-  //
-  TFile* outMinBiasTFile_p = 0;
-  TTree* minBiasTree_p = 0;
-
-  if (writeMinBias) {
-    outMinBiasTFile_p = new TFile(outputFile, "recreate");
-    if (!outMinBiasTFile_p->IsOpen()) {
-      std::cout << "Error opening output file, quitting" << std::endl;
-      return;
-    }
-
-    //  Now clone the input tree
-    //
-    minBiasTree_p = (TTree*) inputTree_p->CloneTree(0);
-  }
-
-  TFile* outJetTFile_p = 0;
-  TTree* jetCloneTree_p = 0;
-  if (doJetFiltering) {
-    outJetTFile_p = new TFile(outJetFile, "recreate");
-    if (!outJetTFile_p->IsOpen()) {
-      std::cout << "Error opening output jet file, quitting" << std::endl;
-      return;
-    }
-    
-    jetCloneTree_p = (TTree*) inputTree_p->CloneTree(0);
-
-    antikt4HI_TowerJets_E = 0;
-    antikt4HI_TowerJets_pt = 0;
-    antikt4HI_TowerJets_m = 0;
-    antikt4HI_TowerJets_eta = 0;
-    antikt4HI_TowerJets_phi = 0;
-
-    inputTree_p->SetBranchAddress("antikt4HI_TowerJets_n", &antikt4HI_TowerJets_n, &b_antikt4HI_TowerJets_n);
-    inputTree_p->SetBranchAddress("antikt4HI_TowerJets_E", &antikt4HI_TowerJets_E, &b_antikt4HI_TowerJets_E);
-    inputTree_p->SetBranchAddress("antikt4HI_TowerJets_pt", &antikt4HI_TowerJets_pt, &b_antikt4HI_TowerJets_pt);
-    inputTree_p->SetBranchAddress("antikt4HI_TowerJets_m", &antikt4HI_TowerJets_m, &b_antikt4HI_TowerJets_m);
-    inputTree_p->SetBranchAddress("antikt4HI_TowerJets_eta", &antikt4HI_TowerJets_eta, &b_antikt4HI_TowerJets_eta);
-    inputTree_p->SetBranchAddress("antikt4HI_TowerJets_phi", &antikt4HI_TowerJets_phi, &b_antikt4HI_TowerJets_phi);
-  }
-
-  TFile* outMuonTFile_p = 0;
-  TTree* muonCloneTree_p = 0;
-  if (doMuonFiltering) {
-    outMuonTFile_p = new TFile(outMuonFile, "recreate");
-    if (!outMuonTFile_p->IsOpen()) {
-      std::cout << "Error opening output muon file, quitting" << std::endl;
-      return;
-    }
-
-    muonCloneTree_p = (TTree*) inputTree_p->CloneTree(0);
-
-    mu_staco_E = 0;
-    mu_staco_pt = 0;
-    mu_staco_m = 0;
-    mu_staco_eta = 0;
-    mu_staco_phi = 0;
-
-    inputTree_p->SetBranchAddress("mu_staco_n", &mu_staco_n, &b_mu_staco_n);
-    inputTree_p->SetBranchAddress("mu_staco_E", &mu_staco_E, &b_mu_staco_E);
-    inputTree_p->SetBranchAddress("mu_staco_pt", &mu_staco_pt, &b_mu_staco_pt);
-//    inputTree_p->SetBranchAddress("mu_staco_m", &mu_staco_m, &b_mu_staco_m);
-    inputTree_p->SetBranchAddress("mu_staco_eta", &mu_staco_eta, &b_mu_staco_eta);
-    inputTree_p->SetBranchAddress("mu_staco_phi", &mu_staco_phi, &b_mu_staco_phi);
-  }
-
-  //std::cout << "Processing " << inputFile << std::endl;
-
-  // Now loop and perform the filling after cuts
-  //
-  int numEntries = inputTree_p->GetEntries();
-  int numJetEvents = 0;
-  int numMuonEvents = 0;
-  int numCopied = 0;
-  int numPassLBN = 0;
-  int numPassMinBias = 0;
-
-  for (int iEntry = 0; iEntry < numEntries; iEntry++) {
-    int nbytes = inputTree_p->GetEntry(iEntry);
-    if (nbytes <= 0) {
-      std::cout << "Error reading entry " << iEntry << " From tree, skipping" << std::endl;
-      continue;
-    }
-
-    if(!(iEntry%1000)) 
-      std::cout << "checking event " << iEntry << std::endl;
-
-    if (!((lbn < LBNStart) || (lbn > LBNEnd))) 
-      numPassLBN++;
-
-    // Test the filter
-    //
-    if (FilterEvent(LBNStart, LBNEnd, MBTSCut, vertexCut, MBTSTimeCut)) {
-      numPassMinBias++;
-
-      if (writeMinBias) {
-	//std::cout << "Filling new tree for event " << iEntry << std::endl;
-	minBiasTree_p->Fill();
-	numCopied++;
-      }
-
-      if (doJetFiltering) {
-	if (JetFilterEvent(jetEtMinGeV)) {
-	  numJetEvents++;
-	  jetCloneTree_p->Fill();
-	}
-      }
-
-      if (doMuonFiltering) {
-	if (MuonFilterEvent(muonPtMinGeV)) {
-	  numMuonEvents++;
-	  muonCloneTree_p->Fill();
-	}
-      }
-    }
-  }
-
-    std::cout << "All entries " << numEntries << " Passed after LBN cuts: " << numPassLBN << std::endl;
-    std::cout << " Passed min-bias cuts: " << numPassMinBias << " , fraction =  " << ((float) numPassMinBias)/((float)numEntries) << std::endl;
-    std::cout << " Copied " << numCopied << " minimum bias Events, fraction =  " << ((float) numCopied)/((float)numEntries) << std::endl;
-    std::cout << " Copied " << numJetEvents << " Jet Events " << std::endl;
-    std::cout << " Copied " << numMuonEvents << " Muon Events " << std::endl;
-
-  //  minBiasTree_p->Print();
-  if (writeMinBias)  {
-    if (numCopied > 0) minBiasTree_p->AutoSave();
-    outMinBiasTFile_p->Close();
-  }
-
-  if (doJetFiltering) {
-    if  (numJetEvents > 0) jetCloneTree_p->AutoSave();
-    outJetTFile_p->Close();
-  }
-
-  if (doMuonFiltering) {
-    if  (numMuonEvents > 0) muonCloneTree_p->AutoSave();
-    outMuonTFile_p->Close();
-  }
-}
-
-bool FilterEvent(unsigned int LBNStart, unsigned int LBNEnd, bool MBTSCut, bool vertexCut, double MBTSTimeCut)
-{
-
-  if ((lbn < LBNStart) || (lbn > LBNEnd)) return false;
-
-  if (MBTSCut) {
-
-    bool passMBTS = (( (*trig_L1_TAV)[7]&0x10) == 0);
-    bool passZDCAND = (((*trig_L1_TAV)[5]&0x20000000) != 0);
-    bool passTE50 = (((*trig_L1_TAV)[4]&0x400) != 0);
-    bool passLucid = (((*trig_L1_TAV)[6]&400000) != 0);
-
-    if (!passMBTS && !passZDCAND && !passTE50 && !passLucid) return false;
-    if (mbtime_timeA == 0) return false;
-    if (mbtime_timeC == 0) return false;
-    if (fabs(mbtime_timeA - mbtime_timeC) > MBTSTimeCut) return false;
-  }
-
-  if (vertexCut) {
-    if (vx_n < 2) return false;
-  }
-
-  return true;
-}
-
-bool JetFilterEvent(double jetEtMinGeV)
-{
-  for (int ijet = 0; ijet < antikt4HI_TowerJets_n; ijet++) {
-    double eta = (*antikt4HI_TowerJets_eta)[ijet];
-    double et = (*antikt4HI_TowerJets_E)[ijet]/1000 / std::cosh(eta);
-
-    if (et > jetEtMinGeV) {
-      std::cout << "Found jet in event " << EventNumber << ", lbn = " << lbn << ", et = " << std::setprecision(5) << std::setw(7) << et 
-		<< ", " << std::setprecision(5) << std::setw(7) << eta << ", " << std::setprecision(5) << std::setw(7) 
-		<< (*antikt4HI_TowerJets_phi)[ijet]/1000 << std::endl;
-      return true;
-    }
-  }
-
-  return false;
-}
-
-bool MuonFilterEvent(double muonPtMinGeV)
-{
-  for (int imuon = 0; imuon < mu_staco_n; imuon++) {
-    double eta = (*mu_staco_eta)[imuon];
-    double pt = (*mu_staco_pt)[imuon]/1000;
-
-    if (pt > muonPtMinGeV) {
-      std::cout << "Found muon in event " << EventNumber << ", lbn = " << lbn << ", pt = " << std::setprecision(5) << std::setw(7) << pt
-		<< ", " << std::setprecision(5) << std::setw(7) << eta << ", " << std::setprecision(5) << std::setw(7) 
-		<< (*mu_staco_phi)[imuon] << std::endl;
-      return true;
-    }
-  }
-
-  return false;
-}
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AfpD3PDObjects.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AfpD3PDObjects.py
deleted file mode 100644
index ef81c44b3e89283a4d377f89a963aa7b6977aa37..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AfpD3PDObjects.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-from D3PDMakerCoreComps.D3PDObject import make_SG_D3PDObject
-import ForwardDetectorsD3PDMaker
-
-AfpSIDSimHitD3PDObject=make_SG_D3PDObject("AtlasHitsVector<AFP_SIDSimHit>","AFP_SIDSimHitCollection","afp_sidsim_", "AfpSIDSimHitD3PDObject" )
-AfpSIDSimHitD3PDObject.defineBlock(0, 'AFP_SIDSimHitCollection', ForwardDetectorsD3PDMaker.AfpSIDSimHitCollectionFillerTool)
-
-AfpTDSimHitD3PDObject=make_SG_D3PDObject("AtlasHitsVector<AFP_TDSimHit>","AFP_TDSimHitCollection","afp_tdsim_", "AfpTDSimHitD3PDObject" )
-AfpTDSimHitD3PDObject.defineBlock(0, 'AFP_TDSimHitCollection', ForwardDetectorsD3PDMaker.AfpTDSimHitCollectionFillerTool)
-
-AfpSIDDigiD3PDObject=make_SG_D3PDObject("AtlasHitsVector<AFP_SiDigi>","AFP_SiDigiCollection","afp_siddigi_", "AfpSIDDigiD3PDObject" )
-AfpSIDDigiD3PDObject.defineBlock(0, 'AFP_SiDigiCollection', ForwardDetectorsD3PDMaker.AfpSIDDigiCollectionFillerTool)
-
-AfpTDDigiD3PDObject=make_SG_D3PDObject("AtlasHitsVector<AFP_TDDigi>","AFP_TDDigiCollection","afp_tddigi_", "AfpTDDigiD3PDObject" )
-AfpTDDigiD3PDObject.defineBlock(0, 'AFP_TDDigiCollection', ForwardDetectorsD3PDMaker.AfpTDDigiCollectionFillerTool)
-
-AfpSIDLocRecoEvD3PDObject=make_SG_D3PDObject("AFP_SIDLocRecoEvCollection","AFP_SIDLocRecoEvCollection","afp_sidreco_", "AfpSIDLocRecoEvD3PDObject" )
-AfpSIDLocRecoEvD3PDObject.defineBlock(0, 'AFP_SIDLocRecoEvCollection', ForwardDetectorsD3PDMaker.AfpSIDLocRecoEvCollectionFillerTool)
-
-AfpTDLocRecoEvD3PDObject=make_SG_D3PDObject("AFP_TDLocRecoEvCollection","AFP_TDLocRecoEvCollection","afp_tdreco_", "AfpTDLocRecoEvD3PDObject" )
-AfpTDLocRecoEvD3PDObject.defineBlock(0, 'AFP_TDLocRecoEvCollection', ForwardDetectorsD3PDMaker.AfpTDLocRecoEvCollectionFillerTool)
-
-AfpTruthInfoD3PDObjectTE = make_SG_D3PDObject( "McEventCollection", "TruthEvent", "afpmc_", "AfpTruthInfoD3PDObject" )
-AfpTruthInfoD3PDObjectTE.defineBlock(0, 'AFP_McEventCollection', ForwardDetectorsD3PDMaker.AfpTruthInfoFillerTool )
-
-AfpTruthInfoD3PDObjectAOD = make_SG_D3PDObject( "McEventCollection", "GEN_AOD", "afpmc_", "AfpTruthInfoD3PDObject" )
-AfpTruthInfoD3PDObjectAOD.defineBlock(0, 'AFP_McEventCollection', ForwardDetectorsD3PDMaker.AfpTruthInfoFillerTool )
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AlfaD3PDObject.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AlfaD3PDObject.py
deleted file mode 100644
index d983464f6179349801efbf498b8a59607f29709c..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AlfaD3PDObject.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-from   D3PDMakerCoreComps.D3PDObject import make_SG_D3PDObject
-import ForwardDetectorsD3PDMaker
-
-AlfaD3PDObject = make_SG_D3PDObject( "ALFA_CLinkEvent",	"ALFA_CLinkEvent", "alfa_", "AlfaD3PDObject" )
-AlfaD3PDObject.defineBlock( 0, 'ALFA_CLinkEvent_EH', ForwardDetectorsD3PDMaker.AlfaEventHeaderFillerTool )
-AlfaD3PDObject.defineBlock( 0, 'ALFA_CLinkEvent_TD', ForwardDetectorsD3PDMaker.AlfaTrackingDataFillerTool )
-
-AlfaSimHitD3PDObject=make_SG_D3PDObject("AtlasHitsVector<ALFA_Hit>","ALFA_HitCollection","alfa_simhit_", "AlfaSimHitD3PDObject" )
-AlfaSimHitD3PDObject.defineBlock(0, 'ALFA_HitCollection', ForwardDetectorsD3PDMaker.AlfaHitCollectionFillerTool)
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AlfaDCSMetadata.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AlfaDCSMetadata.py
deleted file mode 100644
index 1fc70c7e08b401acb43504ffca476eb019241b7b..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AlfaDCSMetadata.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-
-def addAlfaDcsMetadata( d3pdalg = None ):
-
-	"""Helper function that adds the necessary tool(s) and service(s) to the
-	   job to save the trigger configuration metadata to the output D3PD
-	   file.
-
-		Arguments:
-		  d3pdalg: The D3PD::MakerAlg that is creating the D3PD. If not specified,
-				   the configuration is saved in a file called TrigConfig.root
-	"""
-
-	# Create a logger for the function:
-	if "logger" in dir(): orig_logger = logger
-	from AthenaCommon.Logging import logging
-	logger = logging.getLogger( "addAlfaDcsMetadata" )
-
-	# Let the user know what we're doing:
-	logger.info( "Adding ALFA DCS metadata to the D3PD" )
-
-	# The tool needs a special D3PDSvc in which the indexing is turned off
-	# for the TTree-s:
-	_d3pdSvcName = "AlfaDcsD3PDSvc"
-	from AthenaCommon.AppMgr import ServiceMgr
-	if not hasattr( ServiceMgr, _d3pdSvcName ):
-		from D3PDMakerRoot.D3PDMakerRootConf import D3PD__RootD3PDSvc
-		ServiceMgr += D3PD__RootD3PDSvc( _d3pdSvcName )
-		ServiceMgr.AlfaDcsD3PDSvc.MasterTree = ""
-		ServiceMgr.AlfaDcsD3PDSvc.IndexMajor = ""
-	else:
-		logger.info( "The private D3PDSvc for the metadata TTree already exists" )
-	_d3pdSvc = getattr( ServiceMgr, _d3pdSvcName )
-
-	# If no D3PD::MakerAlg has been provided, create a dummy one:
-	if d3pdalg == None:
-		logger.warning( "No D3PD MakerAlg given to function!" )
-		logger.warning( "The DCS data will be saved into file: " + "\"AlfaDCS.root\"" )
-		from AthenaCommon.AlgSequence import AlgSequence
-		theJob = AlgSequence()
-		import D3PDMakerCoreComps
-		d3pdalg = D3PDMakerCoreComps.MakerAlg( "AlfaDCSAlg", theJob, file = "AlfaDCS.root", D3PDSvc = _d3pdSvc )
-
-	# Add the metadata tool:
-	_d3pdToolName = "AlfaMetaDataTool"
-	if not _d3pdToolName in [ t.name() for t in d3pdalg.MetadataTools ]:
-		import ForwardDetectorsD3PDMaker
-		d3pdalg.MetadataTools += [
-			ForwardDetectorsD3PDMaker.AlfaMetaDataTool( _d3pdToolName, D3PDSvc = _d3pdSvc, MetaDataDir=d3pdalg.TuplePath+"Meta")
-			]
-	else:
-		logger.info( "AlfaMetaDataTool was already added to the D3PD::MakerAlg" )
-
-	# Restore the original logger if necessary:
-	if "orig_logger" in dir(): logger = orig_logger
-
-	return
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AlfaTruthInfoD3PDObject.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AlfaTruthInfoD3PDObject.py
deleted file mode 100644
index 251a7a9c8827d1d8c16acb46f587249d944104de..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/AlfaTruthInfoD3PDObject.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-from   D3PDMakerCoreComps.D3PDObject import make_SG_D3PDObject
-import ForwardDetectorsD3PDMaker
-
-AlfaTruthInfoD3PDObject = make_SG_D3PDObject( "McEventCollection",	"TruthEvent", "alfamc_", "AlfaTruthInfoD3PDObject" )
-
-AlfaTruthInfoD3PDObject.defineBlock( 0, 'ALFA_McEventCollection', ForwardDetectorsD3PDMaker.AlfaTruthInfoFillerTool )
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ForwardDetectorsD3PDMakerFlags.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ForwardDetectorsD3PDMakerFlags.py
deleted file mode 100644
index 03a9acba74f9ac52df3b69f763a8d7103f80dbbf..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ForwardDetectorsD3PDMakerFlags.py
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-# @file: ForwardDetectorsD3PDMakerFlags.py
-# @purpose: a container of flags for Forward Detectors D3PD maker variables
-# @author: Marco Leite <leite@cern.ch>
-# Based on Heavy Ions MakerFlags from Andrzej Olszewski
-
-"""
-     A container of flags for Forward Detectors D3PD maker
-
-"""
-#
-#
-__author__  = 'Marco Leite'
-__version__ = "$Revision: 470583 $"
-__doc__     = "A container of flags for Forward Detectors D3PD maker"
-
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-
-class FileName(JobProperty):
-    """
-        Filename of ForwardDetectors D3PD file
-    """
-    statusOn=False
-    allowedTypes=['str']
-    StoredValue="ForwardDetectorsD3PD.root"
-
-class Content(JobProperty):
-    """
-        Switch to change content
-    """
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "full"
-
-class reReco(JobProperty):
-    """
-        Run D3PD maker with rereconstruction (on ESD)
-    """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class DoSkimming(JobProperty):
-    """
-        Switch to turn on/off skimming
-    """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class DoTrigger(JobProperty):
-    """
-        Add trigger components
-    """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class DoTruth(JobProperty):
-    """
-        Add truth components
-    """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class DoHijingPars(JobProperty):
-    """
-        Add Hijing event params
-    """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-# Defines the container for heavy ion d3pd maker flags
-class ForwardDetectorsMakerFlags(JobPropertyContainer):
-    """
-        The Forward Detectors maker flag/job property container.
-    """
-    pass
-
-# add the flags container to the top container
-jobproperties.add_Container(ForwardDetectorsD3PDMakerFlags)
-
-
-# We want always the following flags in the container
-list_jobproperties = [
-    FileName,
-    Content,
-    reReco,
-    DoSkimming,
-    DoTrigger,
-    DoTruth,
-    DoHijingPars
-    ]
-
-for i in list_jobproperties:
-    jobproperties.ForwardDetectorsMakerFlags.add_JobProperty(i)
-
-## module clean-up
-del list_jobproperties
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ZdcD3PDObject.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ZdcD3PDObject.py
deleted file mode 100644
index 2cf970f40bc93444f9e3d1f5d1002f96a772e177..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ZdcD3PDObject.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-# $Id: ZdcD3PDObject.py 470583 2011-11-25 10:33:45Z krasznaa $
-
-from   D3PDMakerCoreComps.D3PDObject import make_SGDataVector_D3PDObject
-import ForwardDetectorsD3PDMaker
-
-ZdcD3PDObject = make_SGDataVector_D3PDObject( "ZdcRawChannelCollection",
-                                              "ZdcRawChannelCollection",
-                                              "Zdc_",
-                                              "ZdcD3PDObject" )
-
-ZdcD3PDObject.defineBlock( 0, 'ZdcRawChannel',
-                           ForwardDetectorsD3PDMaker.ZdcFillerTool )
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ZdcDigitsD3PDObject.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ZdcDigitsD3PDObject.py
deleted file mode 100644
index 475a49e63aef9ff5bce64254f9623673eeaee8e9..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ZdcDigitsD3PDObject.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-# $Id: ZdcDigitsD3PDObject.py 470583 2011-11-25 10:33:45Z krasznaa $
-
-from   D3PDMakerCoreComps.D3PDObject import make_SGDataVector_D3PDObject
-import ForwardDetectorsD3PDMaker
-
-
-ZdcDigitsD3PDObject = make_SGDataVector_D3PDObject( "ZdcDigitsCollection",
-                                                    "ZdcDigitsCollection",
-                                                    "ZdcDigits_",
-                                                    "ZdcDigitsD3PDObject" )
-
-ZdcDigitsD3PDObject.defineBlock( 0,'ZdcDigits',
-                                 ForwardDetectorsD3PDMaker.ZdcDigitsFillerTool )
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ZdcRecoD3PDObject.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ZdcRecoD3PDObject.py
deleted file mode 100644
index 7f83b49d68e085d9fca90357bfe5fdb7010089b8..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/ZdcRecoD3PDObject.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-# $Id: ZdcRecoD3PDObject.py 538891 2013-02-25 04:56:06Z leite $
-
-from   D3PDMakerCoreComps.D3PDObject import make_SG_D3PDObject
-import ForwardDetectorsD3PDMaker
-
-ZdcRecoD3PDObject = make_SG_D3PDObject( "ZdcDigitsCollection",
-                                        "ZdcDigitsCollection",
-                                        "ZdcReco_",
-                                        "ZdcRecoD3PDObject" )
-
-ZdcRecoD3PDObject.defineBlock( 0, 'ZdcDigitsCollection',
-                               ForwardDetectorsD3PDMaker.ZdcRecoFillerTool )
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/__init__.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/__init__.py
deleted file mode 100644
index f6fb7a709be9c4c52198e88c182265e8375d558b..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/python/__init__.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-# $Id: __init__.py 470583 2011-11-25 10:33:45Z krasznaa $
-
-import ForwardDetectorsD3PDMakerConf
-for k, v in ForwardDetectorsD3PDMakerConf.__dict__.items():
-    if k.startswith ('D3PD__'):
-        globals()[k[6:]] = v
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/AfpD3PDMaker_jobOption.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/AfpD3PDMaker_jobOption.py
deleted file mode 100644
index 08ecd0f07f6b4af5470fbed0c7fd849c79e6b5c5..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/AfpD3PDMaker_jobOption.py
+++ /dev/null
@@ -1,72 +0,0 @@
-InputRootCollection = 'rootfile_AfpData.root'
-OutputRootFile      = 'rootfile_Afp.D3PD.root'
-
-from GaudiKernel.GaudiHandles import *
-from GaudiKernel.Proxy.Configurable import *
-import AthenaPoolCnvSvc.ReadAthenaPool
-from AthenaCommon.AppMgr import ServiceMgr
-from AthenaCommon.AppMgr import ToolSvc
-
-ServiceMgr.EventSelector.InputCollections += [InputRootCollection]
-theApp.EvtMax = -1
-ServiceMgr.EventSelector.SkipEvents = 0
-
-IOVDbSvc = Service( "IOVDbSvc" )
-
-from IOVDbSvc.CondDB import conddb
-####for other possible servers see dbreplica.config in Athena installation directory
-#IOVDbSvc.dbConnection="oracle://ATLAS_COOLPROD;schema=ATLAS_COOLOFL_DCS;dbname=COMP200"
-
-###################################################################################################
-# Load Global Flags and set defaults (import the new jobProperty globalflags)
-###################################################################################################
-from AthenaCommon.GlobalFlags import globalflags
-from AthenaCommon.BeamFlags import jobproperties
-globalflags.DetGeo = 'atlas'
-globalflags.InputFormat = 'pool'
-#globalflags.DetDescrVersion = DetDescrVersion
-#globalflags.DataSource  = 'data' # 'geant4'#
-
-globalflags.print_JobProperties()
-
-## Load algorithm to TopSequence
-#
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-
-###################################################################################################
-#D3PD maker setup
-###################################################################################################
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-from   D3PDMakerCoreComps.D3PDObject import D3PDObject
-from EventCommonD3PDMaker.EventInfoD3PDObject import EventInfoD3PDObject
-from OutputStreamAthenaPool.MultipleStreamManager import MSMgr
-
-from ForwardDetectorsD3PDMaker.AfpD3PDObjects import AfpSIDSimHitD3PDObject
-from ForwardDetectorsD3PDMaker.AfpD3PDObjects import AfpTDSimHitD3PDObject
-from ForwardDetectorsD3PDMaker.AfpD3PDObjects import AfpSIDDigiD3PDObject
-from ForwardDetectorsD3PDMaker.AfpD3PDObjects import AfpTDDigiD3PDObject
-from ForwardDetectorsD3PDMaker.AfpD3PDObjects import AfpSIDLocRecoEvD3PDObject
-from ForwardDetectorsD3PDMaker.AfpD3PDObjects import AfpTDLocRecoEvD3PDObject
-from ForwardDetectorsD3PDMaker.AfpD3PDObjects import AfpTruthInfoD3PDObject
-
-alg = MSMgr.NewRootStream( "AfpD3PD", OutputRootFile, "AfpD3PDTree" )
-alg += EventInfoD3PDObject(10)
-alg += AfpSIDSimHitD3PDObject(0)
-alg += AfpTDSimHitD3PDObject(0)
-alg += AfpSIDDigiD3PDObject(0)
-alg += AfpTDDigiD3PDObject(0)
-alg += AfpSIDLocRecoEvD3PDObject(0)
-alg += AfpTDLocRecoEvD3PDObject(0)
-alg += AfpTruthInfoD3PDObject(0)
-
-#--------------------------------------------------------------
-# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL )
-MessageSvc = Service( "MessageSvc" )
-MessageSvc.OutputLevel = 3
-MessageSvc.defaultLimit = 9999999
-
-ClassIDSvc = Service( "ClassIDSvc" )
-ClassIDSvc.OutputLevel = 2
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/AlfaD3PDMaker_jobOption.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/AlfaD3PDMaker_jobOption.py
deleted file mode 100644
index 9a86343570875fd8835355997bafa392c8478560..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/AlfaD3PDMaker_jobOption.py
+++ /dev/null
@@ -1,103 +0,0 @@
-
-InputRootCollection = 'rootfile_AlfaData.root'
-OutputRootFile      = 'rootfile_Alfa.D3PD.root'
-
-from GaudiKernel.GaudiHandles import *
-from GaudiKernel.Proxy.Configurable import *
-import AthenaPoolCnvSvc.ReadAthenaPool
-from AthenaCommon.AppMgr import ServiceMgr
-from AthenaCommon.AppMgr import ToolSvc
-from AthenaCommon.GlobalFlags import globalflags
-
-ServiceMgr.EventSelector.InputCollections += [InputRootCollection]
-theApp.EvtMax = -1
-ServiceMgr.EventSelector.SkipEvents = 0
-
-###################################################################################################
-# Load Global Flags and set defaults (import the new jobProperty globalflags)
-###################################################################################################
-#from AthenaCommon.GlobalFlags import globalflags
-from AthenaCommon.BeamFlags import jobproperties
-globalflags.DetGeo = 'atlas'
-globalflags.InputFormat = 'pool'
-#globalflags.DetDescrVersion = DetDescrVersion
-globalflags.DataSource  = 'data' # 'geant4'#
-
-globalflags.print_JobProperties()
-
-
-
-if globalflags.DataSource == "data":
-    #--------------------------------------------------------------
-	IOVDbSvc = Service( "IOVDbSvc" )
-	from IOVDbSvc.CondDB import conddb
-
-	if not conddb.folderRequested('/RPO/DCS/BLM'):
-		conddb.addFolder("DCS_OFL","/RPO/DCS/BLM")
-	if not conddb.folderRequested('/RPO/DCS/FECONFIGURATION'):
-		conddb.addFolder("DCS_OFL","/RPO/DCS/FECONFIGURATION")
-	if not conddb.folderRequested('/RPO/DCS/HVCHANNEL'):
-		conddb.addFolder("DCS_OFL","/RPO/DCS/HVCHANNEL")
-	if not conddb.folderRequested('/RPO/DCS/LOCALMONITORING'):
-		conddb.addFolder("DCS_OFL","/RPO/DCS/LOCALMONITORING")
-	if not conddb.folderRequested('/RPO/DCS/MOVEMENT'):
-		conddb.addFolder("DCS_OFL","/RPO/DCS/MOVEMENT")
-	if not conddb.folderRequested('/RPO/DCS/RADMON'):
-		conddb.addFolder("DCS_OFL","/RPO/DCS/RADMON")
-	if not conddb.folderRequested('/RPO/DCS/TRIGGERRATES'):
-		conddb.addFolder("DCS_OFL","/RPO/DCS/TRIGGERRATES")
-	if not conddb.folderRequested('/RPO/DCS/TRIGGERSETTINGS'):
-		conddb.addFolder("DCS_OFL","/RPO/DCS/TRIGGERSETTINGS")
-
-    ####for other possible servers see dbreplica.config in Athena installation directory
-	#IOVDbSvc.dbConnection="oracle://ATLAS_COOLPROD;schema=ATLAS_COOLOFL_DCS;dbname=COMP200"
-	#IOVDbSvc.Folders += ["/RPO/DCS/BLM"]
-	#IOVDbSvc.Folders += ["/RPO/DCS/FECONFIGURATION"]
-	#IOVDbSvc.Folders += ["/RPO/DCS/HVCHANNEL"]
-	#IOVDbSvc.Folders += ["/RPO/DCS/LOCALMONITORING"]
-	#IOVDbSvc.Folders += ["/RPO/DCS/MOVEMENT"]
-	#IOVDbSvc.Folders += ["/RPO/DCS/RADMON"]
-	#IOVDbSvc.Folders += ["/RPO/DCS/TRIGGERRATES"]
-	#IOVDbSvc.Folders += ["/RPO/DCS/TRIGGERSETTINGS"]
-
-## Load algorithm to TopSequence
-#
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-
-###################################################################################################
-#D3PD maker setup
-###################################################################################################
-
-## D3PD Maker
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-from EventCommonD3PDMaker.EventInfoD3PDObject import EventInfoD3PDObject
-from OutputStreamAthenaPool.MultipleStreamManager import MSMgr
-
-from ForwardDetectorsD3PDMaker.AlfaD3PDObject import AlfaD3PDObject
-alg = MSMgr.NewRootStream( "AlfaD3PD", OutputRootFile , "AlfaD3PDTree" )
-alg += EventInfoD3PDObject(10)
-alg += AlfaD3PDObject(0)
-
-from ForwardDetectorsD3PDMaker import AlfaEventHeaderFillerTool
-if globalflags.DataSource == "data":
-	from ForwardDetectorsD3PDMaker.AlfaDCSMetadata import addAlfaDcsMetadata
-	AlfaEventHeaderFillerTool.DataType = 1
-	addAlfaDcsMetadata(alg)
-elif globalflags.DataSource == "geant4":
-	from ForwardDetectorsD3PDMaker.AlfaTruthInfoD3PDObject import AlfaTruthInfoD3PDObject
-	AlfaEventHeaderFillerTool.DataType = 0
-	alg += AlfaTruthInfoD3PDObject(0)
-
-
-#--------------------------------------------------------------
-# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL )
-MessageSvc = Service( "MessageSvc" )
-MessageSvc.OutputLevel = 5
-MessageSvc.defaultLimit = 9999999
-
-ClassIDSvc = Service( "ClassIDSvc" )
-ClassIDSvc.OutputLevel = 5
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ForwardDetectorsD3PDMaker_configure.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ForwardDetectorsD3PDMaker_configure.py
deleted file mode 100644
index d66e7213f7faaad1df45edf39e227eda9b84dbb8..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ForwardDetectorsD3PDMaker_configure.py
+++ /dev/null
@@ -1,23 +0,0 @@
-from RecExConfig.RecFlags import rec
-rec.doESD=True
-rec.doAOD=False
-rec.doCBNT=False
-rec.doWriteESD=False
-rec.doWriteAOD=False
-rec.doWriteTAG=False
-
-rec.doForwardDetectors = True
-
-from ForwardDetectorsD3PDMaker.ForwardDetectorsD3PDMakerFlags import jobproperties
-if jobproperties.ForwardDetectorsD3PDMakerFlags.reReco():
-  rec.doESD.set_Value_and_Lock(True)
-  rec.doWriteESD.set_Value_and_Lock(True)
-
-
-from ForwardDetectorsD3PDMaker.ForwardDetectorsD3PDMakerFlags import jobproperties
-if jobproperties.ForwardDetectorsD3PDMakerFlags.reReco():
-  rec.doESD.set_Value_and_Lock(True)
-
-  #from InDetRecExample.InDetJobProperties import InDetFlags
-  #InDetFlags.disableInDetReco.set_Value_and_Lock(False)
-  #InDetFlags.doHeavyIon.set_Value_and_Lock(True)
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ForwardDetectorsD3PDMaker_jobOptions.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ForwardDetectorsD3PDMaker_jobOptions.py
deleted file mode 100644
index e90914b683d287502285df03f3cf72cf2ca746f7..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ForwardDetectorsD3PDMaker_jobOptions.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# attention, if you change D3PD content here
-# modify also python/ForwardDetectorsD3PD.py accordingly
-
-# Output names
-from AthenaCommon.GlobalFlags import jobproperties
-jobproperties.AthenaCommonFlags.PoolAODOutput = "%s.aod.pool.root" % outfile
-jobproperties.AthenaCommonFlags.PoolESDOutput = "%s.esd.pool.root" % outfile
-jobproperties.Rec.RootNtupleOutput            = "%s.cbnt.root" % outfile
-
-include ("RecExCond/RecExCommon_flags.py")
-include ("RecExCommon/RecExCommon_topOptions.py")
-
-tuple_name = "%s.D3PD.root" % outfile
-from ForwardDetectorsD3PDMaker.ForwardDetectorsD3PDMakerFlags import jobproperties
-if jobproperties.ForwardDetectorsD3PDMakerFlags.FileName.statusOn:
-  tuple_name = jobproperties.ForwardDetectorsD3PDMakerFlags.FileName()
-  pass
-
-# Create the D3PD stream:
-from OutputStreamAthenaPool.MultipleStreamManager import MSMgr
-alg = MSMgr.NewRootStream( "ForwardDetectorsD3PD", tuple_name )
-
-##Event Info
-from EventCommonD3PDMaker.EventInfoD3PDObject import EventInfoD3PDObject
-alg += EventInfoD3PDObject( 10 )
-
-##ZDC
-##Energy and time information
-from ForwardDetectorsD3PDMaker.ZdcD3PDObject import ZdcD3PDObject
-from ForwardDetectorsD3PDMaker.ZdcDigitsD3PDObject import ZdcDigitsD3PDObject
-if globalflags.DataSource == "data":
-    alg += ZdcD3PDObject( 10 )
-    alg += ZdcDigitsD3PDObject( 10 )
-    pass
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ForwardDetectorsD3PDMaker_topOptions.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ForwardDetectorsD3PDMaker_topOptions.py
deleted file mode 100644
index 2def76cd3c8ed1eff9cea673a88e033c16d2bf2c..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ForwardDetectorsD3PDMaker_topOptions.py
+++ /dev/null
@@ -1,19 +0,0 @@
-from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
-#This needs another file for Forward Detectors !
-#athenaCommonFlags.FilesInput=['root://castoratlas//castor/cern.ch/grid/atlas/atlasgroupdisk/phys-hi/dq2/mc09_7TeV/RDO/e511_s780_s767_d313/mc09_7TeV.208801.Hijing_PbPb_2p75TeV_MinBias.digit.RDO.e511_s780_s767_d313_tid144736_00/RDO.144736._000001.pool.root.1']
-athenaCommonFlags.FilesInput=['root://castoratlas//castor/cern.ch/grid/atlas/atlasgroupdisk/phys-hi/dq2/group10/phys-hi/mc09_7TeV/group10.phys-hi.mc09_7TeV.208801.Hijing_PbPb_2p75TeV_MinBias_tid144736_00_r15.6.9.13p3_r1/group10.phys-hi.mc09_7TeV.208801.Hijing_PbPb_2p75TeV_MinBias_tid144736_00_r15.6.9.13p3_r1.EXT0._00001.ESD.pool.root']
-
-
-
-athenaCommonFlags.EvtMax=2
-
-outfile="test"
-
-MessageSvc = Service( "MessageSvc" )
-MessageSvc.OutputLevel =5
-
-include("ForwardDetectorsD3PDMaker/ForwardDetectorsD3PDMaker_configure.py")
-
-include("RecExCommon/RecExCommon_topOptions.py")
-
-include("ForwardDetectorsD3PDMaker/ForwardDetectorsD3PDMaker_jobOptions.py")
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ZdcD3PDMaker_jobOption.py b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ZdcD3PDMaker_jobOption.py
deleted file mode 100644
index aa927f793e9813da25309cb3a41e4f6c1dfc1344..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/share/ZdcD3PDMaker_jobOption.py
+++ /dev/null
@@ -1,142 +0,0 @@
-"""
-@package   ZdcD3PDMaker_jobOption.py
-@author    Marco Leite <leite@cern.ch>
-
-         August 2010
-
-
-        This is an example of a minimum job option file for creating a D3PD with ZDC information.
-        Included here are the event info only. For other systems inclusion see the D3PD maker tree
-        on ATLAS offline svn (PhysicsAnalysis/D3PDMaker).
-
-        The ZdcD3PDMaker is part of the ForwardDetectorsD3PDMaker
-
-
-        This started in HeavyIonD3PDMaker  in 15.6.9 Athena Release, now it's part of
-        ForwardDetectorsD3PDMaker (Rel 17.0.0)
-"""
-
-
-doMC = False
-DoReconstruction = False
-DoTruth = False
-
-from GaudiKernel.GaudiHandles import *
-from GaudiKernel.Proxy.Configurable import *
-
-import AthenaPoolCnvSvc.ReadAthenaPool
-
-from AthenaCommon.AppMgr import ServiceMgr
-from AthenaCommon.AppMgr import ToolSvc
-
-ServiceMgr.MessageSvc.defaultLimit  = 9999999
-outFileName = 'ZdcD3PD.root'
-
-if doMC:
-   DoTruth = True
-
-###################################################################################################
-# Load Global Flags and set defaults (import the new jobProperty globalflags)
-###################################################################################################
-
-DetDescrVersion = 'ATLAS-GEO-16-00-01'
-
-from AthenaCommon.GlobalFlags import globalflags
-from AthenaCommon.BeamFlags import jobproperties
-globalflags.DetGeo = 'atlas'
-globalflags.InputFormat = 'pool'
-globalflags.DetDescrVersion = DetDescrVersion
-globalflags.DataSource  = 'data' # 'geant4'#
-#if doMC:
-#   globalflags.DataSource  = 'geant4'
-#jobproperties.Beam.beamType = 'collisions' # 'cosmics' # 'singlebeam' #
-#if globalflags.DataSource != 'geant4':
-#   DoTruth = False
-#else:
-#   globalflags.ConditionsTag = 'OFLCOND-SIM-BS7T-02'
-
-globalflags.print_JobProperties()
-
-# --- conditions tag
-
-#if len(globalflags.ConditionsTag())!=0:
-#   from IOVDbSvc.CondDB import conddb
-#   conddb.setGlobalTag(globalflags.ConditionsTag())
-
-# --- default is zero luminosity
-#import AthenaCommon.SystemOfUnits as Units
-#jobproperties.Beam.beamType           = 'collisions'
-
-from AthenaCommon.BFieldFlags import jobproperties
-jobproperties.BField.solenoidOn=True
-
-
-
-## Initialize the geometry
-#  Necessary for the ZdcCabling Service
-#
-from AtlasGeoModel import SetGeometryVersion
-from AtlasGeoModel import GeoModelInit
-
-## Load algorithm to TopSequence
-#
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-
-###################################################################################################
-#D3PD maker setup
-###################################################################################################
-
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-
-from   D3PDMakerCoreComps.D3PDObject import D3PDObject
-
-## Event Info
-#
-from EventCommonD3PDMaker.EventInfoD3PDObject import EventInfoD3PDObject
-##ZDC object
-#
-from ForwardDetectorsD3PDMaker.ZdcD3PDObject import ZdcD3PDObject
-from ForwardDetectorsD3PDMaker.ZdcDigitsD3PDObject import ZdcDigitsD3PDObject
-
-## MBTS object
-#
-from CaloD3PDMaker.MBTSD3PDObject import MBTSD3PDObject
-from CaloD3PDMaker.MBTSTimeD3PDObject import MBTSTimeD3PDObject
-from TrigMbD3PDMaker.MbtsContainerD3PDObject import MbtsContainerD3PDObject
-
-## D3PD Maker
-from OutputStreamAthenaPool.MultipleStreamManager import MSMgr
-alg = MSMgr.NewRootStream( "ZdcD3PD", tuple_name, "ZdcTree" )
-
-alg += EventInfoD3PDObject (10)
-alg += ZdcD3PDObject(0)
-alg += ZdcDigitsD3PDObject(0)
-
-alg += MBTSD3PDObject (10)
-##Aggregate timing, time differences and counts
-alg += MBTSTimeD3PDObject (10)
-
-
-#Trigger
-#not D3PD branch filler, adds trigger metadata to output D3PD file
-from TriggerD3PDMaker.TrigConfMetadata import addTrigConfMetadata
-addTrigConfMetadata(alg)
-#raw info on what trig decision was made and at what level
-from TriggerD3PDMaker.TrigDecisionD3PDObject import TrigDecisionD3PDObject
-from TriggerD3PDMaker.BGCodeD3PDObject  import BGCodeD3PDObject
-alg += TrigDecisionD3PDObject(10)
-alg += BGCodeD3PDObject (10)
-
-###################################################################################################
-#ESD file for test. This will be kept on zdc castor area
-###################################################################################################
-
-ServiceMgr.EventSelector.InputCollections += \
-["root://castoratlas//castor/cern.ch/atlas/atlascerngroupdisk/det-zdc/TestData/ESD.307459._000004.pool.root.1"]
-
-theApp.EvtMax = -1
-ServiceMgr.EventSelector.SkipEvents = 0
-
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpCommonHdr.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpCommonHdr.h
deleted file mode 100644
index 4e33ec4ed5ed068a70ff2599842ccd068bf257b8..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpCommonHdr.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FORWARDDETECTORSD3PDMAKER_AFPCOMMONHDR_H
-#define FORWARDDETECTORSD3PDMAKER_AFPCOMMONHDR_H
-
-// STL include(s):
-#include <vector>
-#include <string>
-#include <algorithm>
-
-// EDM include(s):
-#include "GeneratorObjects/McEventCollection.h"
-
-// D3PDMaker include(s):
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-#define EVCOLLNAME_SIDDIGI "AFP_SiDigiCollection"
-#define EVCOLLNAME_TDDIGI "AFP_TDDigiCollection"
-#define EVCOLLNAME_SIDSIMHIT "AFP_SIDSimHitCollection"
-
-#define UNDEFFLOATVALUE (-9999.0)
-#define UNDEFINTVALUE (-1)
-
-#define AFP_STATIONSCNT 4
-#define AFP_SID_LAYERSCNT 6
-
-#define MAXPILEUP 500
-
-namespace D3PD
-{
-    enum eSIDCountingLevel { ESCL_STATION, ESCL_LAYER, ESCL_PIXEL };
-}
-
-#endif // FORWARDDETECTORSD3PDMAKER_AFPCOMMONHDR_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDDigiCollectionFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDDigiCollectionFillerTool.cxx
deleted file mode 100644
index c8fe27db34e61450840a3460ec36e98c58487974..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDDigiCollectionFillerTool.cxx
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// Local include(s):
-#include "AfpSIDDigiCollectionFillerTool.h"
-
-namespace D3PD {
-
-    AfpSIDDigiCollectionFillerTool::AfpSIDDigiCollectionFillerTool( const std::string& type, const std::string& name, const IInterface* parent)
-        : AfpSIDDigiCollectionFillerBase( type, name, parent )
-    {
-        ATH_MSG_INFO( "AfpSIDDigiCollectionFillerTool---> Constructor" );
-
-        //items per hit pixels
-        m_pnTotPixelsCnt=NULL;
-        m_pvecPixStationIDs=NULL;
-        m_pvecPixLayerIDs=NULL;
-        m_pvecPixRow=NULL;
-        m_pvecPixColumn=NULL;
-        m_pvecPixEAmp=NULL;
-
-        //items per hit layers
-        m_pnTotLayersCnt=NULL;
-        m_pvecLarStationIDs=NULL;
-        m_pvecLarLayerIDs=NULL;
-        m_pvecLarHitsPerLayer=NULL;
-        m_pvecLarEAmpPerLayer=NULL;
-
-        //items per hit stations
-        m_pnTotStationsCnt=NULL;
-        m_pvecStaStationIDs=NULL;
-        m_pvecStaHitsPerStation=NULL;
-        m_pvecStaEAmpPerStation=NULL;
-    }
-
-    StatusCode AfpSIDDigiCollectionFillerTool::initialize()
-    {
-        // Initialize the base class:
-        CHECK( AfpSIDDigiCollectionFillerBase::initialize() );
-        ATH_MSG_INFO( "AfpSIDDigiCollectionFillerTool---> Initialized" );
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AfpSIDDigiCollectionFillerTool::book()
-    {
-        ATH_MSG_DEBUG( "AfpSIDDigiCollectionFillerTool---> Booking Histograms" );
-
-        //items per hit pixels
-        CHECK(addVariable("pixel_tot_num",m_pnTotPixelsCnt));
-        CHECK(addVariable("pixel_stID",m_pvecPixStationIDs));
-        CHECK(addVariable("pixel_layerID",m_pvecPixLayerIDs));
-        CHECK(addVariable("pixel_row",m_pvecPixRow));
-        CHECK(addVariable("pixel_col",m_pvecPixColumn));
-        CHECK(addVariable("pixel_E",m_pvecPixEAmp));
-
-        //items per hit layers
-        CHECK(addVariable("layer_tot_num",m_pnTotLayersCnt));
-        CHECK(addVariable("layer_stID",m_pvecLarStationIDs));
-        CHECK(addVariable("layer_layerID",m_pvecLarLayerIDs));
-        CHECK(addVariable("layer_npix",m_pvecLarHitsPerLayer));
-        CHECK(addVariable("layer_Etot",m_pvecLarEAmpPerLayer));
-
-        //items per hit stations
-        CHECK(addVariable("stat_tot_num",m_pnTotStationsCnt));
-        CHECK(addVariable("stat_stID",m_pvecStaStationIDs));
-        CHECK(addVariable("stat_npix",m_pvecStaHitsPerStation));
-        CHECK(addVariable("stat_Etot",m_pvecStaEAmpPerStation));
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AfpSIDDigiCollectionFillerTool::fill(const AFP_SiDigiCollection& DataCollection)
-    {
-        int i,j,k;
-        int arrHitsPerLayer[AFP_STATIONSCNT*AFP_SID_LAYERSCNT];
-        int arrHitsPerStation[AFP_STATIONSCNT];
-        float arrEAmpPerLayer[AFP_STATIONSCNT*AFP_SID_LAYERSCNT];
-        float arrEAmpPerStation[AFP_STATIONSCNT];
-        AFP_SiDigiCollection::const_iterator iterColl;
-
-        ClearData(DataCollection);
-
-        memset(&arrHitsPerLayer[0],0,sizeof(arrHitsPerLayer));
-        memset(&arrHitsPerStation[0],0,sizeof(arrHitsPerStation));
-        memset(&arrEAmpPerLayer[0],0,sizeof(arrEAmpPerLayer));
-        memset(&arrEAmpPerStation[0],0,sizeof(arrEAmpPerStation));
-
-        *m_pnTotPixelsCnt=GetNumOfItems(DataCollection,ESCL_PIXEL);
-        *m_pnTotLayersCnt=GetNumOfItems(DataCollection,ESCL_LAYER);
-        *m_pnTotStationsCnt=GetNumOfItems(DataCollection,ESCL_STATION);
-
-        for(i=0,iterColl=DataCollection.begin();iterColl!=DataCollection.end();i++,iterColl++)
-        {
-            //items per hit pixels
-            (*m_pvecPixStationIDs)[i]=iterColl->m_nStationID;
-            (*m_pvecPixLayerIDs)[i]=iterColl->m_nDetectorID;
-            (*m_pvecPixRow)[i]=iterColl->m_nPixelRow;
-            (*m_pvecPixColumn)[i]=iterColl->m_nPixelCol;
-            (*m_pvecPixEAmp)[i]=iterColl->m_fADC;
-
-            //items per hit layers
-            if(iterColl->m_nStationID>=0 && iterColl->m_nStationID<AFP_STATIONSCNT &&
-               iterColl->m_nDetectorID>=0 && iterColl->m_nDetectorID<AFP_SID_LAYERSCNT)
-            {
-                arrHitsPerLayer[AFP_SID_LAYERSCNT*(iterColl->m_nStationID)+iterColl->m_nDetectorID]++;
-                arrEAmpPerLayer[AFP_SID_LAYERSCNT*(iterColl->m_nStationID)+iterColl->m_nDetectorID]+=iterColl->m_fADC;
-            }
-
-            //items per hit stations
-            if(iterColl->m_nStationID>=0 && iterColl->m_nStationID<AFP_STATIONSCNT)
-            {
-                arrHitsPerStation[iterColl->m_nStationID]++;
-                arrEAmpPerStation[iterColl->m_nStationID]+=iterColl->m_fADC;
-            }
-        }
-
-        //items per hit layers
-        k=0;
-        for(i=0;i<AFP_STATIONSCNT;i++)
-        {
-            for(j=0;j<AFP_SID_LAYERSCNT;j++)
-            {
-                if(arrHitsPerLayer[i*AFP_SID_LAYERSCNT+j]>0)
-                {
-                    (*m_pvecLarStationIDs)[k]=i;
-                    (*m_pvecLarLayerIDs)[k]=j;
-                    (*m_pvecLarHitsPerLayer)[k]=arrHitsPerLayer[i*AFP_SID_LAYERSCNT+j];
-                    (*m_pvecLarEAmpPerLayer)[k]=arrEAmpPerLayer[i*AFP_SID_LAYERSCNT+j];
-                    k++;
-                }
-            }
-        }
-        if(k!=(*m_pnTotLayersCnt))
-        {
-            CHECK(StatusCode::FAILURE);
-        }
-
-        //items per hit layers
-        k=0;
-        for(i=0;i<AFP_STATIONSCNT;i++)
-        {
-            if(arrHitsPerStation[i]>0)
-            {
-                (*m_pvecStaStationIDs)[k]=i;
-                (*m_pvecStaHitsPerStation)[k]=arrHitsPerStation[i];
-                (*m_pvecStaEAmpPerStation)[k]=arrEAmpPerStation[i];
-                k++;
-            }
-        }
-        if(k!=(*m_pnTotStationsCnt))
-        {
-            CHECK(StatusCode::FAILURE);
-        }
-
-        return StatusCode::SUCCESS;
-    }
-
-    void AfpSIDDigiCollectionFillerTool::ClearData(const AFP_SiDigiCollection& DataCollection)
-    {
-        int nItemsCnt;
-
-        //items per hit pixels
-        nItemsCnt=GetNumOfItems(DataCollection,ESCL_PIXEL);
-        *m_pnTotPixelsCnt=-1;
-        m_pvecPixStationIDs->resize(nItemsCnt);
-        fill_n(m_pvecPixStationIDs->begin(),m_pvecPixStationIDs->size(),-1);
-        m_pvecPixLayerIDs->resize(nItemsCnt);
-        fill_n(m_pvecPixLayerIDs->begin(),m_pvecPixLayerIDs->size(),-1);
-        m_pvecPixRow->resize(nItemsCnt);
-        fill_n(m_pvecPixRow->begin(),m_pvecPixRow->size(),-1);
-        m_pvecPixColumn->resize(nItemsCnt);
-        fill_n(m_pvecPixColumn->begin(),m_pvecPixColumn->size(),-1);
-        m_pvecPixEAmp->resize(nItemsCnt);
-        fill_n(m_pvecPixEAmp->begin(),m_pvecPixEAmp->size(),-1.0);
-
-        //items per hit layers
-        nItemsCnt=GetNumOfItems(DataCollection,ESCL_LAYER);
-        *m_pnTotLayersCnt=-1;
-        m_pvecLarStationIDs->resize(nItemsCnt);
-        fill_n(m_pvecLarStationIDs->begin(),m_pvecLarStationIDs->size(),-1);
-        m_pvecLarLayerIDs->resize(nItemsCnt);
-        fill_n(m_pvecLarLayerIDs->begin(),m_pvecLarLayerIDs->size(),-1);
-        m_pvecLarHitsPerLayer->resize(nItemsCnt);
-        fill_n(m_pvecLarHitsPerLayer->begin(),m_pvecLarHitsPerLayer->size(),-1);
-        m_pvecLarEAmpPerLayer->resize(nItemsCnt);
-        fill_n(m_pvecLarEAmpPerLayer->begin(),m_pvecLarEAmpPerLayer->size(),-1.0);
-
-        //items per hit stations
-        nItemsCnt=GetNumOfItems(DataCollection,ESCL_STATION);
-        *m_pnTotStationsCnt=-1;
-        m_pvecStaStationIDs->resize(nItemsCnt);
-        fill_n(m_pvecStaStationIDs->begin(),m_pvecStaStationIDs->size(),-1);
-        m_pvecStaHitsPerStation->resize(nItemsCnt);
-        fill_n(m_pvecStaHitsPerStation->begin(),m_pvecStaHitsPerStation->size(),-1);
-        m_pvecStaEAmpPerStation->resize(nItemsCnt);
-        fill_n(m_pvecStaEAmpPerStation->begin(),m_pvecStaEAmpPerStation->size(),-1);
-    }
-
-    int AfpSIDDigiCollectionFillerTool::GetNumOfItems(const AFP_SiDigiCollection& DataCollection, const enum eSIDCountingLevel eCntLevel)
-    {
-        int i,nItemCnt=0;
-        AFP_SiDigiCollection::const_iterator iterColl;
-        int arrHitsPerLayer[AFP_STATIONSCNT*AFP_SID_LAYERSCNT];
-        int arrHitsPerStation[AFP_STATIONSCNT];
-
-        switch(eCntLevel)
-        {
-        case ESCL_PIXEL:
-            nItemCnt=DataCollection.size();
-            break;
-        case ESCL_LAYER:
-            memset(&arrHitsPerLayer[0],0,sizeof(arrHitsPerLayer));
-            for(iterColl=DataCollection.begin();iterColl!=DataCollection.end();iterColl++)
-            {
-                if(iterColl->m_nStationID>=0 && iterColl->m_nStationID<AFP_STATIONSCNT &&
-                   iterColl->m_nDetectorID>=0 && iterColl->m_nDetectorID<AFP_SID_LAYERSCNT)
-                {
-                    arrHitsPerLayer[AFP_SID_LAYERSCNT*(iterColl->m_nStationID)+iterColl->m_nDetectorID]++;
-                }
-            }
-
-            for(i=0;i<AFP_STATIONSCNT*AFP_SID_LAYERSCNT;i++)
-            {
-                if(arrHitsPerLayer[i]>0) nItemCnt++;
-            }
-            break;
-        case ESCL_STATION:
-            memset(&arrHitsPerStation[0],0,sizeof(arrHitsPerStation));
-            for(iterColl=DataCollection.begin();iterColl!=DataCollection.end();iterColl++)
-            {
-                if(iterColl->m_nStationID>=0 && iterColl->m_nStationID<AFP_STATIONSCNT)
-                {
-                    arrHitsPerStation[iterColl->m_nStationID]++;
-                }
-            }
-
-            for(i=0;i<AFP_STATIONSCNT;i++)
-            {
-                if(arrHitsPerStation[i]>0) nItemCnt++;
-            }
-            break;
-        default:
-            nItemCnt=0;
-            break;
-
-        }
-
-        return nItemCnt;
-    }
-
-
-} // namespace D3PD
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDDigiCollectionFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDDigiCollectionFillerTool.h
deleted file mode 100644
index d26a8be7cc4610a2c733062d1b9407bb316c1c29..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDDigiCollectionFillerTool.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FORWARDDETECTORSD3PDMAKER_AFPSIDDIGICOLLECTIONFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_AFPSIDDIGICOLLECTIONFILLERTOOL_H
-
-#include "AfpCommonHdr.h"
-#include "AFP_DigiEv/AFP_SiDigiCollection.h"
-
-namespace D3PD
-{
-    typedef D3PD::BlockFillerTool<AFP_SiDigiCollection> AfpSIDDigiCollectionFillerBase;
-
-    class AfpSIDDigiCollectionFillerTool : public AfpSIDDigiCollectionFillerBase
-    {
-
-    public:
-        AfpSIDDigiCollectionFillerTool( const std::string& type, const std::string& name, const IInterface* parent );
-
-        virtual StatusCode initialize();
-        virtual StatusCode book();
-        virtual StatusCode fill(const AFP_SiDigiCollection& DataCollection);
-
-    private:
-        int GetNumOfItems(const AFP_SiDigiCollection& DataCollection, const enum eSIDCountingLevel eCntLevel);
-        void ClearData(const AFP_SiDigiCollection& DataCollection);
-
-    private:
-        //items per hit pixels
-        int* m_pnTotPixelsCnt;
-        std::vector<int>* m_pvecPixStationIDs;
-        std::vector<int>* m_pvecPixLayerIDs;
-        std::vector<int>* m_pvecPixRow;
-        std::vector<int>* m_pvecPixColumn;
-        std::vector<float>* m_pvecPixEAmp;
-
-        //items per hit layers
-        int* m_pnTotLayersCnt;
-        std::vector<int>* m_pvecLarStationIDs;
-        std::vector<int>* m_pvecLarLayerIDs;
-        std::vector<int>* m_pvecLarHitsPerLayer;
-        std::vector<float>* m_pvecLarEAmpPerLayer;
-
-        //items per hit stations
-        int* m_pnTotStationsCnt;
-        std::vector<int>* m_pvecStaStationIDs;
-        std::vector<int>* m_pvecStaHitsPerStation;
-        std::vector<float>* m_pvecStaEAmpPerStation;
-    };
-}
-
-#endif // FORWARDDETECTORSD3PDMAKER_AFPSIDDIGICOLLECTIONFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDLocRecoEvCollectionFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDLocRecoEvCollectionFillerTool.cxx
deleted file mode 100644
index 9026a817980a1088b2e60a8b813bc2f7bf367e05..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDLocRecoEvCollectionFillerTool.cxx
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// Local include(s):
-#include "AfpSIDLocRecoEvCollectionFillerTool.h"
-
-namespace D3PD {
-
-    AfpSIDLocRecoEvCollectionFillerTool::AfpSIDLocRecoEvCollectionFillerTool( const std::string& type, const std::string& name, const IInterface* parent)
-        : AfpSIDLocRecoEvCollectionFillerBase( type, name, parent )
-    {
-        ATH_MSG_INFO( "AfpSIDLocRecoEvCollectionFillerTool---> Constructor" );
-
-        m_pnTotTracksCnt=NULL;
-        m_pvecTrackStationID=NULL;
-        m_pvecTrackXPos=NULL;
-        m_pvecTrackYPos=NULL;
-        m_pvecTrackZPos=NULL;
-        m_pvecTrackXSlope=NULL;
-        m_pvecTrackYSlope=NULL;
-        m_pvecTrackUsedPixels=NULL;
-        m_pvecTrackHoles=NULL;
-        m_pvecTrackQuality=NULL;
-    }
-
-    StatusCode AfpSIDLocRecoEvCollectionFillerTool::initialize()
-    {
-        // Initialize the base class:
-        CHECK( AfpSIDLocRecoEvCollectionFillerBase::initialize() );
-        ATH_MSG_INFO( "AfpSIDLocRecoEvCollectionFillerTool---> Initialized" );
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AfpSIDLocRecoEvCollectionFillerTool::book()
-    {
-        ATH_MSG_DEBUG( "AfpSIDLocRecoEvCollectionFillerTool---> Booking Histograms" );
-
-        CHECK(addVariable("trk_tot_num_tracks",m_pnTotTracksCnt));
-        CHECK(addVariable("trk_stID",m_pvecTrackStationID));
-        CHECK(addVariable("trk_x",m_pvecTrackXPos));
-        CHECK(addVariable("trk_y",m_pvecTrackYPos));
-        CHECK(addVariable("trk_z",m_pvecTrackZPos));
-        CHECK(addVariable("trk_xslope",m_pvecTrackXSlope));
-        CHECK(addVariable("trk_yslope",m_pvecTrackYSlope));
-        CHECK(addVariable("trk_npix",m_pvecTrackUsedPixels));
-        CHECK(addVariable("trk_nholes",m_pvecTrackHoles));
-        CHECK(addVariable("trk_quality",m_pvecTrackQuality));
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AfpSIDLocRecoEvCollectionFillerTool::fill(const AFP_SIDLocRecoEvCollection& DataCollection)
-    {
-        int i;
-        AFP_SIDLocRecoEvCollection::const_iterator iterColl;
-
-        ClearData(DataCollection);
-
-        *m_pnTotTracksCnt=DataCollection.size();
-        for(i=0,iterColl=DataCollection.begin();iterColl!=DataCollection.end();i++,iterColl++)
-        {
-            (*m_pvecTrackStationID)[i]=(*iterColl)->getStationID();
-            (*m_pvecTrackXPos)[i]=(*iterColl)->getXposition();
-            (*m_pvecTrackYPos)[i]=(*iterColl)->getYposition();
-            (*m_pvecTrackZPos)[i]=(*iterColl)->getZposition();
-            (*m_pvecTrackXSlope)[i]=(*iterColl)->getXslope();
-            (*m_pvecTrackYSlope)[i]=(*iterColl)->getYslope();
-            (*m_pvecTrackUsedPixels)[i]=(*iterColl)->getNHits();
-            (*m_pvecTrackHoles)[i]=(*iterColl)->getNHoles();
-            (*m_pvecTrackQuality)[i]=(*iterColl)->getChi2();
-        }
-
-        return StatusCode::SUCCESS;
-    }
-
-    void AfpSIDLocRecoEvCollectionFillerTool::ClearData(const AFP_SIDLocRecoEvCollection& DataCollection)
-    {
-        int nItemsCnt;
-
-        nItemsCnt=DataCollection.size();
-        *m_pnTotTracksCnt=-1;
-        m_pvecTrackStationID->resize(nItemsCnt);
-        fill_n(m_pvecTrackStationID->begin(),m_pvecTrackStationID->size(),-1);
-        m_pvecTrackXPos->resize(nItemsCnt);
-        fill_n(m_pvecTrackXPos->begin(),m_pvecTrackXPos->size(),UNDEFFLOATVALUE);
-        m_pvecTrackYPos->resize(nItemsCnt);
-        fill_n(m_pvecTrackYPos->begin(),m_pvecTrackYPos->size(),UNDEFFLOATVALUE);
-        m_pvecTrackZPos->resize(nItemsCnt);
-        fill_n(m_pvecTrackZPos->begin(),m_pvecTrackZPos->size(),UNDEFFLOATVALUE);
-        m_pvecTrackXSlope->resize(nItemsCnt);
-        fill_n(m_pvecTrackXSlope->begin(),m_pvecTrackXSlope->size(),UNDEFFLOATVALUE);
-        m_pvecTrackYSlope->resize(nItemsCnt);
-        fill_n(m_pvecTrackYSlope->begin(),m_pvecTrackYSlope->size(),UNDEFFLOATVALUE);
-        m_pvecTrackUsedPixels->resize(nItemsCnt);
-        fill_n(m_pvecTrackUsedPixels->begin(),m_pvecTrackUsedPixels->size(),-1);
-        m_pvecTrackHoles->resize(nItemsCnt);
-        fill_n(m_pvecTrackHoles->begin(),m_pvecTrackHoles->size(),-1);
-        m_pvecTrackQuality->resize(nItemsCnt);
-        fill_n(m_pvecTrackQuality->begin(),m_pvecTrackQuality->size(),UNDEFFLOATVALUE);
-    }
-
-} // namespace D3PD
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDLocRecoEvCollectionFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDLocRecoEvCollectionFillerTool.h
deleted file mode 100644
index 44b59dfed85265d4829893000dacae2dab14ea41..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDLocRecoEvCollectionFillerTool.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FORWARDDETECTORSD3PDMAKER_AFPSIDLORECOEVCOLLECTIONFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_AFPSIDLORECOEVCOLLECTIONFILLERTOOL_H
-
-#include "AfpCommonHdr.h"
-#include "AFP_LocRecoEv/AFP_SIDLocRecoEvCollection.h"
-
-namespace D3PD
-{
-    typedef D3PD::BlockFillerTool<AFP_SIDLocRecoEvCollection> AfpSIDLocRecoEvCollectionFillerBase;
-
-    class AfpSIDLocRecoEvCollectionFillerTool : public AfpSIDLocRecoEvCollectionFillerBase
-    {
-
-    public:
-        AfpSIDLocRecoEvCollectionFillerTool( const std::string& type, const std::string& name, const IInterface* parent );
-
-        virtual StatusCode initialize();
-        virtual StatusCode book();
-        virtual StatusCode fill(const AFP_SIDLocRecoEvCollection& DataCollection);
-
-    private:
-        void ClearData(const AFP_SIDLocRecoEvCollection& DataCollection);
-
-    private:
-        int* m_pnTotTracksCnt;
-        std::vector<int>* m_pvecTrackStationID;
-        std::vector<float>* m_pvecTrackXPos;
-        std::vector<float>* m_pvecTrackYPos;
-        std::vector<float>* m_pvecTrackZPos;
-        std::vector<float>* m_pvecTrackXSlope;
-        std::vector<float>* m_pvecTrackYSlope;
-        std::vector<int>* m_pvecTrackUsedPixels;
-        std::vector<int>* m_pvecTrackHoles;
-        std::vector<float>* m_pvecTrackQuality;
-    };
-}
-
-#endif // FORWARDDETECTORSD3PDMAKER_AFPSIDLORECOEVCOLLECTIONFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDSimHitCollectionFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDSimHitCollectionFillerTool.cxx
deleted file mode 100644
index 6682e76027a706369c9d31e119acd544a0834ee1..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDSimHitCollectionFillerTool.cxx
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// Local include(s):
-#include "AfpSIDSimHitCollectionFillerTool.h"
-
-namespace D3PD {
-
-    AfpSIDSimHitCollectionFillerTool::AfpSIDSimHitCollectionFillerTool( const std::string& type, const std::string& name, const IInterface* parent)
-        : AfpSIDSimHitCollectionFillerBase( type, name, parent )
-    {
-        ATH_MSG_INFO( "AfpSIDSimHitCollectionFillerTool---> Constructor" );
-
-		m_pnTotHitsCnt=NULL;
-		m_pvecHitID=NULL;
-		m_pvecTrackID=NULL;
-		m_pvecParticleEncoding=NULL;
-		m_pvecKineticEnergy=NULL;
-		m_pvecEnergyDeposit=NULL;
-		m_pvecPreStepX=NULL;
-		m_pvecPreStepY=NULL;
-		m_pvecPreStepZ=NULL;
-		m_pvecPostStepX=NULL;
-		m_pvecPostStepY=NULL;
-		m_pvecPostStepZ=NULL;
-		m_pvecGlobalTime=NULL;
-		m_pvecStationID=NULL;
-		m_pvecDetectorID=NULL;
-		m_pvecIsAuxVSID=NULL;
-		m_pvecPixelRow=NULL;
-		m_pvecPixelCol=NULL;
-    }
-
-    StatusCode AfpSIDSimHitCollectionFillerTool::initialize()
-    {
-        // Initialize the base class:
-        CHECK( AfpSIDSimHitCollectionFillerBase::initialize() );
-        ATH_MSG_INFO( "AfpSIDSimHitCollectionFillerTool---> Initialized" );
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AfpSIDSimHitCollectionFillerTool::book()
-    {
-        ATH_MSG_DEBUG( "AfpSIDSimHitCollectionFillerTool---> Booking Histograms" );
-
-		CHECK(addVariable("tot_num_hits",m_pnTotHitsCnt));
-		CHECK(addVariable("hitID",m_pvecHitID));
-		CHECK(addVariable("trackID",m_pvecTrackID));
-		CHECK(addVariable("encoding",m_pvecParticleEncoding));
-		CHECK(addVariable("kineticE",m_pvecKineticEnergy));
-		CHECK(addVariable("depE",m_pvecEnergyDeposit));
-		CHECK(addVariable("prestep_x",m_pvecPreStepX));
-		CHECK(addVariable("prestep_y",m_pvecPreStepY));
-		CHECK(addVariable("prestep_z",m_pvecPreStepZ));
-		CHECK(addVariable("poststep_x",m_pvecPostStepX));
-		CHECK(addVariable("poststep_y",m_pvecPostStepY));
-		CHECK(addVariable("poststep_z",m_pvecPostStepZ));
-		CHECK(addVariable("time",m_pvecGlobalTime));
-		CHECK(addVariable("stID",m_pvecStationID));
-		CHECK(addVariable("layerID",m_pvecDetectorID));
-		CHECK(addVariable("isVacLayer",m_pvecIsAuxVSID));
-		CHECK(addVariable("pixel_row",m_pvecPixelRow));
-		CHECK(addVariable("pixel_col",m_pvecPixelCol));
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AfpSIDSimHitCollectionFillerTool::fill(const AFP_SIDSimHitCollection& DataCollection)
-    {
-        ClearData(DataCollection);
-
-		int i;
-		AFP_SIDSimHitCollection::const_iterator iterColl;
-
-		ClearData(DataCollection);
-
-		*m_pnTotHitsCnt=DataCollection.size();
-		for(i=0,iterColl=DataCollection.begin();iterColl!=DataCollection.end();i++,iterColl++)
-		{
-			(*m_pvecHitID)[i]=iterColl->m_nHitID;
-			(*m_pvecTrackID)[i]=iterColl->m_nTrackID;
-			(*m_pvecParticleEncoding)[i]=iterColl->m_nParticleEncoding;
-			(*m_pvecKineticEnergy)[i]=iterColl->m_fKineticEnergy;
-			(*m_pvecEnergyDeposit)[i]=iterColl->m_fEnergyDeposit;
-			(*m_pvecPreStepX)[i]=iterColl->m_fPreStepX;
-			(*m_pvecPreStepY)[i]=iterColl->m_fPreStepY;
-			(*m_pvecPreStepZ)[i]=iterColl->m_fPreStepZ;
-			(*m_pvecPostStepX)[i]=iterColl->m_fPostStepX;
-			(*m_pvecPostStepY)[i]=iterColl->m_fPostStepY;
-			(*m_pvecPostStepZ)[i]=iterColl->m_fPostStepZ;
-			(*m_pvecGlobalTime)[i]=iterColl->m_fGlobalTime;
-			(*m_pvecStationID)[i]=iterColl->m_nStationID;
-			(*m_pvecDetectorID)[i]=iterColl->m_nDetectorID;
-			(*m_pvecIsAuxVSID)[i]=iterColl->m_bIsAuxVSID;
-			(*m_pvecPixelRow)[i]=iterColl->m_nPixelRow;
-			(*m_pvecPixelCol)[i]=iterColl->m_nPixelCol;
-		}
-
-        return StatusCode::SUCCESS;
-    }
-
-	void AfpSIDSimHitCollectionFillerTool::ClearData(const AFP_SIDSimHitCollection& DataCollection)
-    {
-		int nItemsCnt;
-
-		nItemsCnt=DataCollection.size();
-		*m_pnTotHitsCnt=-1;
-		m_pvecHitID->resize(nItemsCnt);
-		fill_n(m_pvecHitID->begin(),m_pvecHitID->size(),-1);
-		m_pvecTrackID->resize(nItemsCnt);
-		fill_n(m_pvecTrackID->begin(),m_pvecTrackID->size(),-1);
-		m_pvecParticleEncoding->resize(nItemsCnt);
-		fill_n(m_pvecParticleEncoding->begin(),m_pvecParticleEncoding->size(),UNDEFINTVALUE);
-		m_pvecKineticEnergy->resize(nItemsCnt);
-		fill_n(m_pvecKineticEnergy->begin(),m_pvecKineticEnergy->size(),UNDEFFLOATVALUE);
-		m_pvecEnergyDeposit->resize(nItemsCnt);
-		fill_n(m_pvecEnergyDeposit->begin(),m_pvecEnergyDeposit->size(),UNDEFFLOATVALUE);
-		m_pvecPreStepX->resize(nItemsCnt);
-		fill_n(m_pvecPreStepX->begin(),m_pvecPreStepX->size(),UNDEFFLOATVALUE);
-		m_pvecPreStepY->resize(nItemsCnt);
-		fill_n(m_pvecPreStepY->begin(),m_pvecPreStepY->size(),UNDEFFLOATVALUE);
-		m_pvecPreStepZ->resize(nItemsCnt);
-		fill_n(m_pvecPreStepZ->begin(),m_pvecPreStepZ->size(),UNDEFFLOATVALUE);
-		m_pvecPostStepX->resize(nItemsCnt);
-		fill_n(m_pvecPostStepX->begin(),m_pvecPostStepX->size(),UNDEFFLOATVALUE);
-		m_pvecPostStepY->resize(nItemsCnt);
-		fill_n(m_pvecPostStepY->begin(),m_pvecPostStepY->size(),UNDEFFLOATVALUE);
-		m_pvecPostStepZ->resize(nItemsCnt);
-		fill_n(m_pvecPostStepZ->begin(),m_pvecPostStepZ->size(),UNDEFFLOATVALUE);
-		m_pvecGlobalTime->resize(nItemsCnt);
-		fill_n(m_pvecGlobalTime->begin(),m_pvecGlobalTime->size(),UNDEFFLOATVALUE);
-		m_pvecStationID->resize(nItemsCnt);
-		fill_n(m_pvecStationID->begin(),m_pvecStationID->size(),-1);
-		m_pvecDetectorID->resize(nItemsCnt);
-		fill_n(m_pvecDetectorID->begin(),m_pvecDetectorID->size(),-1);
-		m_pvecIsAuxVSID->resize(nItemsCnt);
-		fill_n(m_pvecIsAuxVSID->begin(),m_pvecIsAuxVSID->size(),-1);
-		m_pvecPixelRow->resize(nItemsCnt);
-		fill_n(m_pvecPixelRow->begin(),m_pvecPixelRow->size(),-1);
-		m_pvecPixelCol->resize(nItemsCnt);
-		fill_n(m_pvecPixelCol->begin(),m_pvecPixelCol->size(),-1);
-    }
-
-
-} // namespace D3PD
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDSimHitCollectionFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDSimHitCollectionFillerTool.h
deleted file mode 100644
index 8bf07429ca0d57557732ce5223a79dd738d8f096..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpSIDSimHitCollectionFillerTool.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FORWARDDETECTORSD3PDMAKER_AFPSIDSIMHITCOLLECTIONFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_AFPSIDSIMHITCOLLECTIONFILLERTOOL_H
-
-#include "AfpCommonHdr.h"
-#include "AFP_SimEv/AFP_SIDSimHitCollection.h"
-
-namespace D3PD
-{
-    typedef D3PD::BlockFillerTool<AFP_SIDSimHitCollection> AfpSIDSimHitCollectionFillerBase;
-
-    class AfpSIDSimHitCollectionFillerTool : public AfpSIDSimHitCollectionFillerBase
-    {
-
-    public:
-        AfpSIDSimHitCollectionFillerTool(const std::string& type, const std::string& name, const IInterface* parent);
-
-        virtual StatusCode initialize();
-        virtual StatusCode book();
-        virtual StatusCode fill(const AFP_SIDSimHitCollection& DataCollection);
-
-    private:
-        void ClearData(const AFP_SIDSimHitCollection& DataCollection);
-
-    private:
-		int* m_pnTotHitsCnt;
-		std::vector<int>* m_pvecHitID;
-		std::vector<int>* m_pvecTrackID;
-		std::vector<int>* m_pvecParticleEncoding;
-		std::vector<float>* m_pvecKineticEnergy;
-		std::vector<float>* m_pvecEnergyDeposit;
-		std::vector<float>* m_pvecPreStepX;
-		std::vector<float>* m_pvecPreStepY;
-		std::vector<float>* m_pvecPreStepZ;
-		std::vector<float>* m_pvecPostStepX;
-		std::vector<float>* m_pvecPostStepY;
-		std::vector<float>* m_pvecPostStepZ;
-		std::vector<float>* m_pvecGlobalTime;
-		std::vector<int>* m_pvecStationID;
-		std::vector<int>* m_pvecDetectorID;
-		std::vector<int>* m_pvecIsAuxVSID;
-		std::vector<int>* m_pvecPixelRow;
-		std::vector<int>* m_pvecPixelCol;
-    };
-}
-
-#endif // FORWARDDETECTORSD3PDMAKER_AFPSIDSIMHITCOLLECTIONFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDDigiCollectionFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDDigiCollectionFillerTool.cxx
deleted file mode 100644
index fbc9c9f57378c0d396fb9ddf9dfa26e79bc00b00..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDDigiCollectionFillerTool.cxx
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// Local include(s):
-#include "AfpTDDigiCollectionFillerTool.h"
-
-namespace D3PD {
-
-    AfpTDDigiCollectionFillerTool::AfpTDDigiCollectionFillerTool( const std::string& type, const std::string& name, const IInterface* parent)
-        : AfpTDDigiCollectionFillerBase( type, name, parent )
-    {
-        ATH_MSG_INFO( "AfpTDDigiCollectionFillerTool---> Constructor" );
-
-        //m_pvecXDetCS=NULL;
-        //m_pnMaxTrackCnt=NULL;
-    }
-
-    StatusCode AfpTDDigiCollectionFillerTool::initialize()
-    {
-        // Initialize the base class:
-        CHECK( AfpTDDigiCollectionFillerBase::initialize() );
-        ATH_MSG_INFO( "AfpTDDigiCollectionFillerTool---> Initialized" );
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AfpTDDigiCollectionFillerTool::book()
-    {
-        ATH_MSG_DEBUG( "AfpTDDigiCollectionFillerTool---> Booking Histograms" );
-
-        //CHECK( addVariable ("x_Det", m_pvecXDetCS));
-        //CHECK( addVariable ("NumTrack", m_pnMaxTrackCnt));
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AfpTDDigiCollectionFillerTool::fill(const AFP_TDDigiCollection& /*DataCollection*/)
-    {
-        ClearData();
-
-        return StatusCode::SUCCESS;
-    }
-
-    void AfpTDDigiCollectionFillerTool::ClearData()
-    {
-        //*m_pnMaxTrackCnt=nMaxTrackCnt;
-        //m_pvecXDetCS->resize(RPOTSCNT*nMaxTrackCnt);
-        //fill_n(m_pvecXDetCS->begin(),m_pvecXDetCS->size(),-9999);
-    }
-
-
-} // namespace D3PD
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDDigiCollectionFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDDigiCollectionFillerTool.h
deleted file mode 100644
index a8a55384c0d2d41755822ffc5b042b4bac38b528..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDDigiCollectionFillerTool.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FORWARDDETECTORSD3PDMAKER_AFPTDDIGICOLLECTIONFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_AFPTDDIGICOLLECTIONFILLERTOOL_H
-
-#include "AfpCommonHdr.h"
-#include "AFP_DigiEv/AFP_TDDigiCollection.h"
-
-namespace D3PD
-{
-    typedef D3PD::BlockFillerTool<AFP_TDDigiCollection> AfpTDDigiCollectionFillerBase;
-
-    class AfpTDDigiCollectionFillerTool : public AfpTDDigiCollectionFillerBase
-    {
-
-    public:
-        AfpTDDigiCollectionFillerTool( const std::string& type, const std::string& name, const IInterface* parent );
-
-        virtual StatusCode initialize();
-        virtual StatusCode book();
-        virtual StatusCode fill(const AFP_TDDigiCollection& DataCollection);
-
-    private:
-        void ClearData();
-
-    private:
-
-        //SiDigiCollection
-        //vector<float>* m_pvecXDetCS;
-        //int* m_pnMaxTrackCnt;
-
-    };
-}
-
-#endif // FORWARDDETECTORSD3PDMAKER_AFPTDDIGICOLLECTIONFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDLocRecoEvCollectionFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDLocRecoEvCollectionFillerTool.cxx
deleted file mode 100644
index 855dd7bded5e12e9be3fdafb3a7cd442cefe5965..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDLocRecoEvCollectionFillerTool.cxx
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// Local include(s):
-#include "AfpTDLocRecoEvCollectionFillerTool.h"
-
-namespace D3PD {
-
-    AfpTDLocRecoEvCollectionFillerTool::AfpTDLocRecoEvCollectionFillerTool( const std::string& type, const std::string& name, const IInterface* parent)
-        : AfpTDLocRecoEvCollectionFillerBase( type, name, parent )
-    {
-        ATH_MSG_INFO( "AfpTDLocRecoEvCollectionFillerTool---> Constructor" );
-
-        m_pnTotTracksCnt=NULL;
-        m_pvecTrackStationID=NULL;
-        m_pvecTrackQuarticID=NULL;
-        m_pvecTrackTrainID=NULL;
-        m_pvecTrackTrainTime=NULL;
-        m_pvecTrackTrainAmplitude=NULL;
-        m_pvecTrackSaturatedBars=NULL;
-    }
-
-    StatusCode AfpTDLocRecoEvCollectionFillerTool::initialize()
-    {
-        // Initialize the base class:
-        CHECK( AfpTDLocRecoEvCollectionFillerBase::initialize() );
-        ATH_MSG_INFO( "AfpTDLocRecoEvCollectionFillerTool---> Initialized" );
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AfpTDLocRecoEvCollectionFillerTool::book()
-    {
-        ATH_MSG_DEBUG( "AfpTDLocRecoEvCollectionFillerTool---> Booking Histograms" );
-
-        CHECK(addVariable("tid_tot_num_tracks",m_pnTotTracksCnt));
-        CHECK(addVariable("tid_stID",m_pvecTrackStationID));
-        CHECK(addVariable("tid_qID",m_pvecTrackQuarticID));
-        CHECK(addVariable("tid_trainID",m_pvecTrackTrainID));
-        CHECK(addVariable("tid_time",m_pvecTrackTrainTime));
-        CHECK(addVariable("tid_amplitude",m_pvecTrackTrainAmplitude));
-        CHECK(addVariable("tid_num_saturated_bars",m_pvecTrackSaturatedBars));
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AfpTDLocRecoEvCollectionFillerTool::fill(const AFP_TDLocRecoEvCollection& DataCollection)
-    {
-        int i;
-        AFP_TDLocRecoEvCollection::const_iterator iterColl;
-
-        ClearData(DataCollection);
-
-        *m_pnTotTracksCnt=DataCollection.size();
-        for(i=0,iterColl=DataCollection.begin();iterColl!=DataCollection.end();i++,iterColl++)
-        {
-            (*m_pvecTrackStationID)[i]=(*iterColl)->getStationID();
-            (*m_pvecTrackQuarticID)[i]=(*iterColl)->getDetectorID();
-            (*m_pvecTrackTrainID)[i]=(*iterColl)->getTrainID();
-            (*m_pvecTrackTrainTime)[i]=(*iterColl)->getTrainTime();
-            (*m_pvecTrackTrainAmplitude)[i]=(*iterColl)->getTrainSize();
-            (*m_pvecTrackSaturatedBars)[i]=(*iterColl)->getSaturation();
-        }
-
-        return StatusCode::SUCCESS;
-    }
-
-    void AfpTDLocRecoEvCollectionFillerTool::ClearData(const AFP_TDLocRecoEvCollection& DataCollection)
-    {
-        int nItemsCnt;
-
-        nItemsCnt=DataCollection.size();
-        *m_pnTotTracksCnt=-1;
-        m_pvecTrackStationID->resize(nItemsCnt);
-        fill_n(m_pvecTrackStationID->begin(),m_pvecTrackStationID->size(),UNDEFINTVALUE);
-        m_pvecTrackQuarticID->resize(nItemsCnt);
-        fill_n(m_pvecTrackQuarticID->begin(),m_pvecTrackQuarticID->size(),UNDEFINTVALUE);
-        m_pvecTrackTrainID->resize(nItemsCnt);
-        fill_n(m_pvecTrackTrainID->begin(),m_pvecTrackTrainID->size(),UNDEFINTVALUE);
-        m_pvecTrackTrainTime->resize(nItemsCnt);
-        fill_n(m_pvecTrackTrainTime->begin(),m_pvecTrackTrainTime->size(),UNDEFFLOATVALUE);
-        m_pvecTrackTrainAmplitude->resize(nItemsCnt);
-        fill_n(m_pvecTrackTrainAmplitude->begin(),m_pvecTrackTrainAmplitude->size(),UNDEFFLOATVALUE);
-        m_pvecTrackSaturatedBars->resize(nItemsCnt);
-        fill_n(m_pvecTrackSaturatedBars->begin(),m_pvecTrackSaturatedBars->size(),UNDEFINTVALUE);
-    }
-
-} // namespace D3PD
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDLocRecoEvCollectionFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDLocRecoEvCollectionFillerTool.h
deleted file mode 100644
index ccf48944325476a1ce7b5bbc163fbc3347115eb1..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDLocRecoEvCollectionFillerTool.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FORWARDDETECTORSD3PDMAKER_AFPTDLOCRECOEVCOLLECTIONFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_AFPTDLOCRECOEVCOLLECTIONFILLERTOOL_H
-
-#include "AfpCommonHdr.h"
-#include "AFP_LocRecoEv/AFP_TDLocRecoEvCollection.h"
-
-namespace D3PD
-{
-    typedef D3PD::BlockFillerTool<AFP_TDLocRecoEvCollection> AfpTDLocRecoEvCollectionFillerBase;
-
-    class AfpTDLocRecoEvCollectionFillerTool : public AfpTDLocRecoEvCollectionFillerBase
-    {
-
-    public:
-        AfpTDLocRecoEvCollectionFillerTool( const std::string& type, const std::string& name, const IInterface* parent );
-
-        virtual StatusCode initialize();
-        virtual StatusCode book();
-        virtual StatusCode fill(const AFP_TDLocRecoEvCollection& DataCollection);
-
-    private:
-        void ClearData(const AFP_TDLocRecoEvCollection& DataCollection);
-
-    private:
-        int* m_pnTotTracksCnt;
-        std::vector<int>* m_pvecTrackStationID;
-        std::vector<int>* m_pvecTrackQuarticID;
-        std::vector<int>* m_pvecTrackTrainID;
-        std::vector<float>* m_pvecTrackTrainTime;
-        std::vector<float>* m_pvecTrackTrainAmplitude;
-        std::vector<int>* m_pvecTrackSaturatedBars;
-    };
-}
-
-#endif // FORWARDDETECTORSD3PDMAKER_AFPTDLOCRECOEVCOLLECTIONFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDSimHitCollectionFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDSimHitCollectionFillerTool.cxx
deleted file mode 100644
index 193f905b25785a5826ab3f7cb620f10c18fa788d..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDSimHitCollectionFillerTool.cxx
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// Local include(s):
-#include "AfpTDSimHitCollectionFillerTool.h"
-
-namespace D3PD {
-
-	AfpTDSimHitCollectionFillerTool::AfpTDSimHitCollectionFillerTool( const std::string& type, const std::string& name, const IInterface* parent)
-		: AfpTDSimHitCollectionFillerBase( type, name, parent )
-    {
-		ATH_MSG_INFO( "AfpTDSimHitCollectionFillerTool---> Constructor" );
-
-		m_pnTotHitsCnt=NULL;
-		m_pvecHitID=NULL;
-		m_pvecTrackID=NULL;
-		m_pvecParticleEncoding=NULL;
-		m_pvecKineticEnergy=NULL;
-		m_pvecEnergyDeposit=NULL;
-		m_pvecPreStepX=NULL;
-		m_pvecPreStepY=NULL;
-		m_pvecPreStepZ=NULL;
-		m_pvecPostStepX=NULL;
-		m_pvecPostStepY=NULL;
-		m_pvecPostStepZ=NULL;
-		m_pvecGlobalTime=NULL;
-		m_pvecStationID=NULL;
-		m_pvecDetectorID=NULL;
-		m_pvecSensitiveElementID=NULL;
-    }
-
-	StatusCode AfpTDSimHitCollectionFillerTool::initialize()
-    {
-        // Initialize the base class:
-		CHECK( AfpTDSimHitCollectionFillerBase::initialize() );
-		ATH_MSG_INFO( "AfpTDSimHitCollectionFillerTool---> Initialized" );
-
-        return StatusCode::SUCCESS;
-    }
-
-	StatusCode AfpTDSimHitCollectionFillerTool::book()
-    {
-		ATH_MSG_DEBUG( "AfpTDSimHitCollectionFillerTool---> Booking Histograms" );
-
-		CHECK(addVariable("tot_num_hits",m_pnTotHitsCnt));
-		CHECK(addVariable("hitID",m_pvecHitID));
-		CHECK(addVariable("trackID",m_pvecTrackID));
-		CHECK(addVariable("encoding",m_pvecParticleEncoding));
-		CHECK(addVariable("kineticE",m_pvecKineticEnergy));
-		CHECK(addVariable("depE",m_pvecEnergyDeposit));
-		CHECK(addVariable("prestep_x",m_pvecPreStepX));
-		CHECK(addVariable("prestep_y",m_pvecPreStepY));
-		CHECK(addVariable("prestep_z",m_pvecPreStepZ));
-		CHECK(addVariable("poststep_x",m_pvecPostStepX));
-		CHECK(addVariable("poststep_y",m_pvecPostStepY));
-		CHECK(addVariable("poststep_z",m_pvecPostStepZ));
-		CHECK(addVariable("time",m_pvecGlobalTime));
-		CHECK(addVariable("stID",m_pvecStationID));
-		CHECK(addVariable("layerID",m_pvecDetectorID));
-		CHECK(addVariable("senselID",m_pvecSensitiveElementID));
-
-        return StatusCode::SUCCESS;
-    }
-
-	StatusCode AfpTDSimHitCollectionFillerTool::fill(const AFP_TDSimHitCollection& DataCollection)
-    {
-        ClearData(DataCollection);
-
-		int i;
-		AFP_TDSimHitCollection::const_iterator iterColl;
-
-		ClearData(DataCollection);
-
-		*m_pnTotHitsCnt=DataCollection.size();
-		for(i=0,iterColl=DataCollection.begin();iterColl!=DataCollection.end();i++,iterColl++)
-		{
-			(*m_pvecHitID)[i]=iterColl->m_nHitID;
-			(*m_pvecTrackID)[i]=iterColl->m_nTrackID;
-			(*m_pvecParticleEncoding)[i]=iterColl->m_nParticleEncoding;
-			(*m_pvecKineticEnergy)[i]=iterColl->m_fKineticEnergy;
-			(*m_pvecEnergyDeposit)[i]=iterColl->m_fEnergyDeposit;
-			(*m_pvecPreStepX)[i]=iterColl->m_fPreStepX;
-			(*m_pvecPreStepY)[i]=iterColl->m_fPreStepY;
-			(*m_pvecPreStepZ)[i]=iterColl->m_fPreStepZ;
-			(*m_pvecPostStepX)[i]=iterColl->m_fPostStepX;
-			(*m_pvecPostStepY)[i]=iterColl->m_fPostStepY;
-			(*m_pvecPostStepZ)[i]=iterColl->m_fPostStepZ;
-			(*m_pvecGlobalTime)[i]=iterColl->m_fGlobalTime;
-			(*m_pvecStationID)[i]=iterColl->m_nStationID;
-			(*m_pvecDetectorID)[i]=iterColl->m_nDetectorID;
-			(*m_pvecSensitiveElementID)[i]=iterColl->m_nSensitiveElementID;
-		}
-
-        return StatusCode::SUCCESS;
-    }
-
-	void AfpTDSimHitCollectionFillerTool::ClearData(const AFP_TDSimHitCollection& DataCollection)
-    {
-		int nItemsCnt;
-
-		nItemsCnt=DataCollection.size();
-		*m_pnTotHitsCnt=-1;
-		m_pvecHitID->resize(nItemsCnt);
-		fill_n(m_pvecHitID->begin(),m_pvecHitID->size(),-1);
-		m_pvecTrackID->resize(nItemsCnt);
-		fill_n(m_pvecTrackID->begin(),m_pvecTrackID->size(),-1);
-		m_pvecParticleEncoding->resize(nItemsCnt);
-		fill_n(m_pvecParticleEncoding->begin(),m_pvecParticleEncoding->size(),UNDEFINTVALUE);
-		m_pvecKineticEnergy->resize(nItemsCnt);
-		fill_n(m_pvecKineticEnergy->begin(),m_pvecKineticEnergy->size(),UNDEFFLOATVALUE);
-		m_pvecEnergyDeposit->resize(nItemsCnt);
-		fill_n(m_pvecEnergyDeposit->begin(),m_pvecEnergyDeposit->size(),UNDEFFLOATVALUE);
-		m_pvecPreStepX->resize(nItemsCnt);
-		fill_n(m_pvecPreStepX->begin(),m_pvecPreStepX->size(),UNDEFFLOATVALUE);
-		m_pvecPreStepY->resize(nItemsCnt);
-		fill_n(m_pvecPreStepY->begin(),m_pvecPreStepY->size(),UNDEFFLOATVALUE);
-		m_pvecPreStepZ->resize(nItemsCnt);
-		fill_n(m_pvecPreStepZ->begin(),m_pvecPreStepZ->size(),UNDEFFLOATVALUE);
-		m_pvecPostStepX->resize(nItemsCnt);
-		fill_n(m_pvecPostStepX->begin(),m_pvecPostStepX->size(),UNDEFFLOATVALUE);
-		m_pvecPostStepY->resize(nItemsCnt);
-		fill_n(m_pvecPostStepY->begin(),m_pvecPostStepY->size(),UNDEFFLOATVALUE);
-		m_pvecPostStepZ->resize(nItemsCnt);
-		fill_n(m_pvecPostStepZ->begin(),m_pvecPostStepZ->size(),UNDEFFLOATVALUE);
-		m_pvecGlobalTime->resize(nItemsCnt);
-		fill_n(m_pvecGlobalTime->begin(),m_pvecGlobalTime->size(),UNDEFFLOATVALUE);
-		m_pvecStationID->resize(nItemsCnt);
-		fill_n(m_pvecStationID->begin(),m_pvecStationID->size(),-1);
-		m_pvecDetectorID->resize(nItemsCnt);
-		fill_n(m_pvecDetectorID->begin(),m_pvecDetectorID->size(),-1);
-		m_pvecSensitiveElementID->resize(nItemsCnt);
-		fill_n(m_pvecSensitiveElementID->begin(),m_pvecSensitiveElementID->size(),-1);
-
-    }
-
-
-} // namespace D3PD
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDSimHitCollectionFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDSimHitCollectionFillerTool.h
deleted file mode 100644
index 6576d42afe23a4e2a5cdd81ee36e31d6ca0638ef..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTDSimHitCollectionFillerTool.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FORWARDDETECTORSD3PDMAKER_AFPTDSIMHITCOLLECTIONFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_AFPTDSIMHITCOLLECTIONFILLERTOOL_H
-
-#include "AfpCommonHdr.h"
-#include "AFP_SimEv/AFP_TDSimHitCollection.h"
-
-namespace D3PD
-{
-	typedef D3PD::BlockFillerTool<AFP_TDSimHitCollection> AfpTDSimHitCollectionFillerBase;
-
-	class AfpTDSimHitCollectionFillerTool : public AfpTDSimHitCollectionFillerBase
-    {
-
-    public:
-		AfpTDSimHitCollectionFillerTool(const std::string& type, const std::string& name, const IInterface* parent);
-
-        virtual StatusCode initialize();
-        virtual StatusCode book();
-		virtual StatusCode fill(const AFP_TDSimHitCollection& DataCollection);
-
-    private:
-		void ClearData(const AFP_TDSimHitCollection& DataCollection);
-
-    private:
-		int* m_pnTotHitsCnt;
-		std::vector<int>* m_pvecHitID;
-		std::vector<int>* m_pvecTrackID;
-		std::vector<int>* m_pvecParticleEncoding;
-		std::vector<float>* m_pvecKineticEnergy;
-		std::vector<float>* m_pvecEnergyDeposit;
-		std::vector<float>* m_pvecPreStepX;
-		std::vector<float>* m_pvecPreStepY;
-		std::vector<float>* m_pvecPreStepZ;
-		std::vector<float>* m_pvecPostStepX;
-		std::vector<float>* m_pvecPostStepY;
-		std::vector<float>* m_pvecPostStepZ;
-		std::vector<float>* m_pvecGlobalTime;
-		std::vector<int>* m_pvecStationID;
-		std::vector<int>* m_pvecDetectorID;
-		std::vector<int>* m_pvecSensitiveElementID;
-    };
-}
-
-#endif // FORWARDDETECTORSD3PDMAKER_AFPTDSIMHITCOLLECTIONFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTruthInfoFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTruthInfoFillerTool.cxx
deleted file mode 100644
index 4b0c094371c420f1457833c83116775d681e80d6..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTruthInfoFillerTool.cxx
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// Local include(s):
-#include "AfpTruthInfoFillerTool.h"
-//#include "AthenaPoolUtilities/AthenaAttributeList.h"
-#include <cmath>
-
-namespace D3PD {
-
-	AfpTruthInfoFillerTool::AfpTruthInfoFillerTool( const std::string& type, const std::string& name, const IInterface* parent)
-		: AfpTruthInfoFillerBase( type, name, parent )
-	{
-		ATH_MSG_INFO( "AfpTruthInfoFillerTool---> Constructor" );
-		
-		//m_pnPrimaryIPs=NULL;
-		//m_pnProtons_f=NULL;
-		
-		m_pvecVtx_g_x=NULL;
-		m_pvecVtx_g_y=NULL;
-		m_pvecVtx_g_z=NULL;
-		m_pvecVtx_g_t=NULL;	
-
-		m_pvecPBeam1_i_pt=NULL;
-		m_pvecPBeam1_i_phi=NULL;
-		m_pvecPBeam1_i_pz=NULL;
-		m_pvecPBeam1_i_E=NULL;
-
-		m_pvecPBeam2_i_pt=NULL;
-		m_pvecPBeam2_i_phi=NULL;
-		m_pvecPBeam2_i_pz=NULL;
-		m_pvecPBeam2_i_E=NULL;
-
-		m_pvecParticle_f_pt=NULL;
-		m_pvecParticle_f_phi=NULL;
-		m_pvecParticle_f_pz=NULL;
-		m_pvecParticle_f_m=NULL;
-		m_pvecParticle_f_pdg=NULL;
-		m_pvecParticle_f_barcode=NULL;
-
-   }
-
-	StatusCode AfpTruthInfoFillerTool::initialize()
-	{
-		// Initialize the base class:
-		CHECK( AfpTruthInfoFillerBase::initialize() );
-		
-		/*
-		   // get detector store
-           if (StatusCode::SUCCESS!=service("DetectorStore", p_detstore)) {
-                  ATH_MSG_FATAL( "Detector store not found" ); 
-                  return StatusCode::FAILURE;
-           }
-
-            ATH_MSG_INFO( "AfpTruthInfoFillerTool---> starting initialization" );
-            
-		const AthenaAttributeList* atrlist=0;
-		
-		ATH_MSG_INFO( "AfpTruthInfoFillerTool---> first step" ); 
-		
-		if (StatusCode::SUCCESS==p_detstore->retrieve(atrlist,table)) 
-		{
-			int beam_energy=(*atrlist)["beam_energy"].data<int>();
-		}	
-		
-		ATH_MSG_DEBUG( " beam energy = " << beam_energy );
-
-            */
-		
-		ATH_MSG_INFO( "AfpTruthInfoFillerTool---> Initialized" );
-
-		return StatusCode::SUCCESS;
-	}
-
-	StatusCode AfpTruthInfoFillerTool::book()
-	{
-		ATH_MSG_DEBUG( "AfpTruthInfoFillerTool---> Booking Histograms" );
-
-		//CHECK( addVariable ("nPrimaryIPs", m_pnPrimaryIPs));
-		
-		CHECK( addVariable ("vtx_G_x", m_pvecVtx_g_x));
-		CHECK( addVariable ("vtx_G_y", m_pvecVtx_g_y));
-		CHECK( addVariable ("vtx_G_z", m_pvecVtx_g_z));
-		CHECK( addVariable ("vtx_G_t", m_pvecVtx_g_t));
-
-		CHECK( addVariable ("p_beam1_i_pt", m_pvecPBeam1_i_pt));
-		CHECK( addVariable ("p_beam1_i_phi", m_pvecPBeam1_i_phi));
-		CHECK( addVariable ("p_beam1_i_pz", m_pvecPBeam1_i_pz));
-		CHECK( addVariable ("p_beam1_i_E", m_pvecPBeam1_i_E));
-
-		CHECK( addVariable ("p_beam2_i_pt", m_pvecPBeam2_i_pt));
-		CHECK( addVariable ("p_beam2_i_phi", m_pvecPBeam2_i_phi));
-		CHECK( addVariable ("p_beam2_i_pz", m_pvecPBeam2_i_pz));
-		CHECK( addVariable ("p_beam2_i_E", m_pvecPBeam2_i_E));
-
-		CHECK( addVariable ("particle_f_pt", m_pvecParticle_f_pt));
-		CHECK( addVariable ("particle_f_phi", m_pvecParticle_f_phi));
-		CHECK( addVariable ("particle_f_pz", m_pvecParticle_f_pz));
-		CHECK( addVariable ("particle_f_m", m_pvecParticle_f_m));
-		CHECK( addVariable ("particle_f_pdg", m_pvecParticle_f_pdg));
-		CHECK( addVariable ("particle_f_barcode", m_pvecParticle_f_barcode));		
-
-		return StatusCode::SUCCESS;
-	}
-
-	StatusCode AfpTruthInfoFillerTool::fill(const McEventCollection& EventCollection)
-	{
-		MsgStream LogStream(Athena::getMessageSvc(), "AfpTruthInfoFillerTool::fill()");
-		LogStream << MSG::DEBUG << "begin " << endmsg;
-
-		//float px, py, pz, E, phi;
-		float pz;
-		//int barcode;
-		int coll_counter = 0;
-
-		McEventCollection::const_iterator mcTruBeg = EventCollection.begin(); // = (*mcTru).begin()
-		McEventCollection::const_iterator mcTruEnd = EventCollection.end();
-
-		ClearData();
-		
-		int vtx_counter[MAXPILEUP];
-		memset(&vtx_counter, 0, sizeof(vtx_counter));
-
-		//loop over collection (container)
-		for(;mcTruBeg!=mcTruEnd;++mcTruBeg){
-
-			HepMC::GenParticle* pi1=0;
-			HepMC::GenParticle* pi2=0;
-			HepMC::GenParticle* p2=0;
-
-			int pint = 0;
-			int pcount = 0;
-			
-			LogStream << MSG::DEBUG << " just before " << endmsg;
-			HepMC::GenParticle* beam_p1 = (**mcTruBeg).beam_particles().first;
-			HepMC::GenParticle* beam_p2 = (**mcTruBeg).beam_particles().second;
-			
-			LogStream << MSG::DEBUG << " beam1 pointer " << beam_p1 << endmsg;
-			LogStream << MSG::DEBUG << " beam2 pointer " << beam_p2 << endmsg;
-			LogStream << MSG::DEBUG << " just after " << endmsg;
-						
-			double beam1_energy = 0.; //MeV
-			double beam2_energy = 0.; //MeV
-			
-			LogStream << MSG::DEBUG << " beam1_energy = " << beam1_energy << ", beam2_energy = " << beam2_energy << endmsg;
-			
-
-			//b_vtx_kin_fill_flag = false;
-			coll_counter++;
-
-			HepMC::GenEvent::vertex_const_iterator begGenVtxItr = (**mcTruBeg).vertices_begin();
-			HepMC::GenEvent::vertex_const_iterator endGenVtxItr = (**mcTruBeg).vertices_end();
-
-
-			//particles at IP and IP vertex properties
-
-			//loop over verteces belonging to one event in the given collection
-			for(;begGenVtxItr!=endGenVtxItr;++begGenVtxItr){
-
-				//LogStream << MSG::DEBUG << " * collection no: " << coll_counter << endmsg;
-				//LogStream << MSG::DEBUG << " * vertex no: " << vtx_counter[coll_counter-1] << endmsg;
-				//LogStream << MSG::DEBUG << " * position x = " << (**begGenVtxItr).position().x() << ", y = " << (**begGenVtxItr).position().y()<< ", z =" << (**begGenVtxItr).position().z() << endmsg;
-
-				// tom sykora: following 3 lines (cut on z-vertex position) remained here from the historical/old code with no cut on *primary* vertices...
-				//if (fabs((**begGenVtxItr).position().z()) > 500.){  // the IP vertex should be max +/-50 cm from z=0.
-				//	continue;
-				//}
-
-				vtx_counter[coll_counter-1]++;
-
-				HepMC::GenVertex::particle_iterator child;
-				child = (*begGenVtxItr)->particles_begin(HepMC::family);
-				HepMC::GenVertex::particle_iterator child_end;
-				child_end = (*begGenVtxItr)->particles_end(HepMC::family);
-
-				for(; child != child_end; ++child){
-
-					pz =      (*child)->momentum().pz();
-
-
-					// incoming protons (status code = 4) at the interaction point; 
-					if( (*child)->status() == 4){ // note, it can be any colliding particle, hopefully Pb too
-						pint++;
-						// assuming no bugs in generation - vertex should be just 1 per collection ;-)
-
-						if (pint == 1){
-							m_pvecVtx_g_x->push_back((**begGenVtxItr).position().x());
-							m_pvecVtx_g_y->push_back((**begGenVtxItr).position().y());
-							m_pvecVtx_g_z->push_back((**begGenVtxItr).position().z());
-							m_pvecVtx_g_t->push_back((**begGenVtxItr).position().t());
-						}
-
-						if(pz > 0){
-							pi1=(*child);
-							m_pvecPBeam1_i_pt->push_back(sqrt(pi1->momentum().px()*pi1->momentum().px()+pi1->momentum().py()*pi1->momentum().py()));
-							m_pvecPBeam1_i_phi->push_back(pi1->momentum().phi());
-							m_pvecPBeam1_i_pz->push_back(pi1->momentum().pz());
-							m_pvecPBeam1_i_E->push_back(pi1->momentum().e());
-							beam1_energy = pi1->momentum().e();
-							//LogStream << MSG::DEBUG << "initial particle 1: px = " <<(*m_pvecPBeam1_i)[1] << ", py = " << (*m_pvecPBeam1_i)[2] << ", pz = " << (*m_pvecPBeam1_i)[3] << ", E = " << (*m_pvecPBeam1_i)[0] << endmsg;
-							//LogStream << MSG::DEBUG << " ** " << endmsg;
-						}
-
-						if(pz < 0){
-							pi2=(*child);
-							m_pvecPBeam2_i_pt->push_back(sqrt(pi2->momentum().px()*pi2->momentum().px()+pi2->momentum().py()*pi2->momentum().py()));
-							m_pvecPBeam2_i_phi->push_back(pi2->momentum().phi());
-							m_pvecPBeam2_i_pz->push_back(pi2->momentum().pz());
-							m_pvecPBeam2_i_E->push_back(pi2->momentum().e());
-							beam2_energy = pi2->momentum().e();
-							//LogStream << MSG::DEBUG << "initial particle 2: px = " << (*m_pvecPBeam2_i)[1] << ", py = " << (*m_pvecPBeam2_i)[2] << ", pz = " << (*m_pvecPBeam2_i)[3] << ", E = " << (*m_pvecPBeam2_i)[0] << endmsg;
-							//LogStream << MSG::DEBUG << " ** " << endmsg;
-						}
-
-						if(pint > 2) {LogStream << MSG::DEBUG << "Strange: More than two incoming protons in this event! (depends what is simulated, in particle generator or gun, ...)" << endmsg;}
-						LogStream << MSG::DEBUG << "pint = " << pint << endmsg;
-
-						// we know we have interaction vertex (==4), outgoing protons at the interaction point; 2 will be just in case of elastic or exlusive processes(and if no additional protons are produced)
-
-						
-						// now we will run over primary IP vertex, looking for all leading protons or proton like leading particles
-						HepMC::GenVertex::particle_iterator childik;
-						childik = (*begGenVtxItr)->particles_begin(HepMC::children);
-						HepMC::GenVertex::particle_iterator childik_end;
-						childik_end = (*begGenVtxItr)->particles_end(HepMC::children);
-
-						for(; childik != childik_end; ++childik){
-
-							
-							p2=(*childik);
-							double pt = sqrt(p2->momentum().px()*p2->momentum().px()+p2->momentum().py()*p2->momentum().py());
-							double pz = p2->momentum().pz();
-							double eta = -log(std::abs(pt/(2.*pz))); //approximation !
-							int pdg = p2->pdg_id();
-							double xi = 1. - sqrt(pt*pt+pz*pz)/beam1_energy;
-							
-							LogStream << MSG::DEBUG << " *************************** " << endmsg;
-							LogStream << MSG::DEBUG << " forward particle eta = " << eta << endmsg;
-							LogStream << MSG::DEBUG << " forward particle xi = " << xi << endmsg;
-							LogStream << MSG::DEBUG << " forward particle pdg = " << pdg << endmsg;
-							
-							
-							//if( (*childik)->pdg_id() == 2212){ // can be elastic, diffractive, exclusive, p-Pb; do not know how to filter on elastic Pb
-							if ((pdg == 2212) || ((xi > 0.01) && (xi < 0.25 ) && (std::abs(eta)) > 8.))
-							{
-							// du to this conditions only protons will be registered -> has to be changed
-
-								pcount++;
-
-								//p2=(*childik);
-								m_pvecParticle_f_pt->push_back(sqrt(p2->momentum().px()*p2->momentum().px()+p2->momentum().py()*p2->momentum().py()));
-								m_pvecParticle_f_phi->push_back(p2->momentum().phi());
-								m_pvecParticle_f_pz->push_back(p2->momentum().pz());
-								//m_pvecParticle_f_m->push_back(p2->generated_mass());
-								m_pvecParticle_f_m->push_back(p2->momentum().m());
-								m_pvecParticle_f_pdg->push_back(p2->pdg_id());
-								m_pvecParticle_f_barcode->push_back(p2->barcode());
-							}
-						}
-
-						LogStream << MSG::DEBUG << "Number of outgoing protons (proton like) in this event " << endmsg;}
-						LogStream << MSG::DEBUG << "pcount = " << pcount << endmsg;
-					}
-					
-				}
-			}
-
-		return StatusCode::SUCCESS;
-	}
-
-	void AfpTruthInfoFillerTool::ClearData()
-	{
-
-		//*m_pnPrimaryIPs = -1;
-		//*m_pnProtons_f  = -1;
-		
-		m_pvecVtx_g_x->clear();
-		m_pvecVtx_g_y->clear();
-		m_pvecVtx_g_z->clear();
-		m_pvecVtx_g_t->clear();
-
-		m_pvecPBeam1_i_pt->clear();
-		m_pvecPBeam1_i_phi->clear();
-		m_pvecPBeam1_i_pz->clear();
-		m_pvecPBeam1_i_E->clear();
-
-		m_pvecPBeam2_i_pt->clear();
-		m_pvecPBeam2_i_phi->clear();
-		m_pvecPBeam2_i_pz->clear();
-		m_pvecPBeam2_i_E->clear();
-
-		m_pvecParticle_f_pt->clear();
-		m_pvecParticle_f_phi->clear();
-		m_pvecParticle_f_pz->clear();
-		m_pvecParticle_f_m->clear();
-		m_pvecParticle_f_pdg->clear();
-		m_pvecParticle_f_barcode->clear();
-
-	}
-
-
-} // namespace D3PD
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTruthInfoFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTruthInfoFillerTool.h
deleted file mode 100644
index 945b4b081eccc27958fdc4481fabb528a84b94cd..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AfpTruthInfoFillerTool.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FORWARDDETECTORSD3PDMAKER_AFPTRUTHINFOFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_AFPTRUTHINFOFILLERTOOL_H
-
-#include "AfpCommonHdr.h"
-#include "GeneratorObjects/McEventCollection.h"
-#include "StoreGate/DataHandle.h"
-
-namespace D3PD
-{	
-	typedef D3PD::BlockFillerTool<McEventCollection> AfpTruthInfoFillerBase;
-	
-	class AfpTruthInfoFillerTool : public AfpTruthInfoFillerBase
-	{
-
-	public:
-
-		AfpTruthInfoFillerTool( const std::string& type, const std::string& name, const IInterface* parent );
-
-		virtual StatusCode initialize();
-		virtual StatusCode book();
-		virtual StatusCode fill(const McEventCollection& EventCollection);
-
-	private:
-		void ClearData();
-
-	private:
-		
-		
-		//StoreGateSvc* p_detstore;
-		
-		//***	information about vertex and incoming protons for each collision, pileup considered
-		//int* m_pnPrimaryIPs;
-		
-		std::vector<float>* m_pvecVtx_g_x;
-		std::vector<float>* m_pvecVtx_g_y;
-		std::vector<float>* m_pvecVtx_g_z;
-		std::vector<float>* m_pvecVtx_g_t;
-
-		std::vector<float>* m_pvecPBeam1_i_pt;
-		std::vector<float>* m_pvecPBeam1_i_phi;
-		std::vector<float>* m_pvecPBeam1_i_pz;
-		std::vector<float>* m_pvecPBeam1_i_E;
-		
-		std::vector<float>* m_pvecPBeam2_i_pt;
-		std::vector<float>* m_pvecPBeam2_i_phi;
-		std::vector<float>* m_pvecPBeam2_i_pz;
-		std::vector<float>* m_pvecPBeam2_i_E;
-
-		//***   information about leading particles (protons and proton like particles)
-		
-		//int*   m_pnProtons_f;
-		
-		std::vector<float>* m_pvecParticle_f_pt;
-		std::vector<float>* m_pvecParticle_f_phi;
-		std::vector<float>* m_pvecParticle_f_pz;
-		std::vector<float>* m_pvecParticle_f_m;
-		std::vector<int>* m_pvecParticle_f_pdg;
-		std::vector<int>* m_pvecParticle_f_barcode;
-
-	}; // class AfpTruthInfoFillerTool
-
-} // namespace D3PD
-
-#endif // not FORWARDDETECTORSD3PDMAKER_AFPTRUTHINFOFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaCommonHdr.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaCommonHdr.h
deleted file mode 100644
index acbb57495218b5becff5ae4a4702ccf66450da38..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaCommonHdr.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FORWARDDETECTORSD3PDMAKER_ALFACOMMONHDR_H
-#define FORWARDDETECTORSD3PDMAKER_ALFACOMMONHDR_H
-
-// STL include(s):
-#include <vector>
-#include <string>
-#include <algorithm>
-
-// EDM include(s):
-#include "ALFA_CLinkEv/ALFA_CLinkEvent.h"
-#include "GeneratorObjects/McEventCollection.h"
-
-// D3PDMaker include(s):
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-#define RPOTSCNT 8
-#define MDLAYERSCNT	2
-#define MDPLATESCNT	10
-#define MDFIBERSCNT	64
-#define ODLAYERSCNT	2
-#define ODPLATESCNT	3
-#define ODFIBERSCNT	15
-
-#define TRIGPATCNT 16
-#define BLMCNT 6
-#define HVCHANNELCNT 216
-#define RADMONCNT 4
-#define FECNFTHRESHLOLDCNT 3
-#define FECNFGAINCNT 5
-#define TRIGSETCNT 6
-#define TRIGSETLATENCYCNT 3
-
-#define MAXNUMTRACKS 100
-#define MAXNUMGLOBTRACKS 100
-#define MAXNUMGENPARTICLES 100
-#define MAXPILEUP 500
-
-#define UNDEFFLOATVALUE (-9999.0)
-#define UNDEFINTVALUE (-1)
-
-namespace D3PD
-{
-
-   // Convenience type definition:
-   typedef D3PD::BlockFillerTool<ALFA_CLinkEvent> AlfaDataEventFillerBase;
-   typedef D3PD::BlockFillerTool<McEventCollection> AlfaTruthInfoFillerBase;
-}
-
-#endif // FORWARDDETECTORSD3PDMAKER_ALFACOMMONHDR_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaEventHeaderFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaEventHeaderFillerTool.cxx
deleted file mode 100644
index ecaf1c132a01f0275dfddd58e63966cb4eed991c..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaEventHeaderFillerTool.cxx
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: AlfaEventHeaderFillerTool.cxx 470583 2011-11-25 10:33:45Z krasznaa $
-/**
-  * @file ForwardDetectorsD3PDMaker/FillerTool.h
-  * @author Yujiao Chen
-  * @author Marco Leite <leite@cern.ch>
-  * @date August 2010
-  * @brief Block filler tool for Alfa information.
-  */
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// Local include(s):
-#include "AlfaEventHeaderFillerTool.h"
-
-using namespace std;
-
-namespace D3PD {
-
-    /**
-	* @brief Standard Gaudi tool constructor.
-	* @param type The name of the tool type.
-	* @param name The tool name.
-	* @param parent The tool's Gaudi parent.
-	*/
-    AlfaEventHeaderFillerTool::AlfaEventHeaderFillerTool( const std::string& type, const std::string& name, const IInterface* parent)
-        : AlfaDataEventFillerBase( type, name, parent )
-    {
-        ATH_MSG_INFO( "AlfaEventHeaderFillerTool---> Constructor" );
-        //declareProperty( "CalibrateEnergy",      m_calibrateEnergy = false );
-
-        //DCS IDs
-        m_pullDCSBlmID=NULL;
-        m_pullDCSHVChannelID=NULL;
-        m_pullDCSLocalMonitoringID=NULL;
-        m_pullDCSMovementID=NULL;
-        m_pullDCSRadMonID=NULL;
-        m_pullDCSTriggerRatesID=NULL;
-        m_pullDCSFEConfigurationID=NULL;
-        m_pullDCSTriggerSettingsID=NULL;
-
-        //RawDataContainer
-        m_pvecScaler=NULL;
-        m_pnBCId=NULL;
-        m_pnTimeStamp=NULL;
-        m_pnTimeStamp_ns=NULL;
-        m_pvecTrigPat=NULL;
-
-        //DigitCollection
-        m_pvecMDFiberHits=NULL;
-        m_pvecMDMultiplicity=NULL;
-
-        //ODDigitCollection
-        m_pvecODFiberHitsPos=NULL;
-        m_pvecODFiberHitsNeg=NULL;
-        m_pvecODMultiplicityPos=NULL;
-        m_pvecODMultiplicityNeg=NULL;
-
-        // data type using in the local reconstruction
-        // for the simulation data the value is 0, for the real data the value is 1. Unset value is -1
-        declareProperty("DataType", m_nDataType=1, "data type using in the local reconstruction");
-    }
-
-    /**
-	* Initialize: informs the type container to D3PDMaker
-	*             retrieves the mapping database
-	*             prepares the coefficients for the calibration
-	*
-	* @return Success or failure (will stop the processing)
-	*/
-    StatusCode AlfaEventHeaderFillerTool::initialize()
-    {
-        // Initialize the base class:
-        CHECK( AlfaDataEventFillerBase::initialize() );
-
-        ATH_MSG_INFO( "AlfaEventHeaderFillerTool---> Initialized" );
-
-        //		std::cout << "m_iDataType = " << m_iDataType << std::endl;
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AlfaEventHeaderFillerTool::book()
-    {
-        ATH_MSG_DEBUG( "AlfaEventHeaderFillerTool---> Booking Histograms" );
-
-        if (m_nDataType==1)
-        {
-            //DCS IDs
-            CHECK( addVariable ("DCS_BLM", m_pullDCSBlmID));
-            CHECK( addVariable ("DCS_HVCHANNEL", m_pullDCSHVChannelID));
-            CHECK( addVariable ("DCS_LOCALMONITORING", m_pullDCSLocalMonitoringID));
-            CHECK( addVariable ("DCS_MOVEMENT", m_pullDCSMovementID));
-            CHECK( addVariable ("DCS_RADMON", m_pullDCSRadMonID));
-            CHECK( addVariable ("DCS_TRIGGERRATES", m_pullDCSTriggerRatesID));
-            CHECK( addVariable ("DCS_FECONFIGURATION", m_pullDCSFEConfigurationID));
-            CHECK( addVariable ("DCS_TRIGGERSETTINGS", m_pullDCSTriggerSettingsID));
-
-            //RawDataContainer
-            CHECK( addVariable ("Scaler", m_pvecScaler));
-            CHECK( addVariable ("BCId", m_pnBCId));
-            CHECK( addVariable ("TimeStp", m_pnTimeStamp));
-            CHECK( addVariable ("TimeStp_ns", m_pnTimeStamp_ns));
-            CHECK( addVariable ("TrigPat", m_pvecTrigPat));
-        }
-
-        //DigitCollection
-        CHECK( addVariable ("FiberHitsMD", m_pvecMDFiberHits));
-        CHECK( addVariable ("MultiMD", m_pvecMDMultiplicity));
-
-        //ODDigitCollection
-        CHECK( addVariable ("FiberHitsODPos", m_pvecODFiberHitsPos));
-        CHECK( addVariable ("FiberHitsODNeg", m_pvecODFiberHitsNeg));
-        CHECK( addVariable ("MultiODPos", m_pvecODMultiplicityPos));
-        CHECK( addVariable ("MultiODNeg", m_pvecODMultiplicityNeg));
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AlfaEventHeaderFillerTool::fill( const ALFA_CLinkEvent& DataEvent )
-    {
-        unsigned int i;
-        int nPotID, nPlateID, nFiberID, nSideID;
-        ClearData();
-
-        if (m_nDataType==1)
-        {
-            //DCS IDs
-            *m_pullDCSBlmID=DataEvent.GetDCSFolderID(EDCSI_BLM);
-            *m_pullDCSHVChannelID=DataEvent.GetDCSFolderID(EDCSI_HVCHANNEL);
-            *m_pullDCSLocalMonitoringID=DataEvent.GetDCSFolderID(EDCSI_LOCALMONITORING);
-            *m_pullDCSMovementID=DataEvent.GetDCSFolderID(EDCSI_MOVEMENT);
-            *m_pullDCSRadMonID=DataEvent.GetDCSFolderID(EDCSI_RADMON);
-            *m_pullDCSTriggerRatesID=DataEvent.GetDCSFolderID(EDCSI_TRIGGERRATES);
-            *m_pullDCSFEConfigurationID=DataEvent.GetDCSFolderID(EDCSI_FECONFIGURATION);
-            *m_pullDCSTriggerSettingsID=DataEvent.GetDCSFolderID(EDCSI_TRIGGERSETTINGS);
-
-            //RawDataContainer
-            const ALFA_RawDataContainer* pRawDataColl=(const ALFA_RawDataContainer*)DataEvent.GetLinkedObject(EDVT_RAWDATAEVCOLLECTION);
-            ALFA_RawDataContainer::const_iterator iterRawData;
-
-            if(pRawDataColl!=NULL){
-                *m_pnTimeStamp=pRawDataColl->GetTimeStamp();
-                *m_pnTimeStamp_ns=pRawDataColl->GetTimeStampns();
-                *m_pnBCId=pRawDataColl->GetBCId();
-
-                vector<bool> vecRPPattern;
-                for(iterRawData=pRawDataColl->begin();iterRawData!=pRawDataColl->end();iterRawData++){
-                    nPotID=(*iterRawData)->GetMBId_POT();
-                    (*m_pvecScaler)[nPotID-1]=(*iterRawData)->Get_scaler_POT();
-
-                    vecRPPattern=(*iterRawData)->Get_pattern_POT();
-                    for(i=0;i<vecRPPattern.size();i++){
-                        if(i<RPOTSCNT*TRIGPATCNT) (*m_pvecTrigPat)[(nPotID-1)*TRIGPATCNT+i]=vecRPPattern[vecRPPattern.size()-(i+1)];
-                    }
-                }
-            }
-            else{
-                msg(MSG::WARNING) << "Cannot find '"<< EVCOLLNAME_RAWDATA <<"' collection"<<endmsg;
-                //			return StatusCode::FAILURE;
-            }
-        }
-
-        //DigitCollection
-        const ALFA_DigitCollection* pDigitColl= (const ALFA_DigitCollection*)DataEvent.GetLinkedObject(EDVT_DIGITCOLLECTION);
-        ALFA_DigitCollection::const_iterator iterDigit;
-
-        if(pDigitColl!=NULL){
-            for(iterDigit=pDigitColl->begin();iterDigit!=pDigitColl->end();iterDigit++){
-                nPotID=(*iterDigit)->getStation(); //in range 0-7
-                nPlateID=(*iterDigit)->getPlate(); //indexed from 0
-                nFiberID=(*iterDigit)->getFiber(); //indexed from 0
-
-                if(nPotID<RPOTSCNT && nPlateID<(MDLAYERSCNT*MDPLATESCNT) && nFiberID<MDFIBERSCNT){
-                    (*m_pvecMDFiberHits)[(nPotID*MDLAYERSCNT*MDPLATESCNT*MDFIBERSCNT)+(nPlateID*MDFIBERSCNT)+nFiberID]=1;
-                    (*m_pvecMDMultiplicity)[(nPotID*MDLAYERSCNT*MDPLATESCNT)+nPlateID]++;
-                }
-                else{
-                    msg(MSG::ERROR) << "Index exceed array size for [RPotID, nPlateID, nFiberID]= ["<<nPotID<<", "<<nPlateID<<", "<<nFiberID<<"]"<<endmsg;
-                    return StatusCode::FAILURE;
-                }
-            }
-        }
-        else{
-            msg(MSG::WARNING) << "Cannot find '"<< EVCOLLNAME_DIGIT <<"' collection"<<endmsg;
-            //			return StatusCode::FAILURE;
-        }
-
-        //ODDigitCollection
-        const ALFA_ODDigitCollection* pODDigitColl= (const ALFA_ODDigitCollection*)DataEvent.GetLinkedObject(EDVT_ODDIGITCOLLECTION);
-        ALFA_ODDigitCollection::const_iterator iterODDigit;
-
-        if(pODDigitColl!=NULL){
-            for(iterODDigit=pODDigitColl->begin();iterODDigit!=pODDigitColl->end();iterODDigit++){
-                nPotID=(*iterODDigit)->getStation(); //in range 0-7
-                nPlateID=(*iterODDigit)->getPlate(); //indexed from 0
-                nSideID=(*iterODDigit)->getSide();   //indexed from 0
-                nFiberID=(*iterODDigit)->getFiber(); //indexed from 0
-
-                if(nPotID<RPOTSCNT && nPlateID<(ODPLATESCNT) && nFiberID<ODLAYERSCNT*ODFIBERSCNT){
-                    if(nSideID==0){ //right side
-                        (*m_pvecODFiberHitsNeg)[(nPotID*ODPLATESCNT*ODLAYERSCNT*ODFIBERSCNT)+(nPlateID*ODLAYERSCNT*ODFIBERSCNT)+nFiberID]=1;
-                        (*m_pvecODMultiplicityNeg)[(nPotID*ODPLATESCNT)+nPlateID]++;
-                    }
-                    else{ //left side
-                        (*m_pvecODFiberHitsPos)[(nPotID*ODPLATESCNT*ODLAYERSCNT*ODFIBERSCNT)+(nPlateID*ODLAYERSCNT*ODFIBERSCNT)+nFiberID]=1;
-                        (*m_pvecODMultiplicityPos)[(nPotID*ODPLATESCNT)+nPlateID]++;
-                    }
-                }
-                else{
-                    msg(MSG::ERROR) << "Index exceed array size for [RPotID, nPlateID, nFiberID, nSideID]= ["<<nPotID<<", "<<nPlateID<<", "<<nFiberID<<", "<<nSideID<<"]"<<endmsg;
-                    return StatusCode::FAILURE;
-                }
-            }
-        }
-        else{
-            msg(MSG::WARNING) << "Cannot find '"<< EVCOLLNAME_ODDIGIT <<"' collection"<<endmsg;
-            //			return StatusCode::FAILURE;
-        }
-
-        return StatusCode::SUCCESS;
-    }
-
-    void AlfaEventHeaderFillerTool::ClearData()
-    {
-        if (m_nDataType==1)
-        {
-            //DCS IDs
-            *m_pullDCSBlmID=0;
-            *m_pullDCSHVChannelID=0;
-            *m_pullDCSLocalMonitoringID=0;
-            *m_pullDCSMovementID=0;
-            *m_pullDCSRadMonID=0;
-            *m_pullDCSTriggerRatesID=0;
-            *m_pullDCSFEConfigurationID=0;
-            *m_pullDCSTriggerSettingsID=0;
-
-            //RawDataContainer
-            m_pvecScaler->resize(RPOTSCNT);
-            fill_n(m_pvecScaler->begin(),m_pvecScaler->size(),-1);
-            *m_pnBCId=-1;
-            *m_pnTimeStamp=-1;
-            *m_pnTimeStamp_ns=-1;
-            m_pvecTrigPat->resize(RPOTSCNT*TRIGPATCNT);
-            fill_n(m_pvecTrigPat->begin(),m_pvecTrigPat->size(),0);
-        }
-
-        //DigitCollection
-        m_pvecMDFiberHits->resize(RPOTSCNT*MDLAYERSCNT*MDPLATESCNT*MDFIBERSCNT);
-        fill_n(m_pvecMDFiberHits->begin(),m_pvecMDFiberHits->size(),0);
-        m_pvecMDMultiplicity->resize(RPOTSCNT*MDLAYERSCNT*MDPLATESCNT);
-        fill_n(m_pvecMDMultiplicity->begin(),m_pvecMDMultiplicity->size(),0);
-
-        //ODDigitCollection
-        m_pvecODFiberHitsPos->resize(RPOTSCNT*ODPLATESCNT*ODLAYERSCNT*ODFIBERSCNT);
-        fill_n(m_pvecODFiberHitsPos->begin(),m_pvecODFiberHitsPos->size(),0);
-        m_pvecODFiberHitsNeg->resize(RPOTSCNT*ODPLATESCNT*ODLAYERSCNT*ODFIBERSCNT);
-        fill_n(m_pvecODFiberHitsNeg->begin(),m_pvecODFiberHitsNeg->size(),0);
-
-        m_pvecODMultiplicityPos->resize(RPOTSCNT*ODPLATESCNT);
-        fill_n(m_pvecODMultiplicityPos->begin(),m_pvecODMultiplicityPos->size(),0);
-        m_pvecODMultiplicityNeg->resize(RPOTSCNT*ODPLATESCNT);
-        fill_n(m_pvecODMultiplicityNeg->begin(),m_pvecODMultiplicityNeg->size(),0);
-
-    }
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaEventHeaderFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaEventHeaderFillerTool.h
deleted file mode 100644
index 68fb61be6a12805633cc303190af66be117a8705..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaEventHeaderFillerTool.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-  * @file ForwardDetectorsD3PDMaker/FillerTool.h
-  * @author Libor Nozka
-  * @date December 2011
-  * @brief Block filler tool for Alfa information.
-  */
-#ifndef FORWARDDETECTORSD3PDMAKER_ALFAEVENTHEADERFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_ALFAEVENTHEADERFILLERTOOL_H
-
-#include "AlfaCommonHdr.h"
-
-namespace D3PD
-{
-
-    class AlfaEventHeaderFillerTool : public AlfaDataEventFillerBase
-    {
-
-    public:
-        /**
-       * @brief Standard Gaudi tool constructor.
-       * @param type   The name of the tool type.
-       * @param name   The tool name.
-       * @param parent The tool's Gaudi parent.
-       */
-        AlfaEventHeaderFillerTool( const std::string& type,
-                                   const std::string& name,
-                                   const IInterface* parent );
-
-        virtual StatusCode initialize();
-        virtual StatusCode book();
-        virtual StatusCode fill( const ALFA_CLinkEvent& DataEvent);
-
-    private:
-        void ClearData();
-
-    private:
-        int m_nDataType;
-
-        //DCS IDs
-        unsigned long long* m_pullDCSBlmID;
-        unsigned long long* m_pullDCSHVChannelID;
-        unsigned long long* m_pullDCSLocalMonitoringID;
-        unsigned long long* m_pullDCSMovementID;
-        unsigned long long* m_pullDCSRadMonID;
-        unsigned long long* m_pullDCSTriggerRatesID;
-        unsigned long long* m_pullDCSFEConfigurationID;
-        unsigned long long* m_pullDCSTriggerSettingsID;
-
-        //RawDataContainer
-        std::vector<int>* m_pvecScaler;
-        int* m_pnBCId;
-        int* m_pnTimeStamp;
-        int* m_pnTimeStamp_ns;
-        std::vector<int>* m_pvecTrigPat;
-
-        //DigitCollection
-        std::vector<int>* m_pvecMDFiberHits;
-        std::vector<int>* m_pvecMDMultiplicity;
-
-        //ODDigitCollection
-        std::vector<int>* m_pvecODFiberHitsPos;
-        std::vector<int>* m_pvecODFiberHitsNeg;
-        std::vector<int>* m_pvecODMultiplicityPos;
-        std::vector<int>* m_pvecODMultiplicityNeg;
-
-    }; // class AlfaEventHeaderFillerTool
-
-} // namespace D3PD
-
-#endif // FORWARDDETECTORSD3PDMAKER_ALFAEVENTHEADERFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaHitCollectionFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaHitCollectionFillerTool.cxx
deleted file mode 100644
index e21f3b6433edf1120d24abcac06133d9bd7b4ad6..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaHitCollectionFillerTool.cxx
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// Local include(s):
-#include "AlfaHitCollectionFillerTool.h"
-
-namespace D3PD {
-
-	AlfaHitCollectionFillerTool::AlfaHitCollectionFillerTool( const std::string& type, const std::string& name, const IInterface* parent)
-		: AlfaHitCollectionFillerBase( type, name, parent )
-	{
-		ATH_MSG_INFO( "AlfaHitCollectionFillerTool---> Constructor" );
-
-		m_pnTotHitsCnt=NULL;
-		m_pvecHitID=NULL;
-		m_pvecTrackID=NULL;
-		m_pvecParticleEncoding=NULL;
-		m_pvecKineticEnergy=NULL;
-		m_pvecEnergyDeposit=NULL;
-		m_pvecPreStepX=NULL;
-		m_pvecPreStepY=NULL;
-		m_pvecPreStepZ=NULL;
-		m_pvecPostStepX=NULL;
-		m_pvecPostStepY=NULL;
-		m_pvecPostStepZ=NULL;
-		m_pvecGlobalTime=NULL;
-		m_pvecFiberSign=NULL;
-		m_pvecPlateID=NULL;
-		m_pvecFiberID=NULL;
-		m_pvecStationID=NULL;
-	}
-
-	StatusCode AlfaHitCollectionFillerTool::initialize()
-	{
-		// Initialize the base class:
-		CHECK( AlfaHitCollectionFillerBase::initialize() );
-		ATH_MSG_INFO( "AlfaHitCollectionFillerTool---> Initialized" );
-
-		return StatusCode::SUCCESS;
-	}
-
-	StatusCode AlfaHitCollectionFillerTool::book()
-	{
-		ATH_MSG_DEBUG( "AlfaHitCollectionFillerTool---> Booking Histograms" );
-
-		CHECK(addVariable("tot_num_hits",m_pnTotHitsCnt));
-		CHECK(addVariable("hitID",m_pvecHitID));
-		CHECK(addVariable("trackID",m_pvecTrackID));
-		CHECK(addVariable("encoding",m_pvecParticleEncoding));
-		CHECK(addVariable("kineticE",m_pvecKineticEnergy));
-		CHECK(addVariable("depE",m_pvecEnergyDeposit));
-		CHECK(addVariable("prestep_x",m_pvecPreStepX));
-		CHECK(addVariable("prestep_y",m_pvecPreStepY));
-		CHECK(addVariable("prestep_z",m_pvecPreStepZ));
-		CHECK(addVariable("poststep_x",m_pvecPostStepX));
-		CHECK(addVariable("poststep_y",m_pvecPostStepY));
-		CHECK(addVariable("poststep_z",m_pvecPostStepZ));
-		CHECK(addVariable("time",m_pvecGlobalTime));
-		CHECK(addVariable("fibersign",m_pvecFiberSign));
-		CHECK(addVariable("plateID",m_pvecPlateID));
-		CHECK(addVariable("fiberID",m_pvecFiberID));
-		CHECK(addVariable("stationID",m_pvecStationID));
-
-		return StatusCode::SUCCESS;
-	}
-
-	StatusCode AlfaHitCollectionFillerTool::fill(const ALFA_HitCollection& DataCollection)
-	{
-		ClearData(DataCollection);
-
-		int i;
-		ALFA_HitCollection::const_iterator iterColl;
-
-		ClearData(DataCollection);
-
-		*m_pnTotHitsCnt=DataCollection.size();
-		for(i=0,iterColl=DataCollection.begin();iterColl!=DataCollection.end();i++,iterColl++)
-		{
-			(*m_pvecHitID)[i]=iterColl->GetHitID();
-			(*m_pvecTrackID)[i]=iterColl->GetTrackID();
-			(*m_pvecParticleEncoding)[i]=iterColl->GetParticleEncoding();
-			(*m_pvecKineticEnergy)[i]=iterColl->GetKineticEnergy();
-			(*m_pvecEnergyDeposit)[i]=iterColl->GetEnergyDeposit();
-			(*m_pvecPreStepX)[i]=iterColl->GetPreStepX();
-			(*m_pvecPreStepY)[i]=iterColl->GetPreStepY();
-			(*m_pvecPreStepZ)[i]=iterColl->GetPreStepZ();
-			(*m_pvecPostStepX)[i]=iterColl->GetPostStepX();
-			(*m_pvecPostStepY)[i]=iterColl->GetPostStepY();
-			(*m_pvecPostStepZ)[i]=iterColl->GetPostStepZ();
-			(*m_pvecGlobalTime)[i]=iterColl->GetGlobalTime();
-			(*m_pvecFiberSign)[i]=iterColl->GetSignFiber();
-			(*m_pvecPlateID)[i]=iterColl->GetPlateNumber();
-			(*m_pvecFiberID)[i]=iterColl->GetFiberNumber();
-			(*m_pvecStationID)[i]=iterColl->GetStationNumber();
-		}
-
-		return StatusCode::SUCCESS;
-	}
-
-	void AlfaHitCollectionFillerTool::ClearData(const ALFA_HitCollection& DataCollection)
-	{
-		int nItemsCnt;
-
-		nItemsCnt=DataCollection.size();
-		*m_pnTotHitsCnt=-1;
-		m_pvecHitID->resize(nItemsCnt);
-		fill_n(m_pvecHitID->begin(),m_pvecHitID->size(),-1);
-		m_pvecTrackID->resize(nItemsCnt);
-		fill_n(m_pvecTrackID->begin(),m_pvecTrackID->size(),-1);
-		m_pvecParticleEncoding->resize(nItemsCnt);
-		fill_n(m_pvecParticleEncoding->begin(),m_pvecParticleEncoding->size(),UNDEFINTVALUE);
-		m_pvecKineticEnergy->resize(nItemsCnt);
-		fill_n(m_pvecKineticEnergy->begin(),m_pvecKineticEnergy->size(),UNDEFFLOATVALUE);
-		m_pvecEnergyDeposit->resize(nItemsCnt);
-		fill_n(m_pvecEnergyDeposit->begin(),m_pvecEnergyDeposit->size(),UNDEFFLOATVALUE);
-		m_pvecPreStepX->resize(nItemsCnt);
-		fill_n(m_pvecPreStepX->begin(),m_pvecPreStepX->size(),UNDEFFLOATVALUE);
-		m_pvecPreStepY->resize(nItemsCnt);
-		fill_n(m_pvecPreStepY->begin(),m_pvecPreStepY->size(),UNDEFFLOATVALUE);
-		m_pvecPreStepZ->resize(nItemsCnt);
-		fill_n(m_pvecPreStepZ->begin(),m_pvecPreStepZ->size(),UNDEFFLOATVALUE);
-		m_pvecPostStepX->resize(nItemsCnt);
-		fill_n(m_pvecPostStepX->begin(),m_pvecPostStepX->size(),UNDEFFLOATVALUE);
-		m_pvecPostStepY->resize(nItemsCnt);
-		fill_n(m_pvecPostStepY->begin(),m_pvecPostStepY->size(),UNDEFFLOATVALUE);
-		m_pvecPostStepZ->resize(nItemsCnt);
-		fill_n(m_pvecPostStepZ->begin(),m_pvecPostStepZ->size(),UNDEFFLOATVALUE);
-		m_pvecGlobalTime->resize(nItemsCnt);
-		fill_n(m_pvecGlobalTime->begin(),m_pvecGlobalTime->size(),UNDEFFLOATVALUE);
-		m_pvecFiberSign->resize(nItemsCnt);
-		fill_n(m_pvecFiberSign->begin(),m_pvecFiberSign->size(),-1);
-		m_pvecPlateID->resize(nItemsCnt);
-		fill_n(m_pvecPlateID->begin(),m_pvecPlateID->size(),-1);
-		m_pvecFiberID->resize(nItemsCnt);
-		fill_n(m_pvecFiberID->begin(),m_pvecFiberID->size(),-1);
-		m_pvecStationID->resize(nItemsCnt);
-		fill_n(m_pvecStationID->begin(),m_pvecStationID->size(),-1);
-	}
-
-
-} // namespace D3PD
-
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaHitCollectionFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaHitCollectionFillerTool.h
deleted file mode 100644
index b5996deb0d7575096f0c86f7d886218ed8d0f9a4..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaHitCollectionFillerTool.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FORWARDDETECTORSD3PDMAKER_ALFAHITCOLLECTIONFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_ALFAHITCOLLECTIONFILLERTOOL_H
-
-#include "AlfaCommonHdr.h"
-#include "ALFA_SimEv/ALFA_HitCollection.h"
-
-namespace D3PD
-{
-	typedef D3PD::BlockFillerTool<ALFA_HitCollection> AlfaHitCollectionFillerBase;
-
-	class AlfaHitCollectionFillerTool : public AlfaHitCollectionFillerBase
-	{
-
-	public:
-		AlfaHitCollectionFillerTool(const std::string& type, const std::string& name, const IInterface* parent);
-
-		virtual StatusCode initialize();
-		virtual StatusCode book();
-		virtual StatusCode fill(const ALFA_HitCollection& DataCollection);
-
-	private:
-		void ClearData(const ALFA_HitCollection& DataCollection);
-
-	private:
-		int* m_pnTotHitsCnt;
-		std::vector<int>* m_pvecHitID;
-		std::vector<int>* m_pvecTrackID;
-		std::vector<int>* m_pvecParticleEncoding;
-		std::vector<float>* m_pvecKineticEnergy;
-		std::vector<float>* m_pvecEnergyDeposit;
-		std::vector<float>* m_pvecPreStepX;
-		std::vector<float>* m_pvecPreStepY;
-		std::vector<float>* m_pvecPreStepZ;
-		std::vector<float>* m_pvecPostStepX;
-		std::vector<float>* m_pvecPostStepY;
-		std::vector<float>* m_pvecPostStepZ;
-		std::vector<float>* m_pvecGlobalTime;
-
-		std::vector<int>* m_pvecFiberSign;
-		std::vector<int>* m_pvecPlateID;
-		std::vector<int>* m_pvecFiberID;
-		std::vector<int>* m_pvecStationID;
-	};
-}
-
-#endif // FORWARDDETECTORSD3PDMAKER_ALFAHITCOLLECTIONFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaMetaDataTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaMetaDataTool.cxx
deleted file mode 100644
index 643599e00301c8dceb801904e202495a3ce8378b..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaMetaDataTool.cxx
+++ /dev/null
@@ -1,585 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-
-// Athena/Gaudi include(s):
-#include "AthenaKernel/errorcheck.h"
-
-
-// D3PDMaker include(s):
-#include "D3PDMakerInterfaces/ID3PD.h"
-
-// Local include(s):
-#include "AlfaMetaDataTool.h"
-
-using namespace std;
-
-namespace D3PD
-{
-	AlfaMetaDataTool::AlfaMetaDataTool( const std::string& type,const std::string& name, const IInterface* parent )
-		: AthAlgTool( type, name, parent ), m_COOLDir( "" ), m_d3pdSvc( "D3PDSvc", name ), m_iovSvc( "IOVDbSvc", name )
-	{
-		declareProperty( "MetaDataDir", m_COOLDir = "alfaMeta" );
-		declareProperty( "D3PDSvc", m_d3pdSvc );
-
-		//DCS BLM
-		m_pullBLMId=NULL;
-		m_pvecBLM=NULL;
-
-		//DCS HVCHANNEL
-		m_pullHVChannelId=NULL;
-		m_pvecActualVMeas=NULL;
-		m_pvecActualIMeas=NULL;
-
-		//DCS LOCALMONITORING
-		m_pullLocalMonitoringId=NULL;
-		m_pvecTempSensor1=NULL;
-		m_pvecTempSensor2=NULL;
-		m_pvecTempSensor3=NULL;
-		m_pvecTempSensor4=NULL;
-		m_pvecTempSensor5=NULL;
-
-		//DCS MOVEMENT
-		m_pullMovementId=NULL;
-		m_pvecPosLVDT=NULL;
-		m_pvecPosMotor=NULL;
-
-		//DCS RADMON
-		m_pullRadMonId=NULL;
-		m_pvecDose=NULL;
-		m_pvecFluence=NULL;
-		m_pvecTemp=NULL;
-
-		//DCS TRIGGERRATES
-		m_pullTriggerRatesId=NULL;
-		m_pvecTriggerRates=NULL;
-
-		//DCS FECONFIGURATION
-		m_pullFEConfigurationId=NULL;
-		m_pvecThreshold=NULL;
-		m_pvecGain=NULL;
-		m_pvecMDGainMode=NULL;
-
-		//DCS TRIGGERSETTINGS
-		m_pullTriggerSettingsId=NULL;
-		m_pvecTriggerSet=NULL;
-		m_pvecLatency=NULL;
-
-                m_DCSTreeBLM = 0;
-                m_DCSTreeFEConfiguration = 0;
-                m_DCSTreeHVChannel = 0;
-                m_DCSTreeLocalMonitoring = 0;
-                m_DCSTreeMovement = 0;
-                m_DCSTreeRadMon = 0;
-                m_DCSTreeTriggerRates = 0;
-                m_DCSTreeTriggerSettings = 0;
-	}
-
-	StatusCode AlfaMetaDataTool::initialize()
-	{
-		StatusCode sc;
-
-		ATH_MSG_INFO( "Initializing. Package version: " << PACKAGE_VERSION );
-
-		CHECK(m_d3pdSvc.retrieve());
-		CHECK(m_iovSvc.retrieve());
-
-		//DCS BLM
-		CHECK(m_d3pdSvc->make(m_COOLDir+"/alfa_BlmTree",m_DCSTreeBLM));
-		CHECK(m_DCSTreeBLM->addVariable("ID",m_pullBLMId,"BLM ID"));
-		CHECK(m_DCSTreeBLM->addVariable("BLM",m_pvecBLM,"BLM values"));
-
-		//DCS HVCHANNEL
-		CHECK(m_d3pdSvc->make(m_COOLDir+"/alfa_HVChannelTree",m_DCSTreeHVChannel));
-		CHECK(m_DCSTreeHVChannel->addVariable("ID",m_pullHVChannelId,"HVCHANNEL ID"));
-		CHECK(m_DCSTreeHVChannel->addVariable("Voltage",m_pvecActualVMeas,"Voltage values"));
-		CHECK(m_DCSTreeHVChannel->addVariable("Current",m_pvecActualIMeas,"Current values"));
-
-		//DCS LOCALMONITORING
-		CHECK(m_d3pdSvc->make(m_COOLDir+"/alfa_LocalMonitoringTree",m_DCSTreeLocalMonitoring));
-		CHECK(m_DCSTreeLocalMonitoring->addVariable("ID",m_pullLocalMonitoringId,"LOCALMONITORING ID"));
-		CHECK(m_DCSTreeLocalMonitoring->addVariable("TempSensor1",m_pvecTempSensor1,"Temperature sensor no. 1"));
-		CHECK(m_DCSTreeLocalMonitoring->addVariable("TempSensor2",m_pvecTempSensor2,"Temperature sensor no. 2"));
-		CHECK(m_DCSTreeLocalMonitoring->addVariable("TempSensor3",m_pvecTempSensor3,"Temperature sensor no. 3"));
-		CHECK(m_DCSTreeLocalMonitoring->addVariable("TempSensor4",m_pvecTempSensor4,"Temperature sensor no. 4"));
-		CHECK(m_DCSTreeLocalMonitoring->addVariable("TempSensor5",m_pvecTempSensor5,"Temperature sensor no. 5"));
-
-		//DCS MOVEMENT
-		CHECK(m_d3pdSvc->make(m_COOLDir+"/alfa_MovementTree",m_DCSTreeMovement));
-		CHECK(m_DCSTreeMovement->addVariable("ID",m_pullMovementId,"MOVEMENT ID"));
-		CHECK(m_DCSTreeMovement->addVariable("LVDT",m_pvecPosLVDT,"LVDT value"));
-		CHECK(m_DCSTreeMovement->addVariable("Motor",m_pvecPosMotor,"Position of motor"));
-
-		//DCS RADMON
-		CHECK(m_d3pdSvc->make(m_COOLDir+"/alfa_RadMonTree",m_DCSTreeRadMon));
-		CHECK(m_DCSTreeRadMon->addVariable("ID",m_pullRadMonId,"RADMON ID"));
-		CHECK(m_DCSTreeRadMon->addVariable("Dose",m_pvecDose,"Dose"));
-		CHECK(m_DCSTreeRadMon->addVariable("Fluence",m_pvecFluence,"Fluence"));
-		CHECK(m_DCSTreeRadMon->addVariable("Temperature",m_pvecTemp,"Temperature"));
-
-		//DCS TRIGGERRATES
-		CHECK(m_d3pdSvc->make(m_COOLDir+"/alfa_TriggerRatesTree",m_DCSTreeTriggerRates));
-		CHECK(m_DCSTreeTriggerRates->addVariable("ID",m_pullTriggerRatesId,"TRIGGERRATES ID"));
-		CHECK(m_DCSTreeTriggerRates->addVariable("TriggerRates",m_pvecTriggerRates,"Trigger rates"));
-
-		//DCS FECONFIGURATION
-		CHECK(m_d3pdSvc->make(m_COOLDir+"/alfa_FEConfigurationTree",m_DCSTreeFEConfiguration));
-		CHECK(m_DCSTreeFEConfiguration->addVariable("ID",m_pullFEConfigurationId,"FECONFIGURATION ID"));
-		CHECK(m_DCSTreeFEConfiguration->addVariable("Threshold",m_pvecThreshold,"Threshold"));
-		CHECK(m_DCSTreeFEConfiguration->addVariable("Gain",m_pvecGain,"Gain"));
-		CHECK(m_DCSTreeFEConfiguration->addVariable("MDGainMode",m_pvecMDGainMode,"Gain mode of the Main detector"));
-
-		//DCS TRIGGERSETTINGS
-		CHECK(m_d3pdSvc->make(m_COOLDir+"/alfa_TriggerSettingsTree",m_DCSTreeTriggerSettings));
-		CHECK(m_DCSTreeTriggerSettings->addVariable("ID",m_pullTriggerSettingsId,"TRIGGERSETTINGS ID"));
-		CHECK(m_DCSTreeTriggerSettings->addVariable("TriggerSettings",m_pvecTriggerSet,"Trigger settings"));
-		CHECK(m_DCSTreeTriggerSettings->addVariable("Latency",m_pvecLatency,"Trigger latency"));
-
-		//register IOV/COOL callbacks
-		CHECK(AddCOOLFolderCallback(DCSCOLLNAME_BLM));
-		CHECK(AddCOOLFolderCallback(DCSCOLLNAME_HVCHANNEL));
-		CHECK(AddCOOLFolderCallback(DCSCOLLNAME_LOCALMONITORING));
-		CHECK(AddCOOLFolderCallback(DCSCOLLNAME_MOVEMENT));
-		CHECK(AddCOOLFolderCallback(DCSCOLLNAME_RADMON));
-		CHECK(AddCOOLFolderCallback(DCSCOLLNAME_TRIGGERRATES));
-		CHECK(AddCOOLFolderCallback(DCSCOLLNAME_FECONFIGURATION));
-		CHECK(AddCOOLFolderCallback(DCSCOLLNAME_TRIGGERSETTINGS));
-
-		return sc;
-   }
-
-	StatusCode AlfaMetaDataTool::queryInterface( const InterfaceID& riid, void** ppvIf )
-	{
-		if(riid==IMetadataTool::interfaceID()){
-			*ppvIf = static_cast< IMetadataTool* >( this );
-			addRef();
-			return StatusCode::SUCCESS;
-		}
-		/*else if( riid == IIncidentListener::interfaceID() ) {
-			*ppvIf = static_cast< IIncidentListener* >( this );
-			addRef();
-			return StatusCode::SUCCESS;
-		}*/
-
-		return AthAlgTool::queryInterface( riid, ppvIf );
-   }
-
-   StatusCode AlfaMetaDataTool::writeMetadata( ID3PD* )
-   {
-		ATH_MSG_INFO( "DCS information available in the D3PD in directory: \""<< m_COOLDir << "\"" );
-		return StatusCode::SUCCESS;
-   }
-
-   StatusCode AlfaMetaDataTool::AddCOOLFolderCallback(const std::string& Folder)
-   {
-	   StatusCode sc=StatusCode::FAILURE;
-
-	   const DataHandle<CondAttrListCollection> DataPtr;
-	   sc=detStore()->regFcn(&AlfaMetaDataTool::COOLUpdate, this, DataPtr, Folder, true);
-	   if(sc!=StatusCode::SUCCESS){
-		   msg(MSG::ERROR) << "Cannot register COOL callback for folder '"<<Folder<<"'" << endmsg;
-	   }
-
-	   return sc;
-   }
-
-   //StatusCode AlfaMetaDataTool::COOLUpdate(IOVSVC_CALLBACK_ARGS_P(I,keys)) //-- old declaration (<=17.6.0)
-   StatusCode AlfaMetaDataTool::COOLUpdate(IOVSVC_CALLBACK_ARGS_K(keys))
-   {
-	   int nChannel;
-	   StatusCode sc=StatusCode::SUCCESS;
-	   list<string>::const_iterator iter;
-	   const CondAttrListCollection* listAttrColl;
-	   CondAttrListCollection::const_iterator iterAttr;
-
-	   for(iter=keys.begin();iter!=keys.end();iter++){
-		   if((*iter)==DCSCOLLNAME_BLM){
-			   msg(MSG::INFO) << " IOV/COOL Notification '"<<DCSCOLLNAME_BLM<<"'" << endmsg;
-			   ClearDCSData(EDCSI_BLM);
-
-			   if(detStore()->retrieve(listAttrColl,DCSCOLLNAME_BLM)==StatusCode::SUCCESS){
-				   *m_pullBLMId=CalcDCSId(EDCSI_BLM);
-
-				   for(iterAttr=listAttrColl->begin();iterAttr!=listAttrColl->end();iterAttr++){
-					   nChannel=iterAttr->first;
-					   (*m_pvecBLM)[nChannel-1]=((iterAttr->second)[0]).data<float>();
-				   }
-
-				   if((sc=m_DCSTreeBLM->capture()).isFailure()){
-					   msg(MSG::ERROR) << " Couldn't save '"<<DCSCOLLNAME_BLM<<"' tree" << endmsg;
-					   sc=StatusCode::FAILURE;
-					   break;
-				   }
-			   }
-			   else{
-				   msg(MSG::ERROR) << "DCS Folder '"<<DCSCOLLNAME_BLM<<"' not found" << endmsg;
-				   sc=StatusCode::FAILURE;
-				   break;
-			   }
-		   }
-		   else if((*iter)==DCSCOLLNAME_HVCHANNEL){
-			   msg(MSG::INFO) << " IOV/COOL Notification '"<<DCSCOLLNAME_HVCHANNEL<<"'" << endmsg;
-			   ClearDCSData(EDCSI_HVCHANNEL);
-
-			   if(detStore()->retrieve(listAttrColl,DCSCOLLNAME_HVCHANNEL)==StatusCode::SUCCESS){
-				   *m_pullHVChannelId=CalcDCSId(EDCSI_HVCHANNEL);
-
-				   for(iterAttr=listAttrColl->begin();iterAttr!=listAttrColl->end();iterAttr++){
-						nChannel=iterAttr->first;
-						(*m_pvecActualVMeas)[nChannel-1]=((iterAttr->second)[0]).data<float>();
-						(*m_pvecActualIMeas)[nChannel-1]=((iterAttr->second)[1]).data<float>();
-				   }
-
-				   if((sc=m_DCSTreeHVChannel->capture()).isFailure()){
-					   msg(MSG::ERROR) << " Couldn't save '"<<DCSCOLLNAME_HVCHANNEL<<"' tree" << endmsg;
-					   sc=StatusCode::FAILURE;
-					   break;
-				   }
-			   }
-			   else{
-				   msg(MSG::ERROR) << "DCS Folder '"<<DCSCOLLNAME_HVCHANNEL<<"' not found" << endmsg;
-				   sc=StatusCode::FAILURE;
-				   break;
-			   }
-		   }
-		   else if((*iter)==DCSCOLLNAME_LOCALMONITORING){
-			   msg(MSG::INFO) << " IOV/COOL Notification '"<<DCSCOLLNAME_LOCALMONITORING<<"'" << endmsg;
-			   ClearDCSData(EDCSI_LOCALMONITORING);
-
-			   if(detStore()->retrieve(listAttrColl,DCSCOLLNAME_LOCALMONITORING)==StatusCode::SUCCESS){
-				   *m_pullLocalMonitoringId=CalcDCSId(EDCSI_LOCALMONITORING);
-
-				   for(iterAttr=listAttrColl->begin();iterAttr!=listAttrColl->end();iterAttr++){
-						nChannel=iterAttr->first; //RPot ID
-						(*m_pvecTempSensor1)[nChannel-1]=((iterAttr->second)[0]).data<float>();
-						(*m_pvecTempSensor2)[nChannel-1]=((iterAttr->second)[1]).data<float>();
-						(*m_pvecTempSensor3)[nChannel-1]=((iterAttr->second)[2]).data<float>();
-						(*m_pvecTempSensor4)[nChannel-1]=((iterAttr->second)[3]).data<float>();
-						(*m_pvecTempSensor5)[nChannel-1]=((iterAttr->second)[4]).data<float>();
-				   }
-
-				   if((sc=m_DCSTreeLocalMonitoring->capture()).isFailure()){
-					   msg(MSG::ERROR) << " Couldn't save '"<<DCSCOLLNAME_LOCALMONITORING<<"' tree" << endmsg;
-					   sc=StatusCode::FAILURE;
-					   break;
-				   }
-			   }
-			   else{
-				   msg(MSG::ERROR) << "DCS Folder '"<<DCSCOLLNAME_LOCALMONITORING<<"' not found" << endmsg;
-				   sc=StatusCode::FAILURE;
-				   break;
-			   }
-		   }
-		   else if((*iter)==DCSCOLLNAME_MOVEMENT){
-			   msg(MSG::INFO) << " IOV/COOL Notification '"<<DCSCOLLNAME_MOVEMENT<<"'" << endmsg;
-			   ClearDCSData(EDCSI_MOVEMENT);
-
-			   if(detStore()->retrieve(listAttrColl,DCSCOLLNAME_MOVEMENT)==StatusCode::SUCCESS){
-				   *m_pullMovementId=CalcDCSId(EDCSI_MOVEMENT);
-
-				   for(iterAttr=listAttrColl->begin();iterAttr!=listAttrColl->end();iterAttr++){
-						nChannel=iterAttr->first; //RPot ID
-						(*m_pvecPosLVDT)[nChannel-1]=((iterAttr->second)[0]).data<float>();
-						(*m_pvecPosMotor)[nChannel-1]=((iterAttr->second)[1]).data<float>();
-				   }
-
-				   if((sc=m_DCSTreeMovement->capture()).isFailure()){
-					   msg(MSG::ERROR) << " Couldn't save '"<<DCSCOLLNAME_MOVEMENT<<"' tree" << endmsg;
-					   sc=StatusCode::FAILURE;
-					   break;
-				   }
-			   }
-			   else{
-				   msg(MSG::ERROR) << "DCS Folder '"<<DCSCOLLNAME_MOVEMENT<<"' not found" << endmsg;
-				   sc=StatusCode::FAILURE;
-				   break;
-			   }
-		   }
-		   else if((*iter)==DCSCOLLNAME_RADMON){
-			   msg(MSG::INFO) << " IOV/COOL Notification '"<<DCSCOLLNAME_RADMON<<"'" << endmsg;
-			   ClearDCSData(EDCSI_RADMON);
-
-			   if(detStore()->retrieve(listAttrColl,DCSCOLLNAME_RADMON)==StatusCode::SUCCESS){
-				   *m_pullRadMonId=CalcDCSId(EDCSI_RADMON);
-
-				   for(iterAttr=listAttrColl->begin();iterAttr!=listAttrColl->end();iterAttr++){
-						nChannel=iterAttr->first;
-						(*m_pvecDose)[nChannel-1]=((iterAttr->second)[0]).data<float>();
-						(*m_pvecFluence)[nChannel-1]=((iterAttr->second)[1]).data<float>();
-						(*m_pvecTemp)[nChannel-1]=((iterAttr->second)[2]).data<float>();
-				   }
-
-				   if((sc=m_DCSTreeRadMon->capture()).isFailure()){
-					   msg(MSG::ERROR) << " Couldn't save '"<<DCSCOLLNAME_RADMON<<"' tree" << endmsg;
-					   sc=StatusCode::FAILURE;
-					   break;
-				   }
-			   }
-			   else{
-				   msg(MSG::ERROR) << "DCS Folder '"<<DCSCOLLNAME_RADMON<<"' not found" << endmsg;
-				   sc=StatusCode::FAILURE;
-				   break;
-			   }
-		   }
-		   else if((*iter)==DCSCOLLNAME_TRIGGERRATES){
-			   msg(MSG::INFO) << " IOV/COOL Notification '"<<DCSCOLLNAME_TRIGGERRATES<<"'" << endmsg;
-			   ClearDCSData(EDCSI_TRIGGERRATES);
-
-			   if(detStore()->retrieve(listAttrColl,DCSCOLLNAME_TRIGGERRATES)==StatusCode::SUCCESS){
-				   *m_pullTriggerRatesId=CalcDCSId(EDCSI_TRIGGERRATES);
-
-				   for(iterAttr=listAttrColl->begin();iterAttr!=listAttrColl->end();iterAttr++){
-						nChannel=iterAttr->first; //RPot ID
-						(*m_pvecTriggerRates)[nChannel-1]=(int)(((iterAttr->second)[0]).data<unsigned int>());
-				   }
-
-				   if((sc=m_DCSTreeTriggerRates->capture()).isFailure()){
-					   msg(MSG::ERROR) << " Couldn't save '"<<DCSCOLLNAME_TRIGGERRATES<<"' tree" << endmsg;
-					   sc=StatusCode::FAILURE;
-					   break;
-				   }
-			   }
-			   else{
-				   msg(MSG::ERROR) << "DCS Folder '"<<DCSCOLLNAME_TRIGGERRATES<<"' not found" << endmsg;
-				   sc=StatusCode::FAILURE;
-				   break;
-			   }
-		   }
-		   else if((*iter)==DCSCOLLNAME_FECONFIGURATION){
-			   msg(MSG::INFO) << " IOV/COOL Notification '"<<DCSCOLLNAME_FECONFIGURATION<<"'" << endmsg;
-			   ClearDCSData(EDCSI_FECONFIGURATION);
-
-			   if(detStore()->retrieve(listAttrColl,DCSCOLLNAME_FECONFIGURATION)==StatusCode::SUCCESS){
-				   *m_pullFEConfigurationId=CalcDCSId(EDCSI_FECONFIGURATION);
-
-				   for(iterAttr=listAttrColl->begin();iterAttr!=listAttrColl->end();iterAttr++){
-						nChannel=iterAttr->first; //RPot ID
-						(*m_pvecThreshold)[(nChannel-1)*FECNFTHRESHLOLDCNT+0]=((iterAttr->second)[0]).data<int>();
-						(*m_pvecThreshold)[(nChannel-1)*FECNFTHRESHLOLDCNT+1]=((iterAttr->second)[5]).data<int>();
-						(*m_pvecThreshold)[(nChannel-1)*FECNFTHRESHLOLDCNT+2]=((iterAttr->second)[8]).data<int>();
-
-						(*m_pvecGain)[(nChannel-1)*FECNFGAINCNT+0]=((iterAttr->second)[1]).data<int>();
-						(*m_pvecGain)[(nChannel-1)*FECNFGAINCNT+1]=((iterAttr->second)[3]).data<int>();
-						(*m_pvecGain)[(nChannel-1)*FECNFGAINCNT+2]=((iterAttr->second)[4]).data<int>();
-						(*m_pvecGain)[(nChannel-1)*FECNFGAINCNT+3]=((iterAttr->second)[6]).data<int>();
-						(*m_pvecGain)[(nChannel-1)*FECNFGAINCNT+4]=((iterAttr->second)[7]).data<int>();
-
-						m_pvecMDGainMode->push_back(((iterAttr->second)[2]).data<string>());
-				   }
-
-				   if((sc=m_DCSTreeFEConfiguration->capture()).isFailure()){
-					   msg(MSG::ERROR) << " Couldn't save '"<<DCSCOLLNAME_FECONFIGURATION<<"' tree" << endmsg;
-					   sc=StatusCode::FAILURE;
-					   break;
-				   }
-			   }
-			   else{
-				   msg(MSG::ERROR) << "DCS Folder '"<<DCSCOLLNAME_FECONFIGURATION<<"' not found" << endmsg;
-				   sc=StatusCode::FAILURE;
-				   break;
-			   }
-		   }
-		   else if((*iter)==DCSCOLLNAME_TRIGGERSETTINGS){
-			   msg(MSG::INFO) << " IOV/COOL Notification '"<<DCSCOLLNAME_TRIGGERSETTINGS<<"'" << endmsg;
-			   ClearDCSData(EDCSI_TRIGGERSETTINGS);
-
-			   if(detStore()->retrieve(listAttrColl,DCSCOLLNAME_TRIGGERSETTINGS)==StatusCode::SUCCESS){
-				   *m_pullTriggerSettingsId=CalcDCSId(EDCSI_TRIGGERSETTINGS);
-
-				   for(iterAttr=listAttrColl->begin();iterAttr!=listAttrColl->end();iterAttr++){
-						nChannel=iterAttr->first; //RPot ID
-						(*m_pvecTriggerSet)[(nChannel-1)*TRIGSETCNT+0]=(int)(((iterAttr->second)[0]).data<bool>());
-						(*m_pvecTriggerSet)[(nChannel-1)*TRIGSETCNT+1]=(int)(((iterAttr->second)[1]).data<bool>());
-						(*m_pvecTriggerSet)[(nChannel-1)*TRIGSETCNT+2]=(int)(((iterAttr->second)[2]).data<bool>());
-						(*m_pvecTriggerSet)[(nChannel-1)*TRIGSETCNT+3]=(int)(((iterAttr->second)[3]).data<bool>());
-						(*m_pvecTriggerSet)[(nChannel-1)*TRIGSETCNT+4]=(int)(((iterAttr->second)[4]).data<bool>());
-						(*m_pvecTriggerSet)[(nChannel-1)*TRIGSETCNT+5]=(int)(((iterAttr->second)[5]).data<bool>());
-
-						(*m_pvecLatency)[(nChannel-1)*TRIGSETLATENCYCNT+0]=(int)(((iterAttr->second)[6]).data<unsigned int>());
-						(*m_pvecLatency)[(nChannel-1)*TRIGSETLATENCYCNT+1]=(int)(((iterAttr->second)[7]).data<unsigned int>());
-						(*m_pvecLatency)[(nChannel-1)*TRIGSETLATENCYCNT+2]=(int)(((iterAttr->second)[8]).data<unsigned int>());
-				   }
-
-				   if((sc=m_DCSTreeTriggerSettings->capture()).isFailure()){
-					   msg(MSG::ERROR) << " Couldn't save '"<<DCSCOLLNAME_TRIGGERSETTINGS<<"' tree" << endmsg;
-					   sc=StatusCode::FAILURE;
-					   break;
-				   }
-			   }
-			   else{
-				   msg(MSG::ERROR) << "DCS Folder '"<<DCSCOLLNAME_TRIGGERSETTINGS<<"' not found" << endmsg;
-				   sc=StatusCode::FAILURE;
-				   break;
-			   }
-		   }
-	   }
-
-	   return StatusCode::SUCCESS;
-   }
-
-   unsigned long long AlfaMetaDataTool::CalcDCSId(eDCSItem eItem)
-   {
-	   unsigned long long ullID;
-	   string Folder;
-
-	   switch(eItem)
-	   {
-	   case EDCSI_BLM:
-		   Folder=DCSCOLLNAME_BLM;
-		   break;
-	   case EDCSI_HVCHANNEL:
-		   Folder=DCSCOLLNAME_HVCHANNEL;
-		   break;
-	   case EDCSI_LOCALMONITORING:
-		   Folder=DCSCOLLNAME_LOCALMONITORING;
-		   break;
-	   case EDCSI_MOVEMENT:
-		   Folder=DCSCOLLNAME_MOVEMENT;
-		   break;
-	   case EDCSI_RADMON:
-		   Folder=DCSCOLLNAME_RADMON;
-		   break;
-	   case EDCSI_TRIGGERRATES:
-		   Folder=DCSCOLLNAME_TRIGGERRATES;
-		   break;
-	   case EDCSI_FECONFIGURATION:
-		   Folder=DCSCOLLNAME_FECONFIGURATION;
-		   break;
-	   case EDCSI_TRIGGERSETTINGS:
-		   Folder=DCSCOLLNAME_TRIGGERSETTINGS;
-		   break;
-	   default:
-		   break;
-	   }
-
-       IIOVDbSvc::KeyInfo info;
-	   if(!m_iovSvc->getKeyInfo(Folder,info)) {
-				msg(MSG::ERROR)<<"Couldn't get IOV data about folder: "<<Folder<<endmsg;
-				return 0;
-	   }
-
-	   // Construct the ID:
-	   const IOVTime& time=info.range.start();
-	   if(time.isRunEvent()){
-		   ullID=static_cast<unsigned long long>(((time.run()&0xffff)<<16)|(time.event()&0xffff));
-	   }
-	   else if(time.isTimestamp()){
-		   //ullID=static_cast<unsigned long long>(time.timestamp()&0xffffffff);
-		   ullID=static_cast<unsigned long long>(time.timestamp());
-	   }
-	   else{
-		   ullID=0;
-	   }
-
-	   return ullID;
-   }
-
-   void AlfaMetaDataTool::ClearDCSData(eDCSItem eItem)
-   {
-		switch(eItem){
-		case EDCSI_BLM:
-		   if(m_pullBLMId!=NULL) *m_pullBLMId=0;
-		   if(m_pvecBLM!=NULL){
-			   m_pvecBLM->resize(BLMCNT);
-			   fill_n(m_pvecBLM->begin(),m_pvecBLM->size(),-9999.0);
-		   }
-		   break;
-		case EDCSI_HVCHANNEL:
-		   if(m_pullHVChannelId!=NULL) *m_pullHVChannelId=0;
-		   if(m_pvecActualVMeas!=NULL){
-			   m_pvecActualVMeas->resize(HVCHANNELCNT);
-			   fill_n(m_pvecActualVMeas->begin(),m_pvecActualVMeas->size(),-9999.0);
-		   }
-		   if(m_pvecActualIMeas!=NULL){
-			   m_pvecActualIMeas->resize(HVCHANNELCNT);
-			   fill_n(m_pvecActualIMeas->begin(),m_pvecActualIMeas->size(),-9999.0);
-		   }
-		   break;
-		case EDCSI_LOCALMONITORING:
-		   if(m_pullLocalMonitoringId!=NULL) *m_pullLocalMonitoringId=0;
-		   if(m_pvecTempSensor1!=NULL){
-			   m_pvecTempSensor1->resize(RPOTSCNT);
-			   fill_n(m_pvecTempSensor1->begin(),m_pvecTempSensor1->size(),-9999.0);
-		   }
-		   if(m_pvecTempSensor2!=NULL){
-			   m_pvecTempSensor2->resize(RPOTSCNT);
-			   fill_n(m_pvecTempSensor2->begin(),m_pvecTempSensor2->size(),-9999.0);
-		   }
-		   if(m_pvecTempSensor3!=NULL){
-			   m_pvecTempSensor3->resize(RPOTSCNT);
-			   fill_n(m_pvecTempSensor3->begin(),m_pvecTempSensor3->size(),-9999.0);
-		   }
-		   if(m_pvecTempSensor4!=NULL){
-			   m_pvecTempSensor4->resize(RPOTSCNT);
-			   fill_n(m_pvecTempSensor4->begin(),m_pvecTempSensor4->size(),-9999.0);
-		   }
-		   if(m_pvecTempSensor5!=NULL){
-			   m_pvecTempSensor5->resize(RPOTSCNT);
-			   fill_n(m_pvecTempSensor5->begin(),m_pvecTempSensor5->size(),-9999.0);
-		   }
-		   break;
-		case EDCSI_MOVEMENT:
-		   if(m_pullMovementId!=NULL) *m_pullMovementId=0;
-		   if(m_pvecPosLVDT!=NULL){
-			   m_pvecPosLVDT->resize(RPOTSCNT);
-			   fill_n(m_pvecPosLVDT->begin(),m_pvecPosLVDT->size(),-9999.0);
-		   }
-		   if(m_pvecPosMotor!=NULL){
-			   m_pvecPosMotor->resize(RPOTSCNT);
-			   fill_n(m_pvecPosMotor->begin(),m_pvecPosMotor->size(),-9999.0);
-		   }
-		   break;
-		case EDCSI_RADMON:
-		   if(m_pullRadMonId!=NULL) *m_pullRadMonId=0;
-		   if(m_pvecDose!=NULL){
-			   m_pvecDose->resize(RADMONCNT);
-			   fill_n(m_pvecDose->begin(),m_pvecDose->size(),-9999.0);
-		   }
-		   if(m_pvecFluence!=NULL){
-			   m_pvecFluence->resize(RADMONCNT);
-			   fill_n(m_pvecFluence->begin(),m_pvecFluence->size(),-9999.0);
-		   }
-		   if(m_pvecTemp!=NULL){
-			   m_pvecTemp->resize(RADMONCNT);
-			   fill_n(m_pvecTemp->begin(),m_pvecTemp->size(),-9999.0);
-		   }
-		   break;
-		case EDCSI_TRIGGERRATES:
-		   if(m_pullTriggerRatesId!=NULL) *m_pullTriggerRatesId=0;
-		   if(m_pvecTriggerRates!=NULL){
-			   m_pvecTriggerRates->resize(RPOTSCNT);
-			   fill_n(m_pvecTriggerRates->begin(),m_pvecTriggerRates->size(),-1);
-		   }
-		   break;
-		case EDCSI_FECONFIGURATION:
-		   if(m_pullFEConfigurationId!=NULL) *m_pullFEConfigurationId=0;
-		   if(m_pvecThreshold!=NULL){
-			   m_pvecThreshold->resize(RPOTSCNT*FECNFTHRESHLOLDCNT);
-			   fill_n(m_pvecThreshold->begin(),m_pvecThreshold->size(),-1);
-		   }
-		   if(m_pvecGain!=NULL){
-			   m_pvecGain->resize(RPOTSCNT*FECNFGAINCNT);
-			   fill_n(m_pvecGain->begin(),m_pvecGain->size(),-1);
-		   }
-		   if(m_pvecMDGainMode!=NULL){
-			   m_pvecMDGainMode->clear();
-		   }
-		   break;
-		case EDCSI_TRIGGERSETTINGS:
-		   if(m_pullTriggerSettingsId!=NULL) *m_pullTriggerSettingsId=0;
-		   if(m_pvecTriggerSet!=NULL){
-			   m_pvecTriggerSet->resize(RPOTSCNT*TRIGSETCNT);
-			   fill_n(m_pvecTriggerSet->begin(),m_pvecTriggerSet->size(),-1);
-		   }
-		   if(m_pvecLatency!=NULL){
-			   m_pvecLatency->resize(RPOTSCNT*TRIGSETLATENCYCNT);
-			   fill_n(m_pvecLatency->begin(),m_pvecLatency->size(),-1);
-		   }
-		   break;
-		default:
-		   break;
-		}
-   }
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaMetaDataTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaMetaDataTool.h
deleted file mode 100644
index 73fd4e5db6bef98783455953f1ffc82a27b49972..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaMetaDataTool.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef FORWARDDETECTORSD3PDMAKER_ALFAMETADATATOOL_H
-#define FORWARDDETECTORSD3PDMAKER_ALFAMETADATATOOL_H
-
-// STL include(s):
-#include <map>
-#include <string>
-#include <set>
-
-// Gaudi/Athena include(s):
-#include "GaudiKernel/IIncidentListener.h"
-#include "AthenaKernel/IIOVDbSvc.h"
-#include "GaudiKernel/ServiceHandle.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "AthenaBaseComps/AthAlgTool.h"
-#include "AthenaBaseComps/AthService.h"
-#include "AthenaKernel/IIOVSvc.h"
-#include "StoreGate/StoreGateSvc.h"
-
-// D3PDMaker include(s):
-#include "D3PDMakerInterfaces/IMetadataTool.h"
-#include "D3PDMakerInterfaces/ID3PDSvc.h"
-
-#include "AlfaCommonHdr.h"
-
-namespace D3PD
-{
-
-	// Forward declaration(s):
-	class ID3PD;
-
-	class AlfaMetaDataTool : public AthAlgTool, public IMetadataTool
-	{
-
-	public:
-		// Regular AlgTool constructor
-		AlfaMetaDataTool( const std::string& type, const std::string& name, const IInterface* parent );
-
-		// AlgTool initialization function
-		virtual StatusCode initialize();
-		// Gaudi function describing which interfaces the tool implements
-		virtual StatusCode queryInterface( const InterfaceID& riid, void** ppvIf );
-
-		// Function writing the configuration information to the D3PD
-		virtual StatusCode writeMetadata( ID3PD* d3pd );
-
-	private:
-		void ClearDCSData(eDCSItem eItem);
-		StatusCode COOLUpdate(IOVSVC_CALLBACK_ARGS);
-		StatusCode AddCOOLFolderCallback(const std::string& szFolder);
-		unsigned long long CalcDCSId(eDCSItem eItem);
-
-	private:
-		std::string m_COOLDir;
-		ServiceHandle<ID3PDSvc> m_d3pdSvc;
-		ServiceHandle< IIOVDbSvc > m_iovSvc;
-
-		//DCS BLM
-		ID3PD* m_DCSTreeBLM;
-		unsigned long long* m_pullBLMId;
-		std::vector<float>* m_pvecBLM;
-
-		//DCS HVCHANNEL
-		ID3PD* m_DCSTreeHVChannel;
-		unsigned long long* m_pullHVChannelId;
-		std::vector<float>* m_pvecActualVMeas;
-		std::vector<float>* m_pvecActualIMeas;
-
-		//DCS LOCALMONITORING
-		ID3PD* m_DCSTreeLocalMonitoring;
-		unsigned long long* m_pullLocalMonitoringId;
-		std::vector<float>* m_pvecTempSensor1;
-		std::vector<float>* m_pvecTempSensor2;
-		std::vector<float>* m_pvecTempSensor3;
-		std::vector<float>* m_pvecTempSensor4;
-		std::vector<float>* m_pvecTempSensor5;
-
-		//DCS MOVEMENT
-		ID3PD* m_DCSTreeMovement;
-		unsigned long long* m_pullMovementId;
-		std::vector<float>* m_pvecPosLVDT;
-		std::vector<float>* m_pvecPosMotor;
-
-		//DCS RADMON
-		ID3PD* m_DCSTreeRadMon;
-		unsigned long long* m_pullRadMonId;
-		std::vector<float>* m_pvecDose;
-		std::vector<float>* m_pvecFluence;
-		std::vector<float>* m_pvecTemp;
-
-		//DCS TRIGGERRATES
-		ID3PD* m_DCSTreeTriggerRates;
-		unsigned long long* m_pullTriggerRatesId;
-		std::vector<int>* m_pvecTriggerRates;
-
-		//DCS FECONFIGURATION
-		ID3PD* m_DCSTreeFEConfiguration;
-		unsigned long long* m_pullFEConfigurationId;
-		std::vector<int>* m_pvecThreshold;
-		std::vector<int>* m_pvecGain;
-		std::vector<std::string>* m_pvecMDGainMode;
-
-		//DCS TRIGGERSETTINGS
-		ID3PD* m_DCSTreeTriggerSettings;
-		unsigned long long* m_pullTriggerSettingsId;
-		std::vector<int>* m_pvecTriggerSet;
-		std::vector<int>* m_pvecLatency;
-   };
-
-} // namespace D3PD
-
-#endif // FORWARDDETECTORSD3PDMAKER_ALFAMETADATATOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTrackingDataFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTrackingDataFillerTool.cxx
deleted file mode 100644
index 3fee871063876ca675df201585b58bd5d4f819a0..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTrackingDataFillerTool.cxx
+++ /dev/null
@@ -1,360 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: AlfaTrackingDataFillerTool.cxx 470583 2011-11-25 10:33:45Z krasznaa $
-/**
-  * @file ForwardDetectorsD3PDMaker/FillerTool.h
-  * @author Yujiao Chen
-  * @author Marco Leite <leite@cern.ch>
-  * @date August 2010
-  * @brief Block filler tool for Alfa information.
-  */
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// Local include(s):
-#include "AlfaTrackingDataFillerTool.h"
-#include "ALFA_GloRecEv/ALFA_GloRecEvCollection.h"
-
-using namespace std;
-
-namespace D3PD {
-
-    /**
-	* @brief Standard Gaudi tool constructor.
-	* @param type The name of the tool type.
-	* @param name The tool name.
-	* @param parent The tool's Gaudi parent.
-	*/
-    AlfaTrackingDataFillerTool::AlfaTrackingDataFillerTool( const std::string& type, const std::string& name, const IInterface* parent)
-        : AlfaDataEventFillerBase( type, name, parent )
-    {
-        ATH_MSG_INFO( "AlfaTrackingDataFillerTool---> Constructor" );
-        //declareProperty( "CalibrateEnergy",      m_calibrateEnergy = false );
-
-        //LocRecEvCollection & LocRecODEvCollection
-        m_pvecXDetCS=NULL;
-        m_pvecYDetCS=NULL;
-        m_pvecDetectorPartID=NULL;
-        m_pnMaxTrackCnt=NULL;
-        m_pvecOverU=NULL;
-        m_pvecOverV=NULL;
-        m_pvecOverY=NULL;
-        m_pvecNumU=NULL;
-        m_pvecNumV=NULL;
-        m_pvecNumY=NULL;
-        m_pvecMDFibSel=NULL;
-        m_pvecODFibSel=NULL;
-
-        //LocRecCorrEvCollection & LocRecCorrODEvCollection
-        m_pvecXLhcCS=NULL;
-        m_pvecYLhcCS=NULL;
-        m_pvecZLhcCS=NULL;
-        m_pvecXRPotCS=NULL;
-        m_pvecYRPotCS=NULL;
-        m_pvecXStatCS=NULL;
-        m_pvecYStatCS=NULL;
-        m_pvecXBeamCS=NULL;
-        m_pvecYBeamCS=NULL;
-
-        //GloRecEvCollection
-        // 		m_pnMaxGloTrackCnt=NULL;
-        // 		m_pvecGloArm=NULL;
-        // 		m_pvecGloXLhcCS=NULL;
-        // 		m_pvecGloYLhcCS=NULL;
-        // 		m_pvecGloXSlopeLhcCS=NULL;
-        // 		m_pvecGloYSlopeLhcCS=NULL;
-    }
-
-    /**
-	* Initialize: informs the type container to D3PDMaker
-	*             retrieves the mapping database
-	*             prepares the coefficients for the calibration
-	*
-	* @return Success or failure (will stop the processing)
-	*/
-    StatusCode AlfaTrackingDataFillerTool::initialize()
-    {
-        // Initialize the base class:
-        CHECK( AlfaDataEventFillerBase::initialize() );
-
-        ATH_MSG_INFO( "AlfaTrackingDataFillerTool---> Initialized" );
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AlfaTrackingDataFillerTool::book()
-    {
-        ATH_MSG_DEBUG( "AlfaTrackingDataFillerTool---> Booking Histograms" );
-
-        //LocRecEvCollection & LocRecODEvCollection
-        CHECK( addVariable ("x_Det", m_pvecXDetCS));
-        CHECK( addVariable ("y_Det", m_pvecYDetCS));
-        CHECK( addVariable ("Detector", m_pvecDetectorPartID));
-        CHECK( addVariable ("NumTrack", m_pnMaxTrackCnt));
-        CHECK( addVariable ("OverU", m_pvecOverU));
-        CHECK( addVariable ("OverV", m_pvecOverV));
-        CHECK( addVariable ("OverY", m_pvecOverY));
-        CHECK( addVariable ("NU", m_pvecNumU));
-        CHECK( addVariable ("NV", m_pvecNumV));
-        CHECK( addVariable ("NY", m_pvecNumY));
-        CHECK( addVariable ("Fib_SelMD", m_pvecMDFibSel));
-        CHECK( addVariable ("Fib_SelOD", m_pvecODFibSel));
-
-        //LocRecCorrEvCollection & LocRecCorrODEvCollection
-        CHECK( addVariable ("x_LHC", m_pvecXLhcCS));
-        CHECK( addVariable ("y_LHC", m_pvecYLhcCS));
-        CHECK( addVariable ("z_LHC", m_pvecZLhcCS));
-        CHECK( addVariable ("x_Pot", m_pvecXRPotCS));
-        CHECK( addVariable ("y_Pot", m_pvecYRPotCS));
-        CHECK( addVariable ("x_Stat", m_pvecXStatCS));
-        CHECK( addVariable ("y_Stat", m_pvecYStatCS));
-        CHECK( addVariable ("x_Beam", m_pvecXBeamCS));
-        CHECK( addVariable ("y_Beam", m_pvecYBeamCS));
-
-        //GloRecEvCollection
-        // 		CHECK( addVariable ("GloNumTrack", m_pnMaxGloTrackCnt));
-        // 		CHECK( addVariable ("GloArm", m_pvecGloArm));
-        // 		CHECK( addVariable ("GloX", m_pvecGloXLhcCS));
-        // 		CHECK( addVariable ("GloY", m_pvecGloYLhcCS));
-        // 		CHECK( addVariable ("GloXSlope", m_pvecGloXSlopeLhcCS));
-        // 		CHECK( addVariable ("GloYSlope", m_pvecGloYSlopeLhcCS));
-
-        return StatusCode::SUCCESS;
-    }
-
-    StatusCode AlfaTrackingDataFillerTool::fill( const ALFA_CLinkEvent& DataEvent )
-    {
-        unsigned int i;
-        int nPotID, nSideID, nODSign, nMaxTrackCnt=1; // default value (PHamal)
-        int arrTrackCntPerRPot[RPOTSCNT];
-        vector<int> vecFiberSel;
-
-        //LocRecEvCollection & LocRecODEvCollection
-        const ALFA_LocRecEvCollection* pLocRecEvColl=(const ALFA_LocRecEvCollection*)DataEvent.GetLinkedObject(EDVT_LOCRECEVCOLLECTION);
-        const ALFA_LocRecODEvCollection* pLocRecODEvColl=(const ALFA_LocRecODEvCollection*)DataEvent.GetLinkedObject(EDVT_LOCRECODEVCOLLECTION);
-        ALFA_LocRecEvCollection::const_iterator iterLocRec;
-        ALFA_LocRecODEvCollection::const_iterator iterLocRecOD;
-
-        if(pLocRecEvColl!=NULL && pLocRecODEvColl!=NULL){
-            // resolve max track count from LocRecEvCollection
-            memset(&arrTrackCntPerRPot[0],0,sizeof(arrTrackCntPerRPot));
-            for(iterLocRec=pLocRecEvColl->begin();iterLocRec!=pLocRecEvColl->end();iterLocRec++){
-                nPotID=(*iterLocRec)->getPotNum();
-                arrTrackCntPerRPot[nPotID]++;
-            }
-            for(iterLocRecOD=pLocRecODEvColl->begin();iterLocRecOD!=pLocRecODEvColl->end();iterLocRecOD++){
-                nPotID=(*iterLocRecOD)->getPotNum();
-                arrTrackCntPerRPot[nPotID]++;
-            }
-            for(i=0;i<RPOTSCNT;i++){
-                if(arrTrackCntPerRPot[i]>nMaxTrackCnt) nMaxTrackCnt=arrTrackCntPerRPot[i];
-            }
-
-            memset(&arrTrackCntPerRPot[0],0,sizeof(arrTrackCntPerRPot));
-            ClearData(nMaxTrackCnt,ERC_LOCUNCORRECTED);
-
-            //fill data - LocRecEvCollection
-            vecFiberSel.clear();
-            for(iterLocRec=pLocRecEvColl->begin();iterLocRec!=pLocRecEvColl->end();iterLocRec++){
-                nPotID=(*iterLocRec)->getPotNum();
-
-                (*m_pvecDetectorPartID)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=1;
-                (*m_pvecXDetCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRec)->getXposition();
-                (*m_pvecYDetCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRec)->getYposition();
-
-                (*m_pvecOverU)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRec)->getOverU();
-                (*m_pvecOverV)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRec)->getOverV();
-                (*m_pvecNumU)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRec)->getNumU();
-                (*m_pvecNumV)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRec)->getNumV();
-
-                vecFiberSel=(*iterLocRec)->getFibSel();
-                for(i=0;i<vecFiberSel.size();i++){
-                    (*m_pvecMDFibSel)[nPotID*nMaxTrackCnt*MDLAYERSCNT*MDPLATESCNT+arrTrackCntPerRPot[nPotID]*MDLAYERSCNT*MDPLATESCNT+i]=vecFiberSel[i];
-                }
-
-                arrTrackCntPerRPot[nPotID]++;
-            }
-
-            //fill data - LocRecODEvCollection
-            vecFiberSel.clear();
-            for(iterLocRecOD=pLocRecODEvColl->begin();iterLocRecOD!=pLocRecODEvColl->end();iterLocRecOD++){
-                nPotID=(*iterLocRecOD)->getPotNum();
-                nSideID=(*iterLocRecOD)->getSide();
-
-                nODSign=(nSideID==0)? -1:1;
-                (*m_pvecDetectorPartID)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(nSideID==0)? 3:2;
-                (*m_pvecXDetCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=nODSign*22.0;
-                (*m_pvecYDetCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecOD)->getYposition();
-                (*m_pvecOverY)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecOD)->getOverY();
-                (*m_pvecNumY)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecOD)->getNumY();
-
-                vecFiberSel=(*iterLocRecOD)->getFibSel();
-                for(i=0;i<vecFiberSel.size();i++){
-                    (*m_pvecODFibSel)[nPotID*nMaxTrackCnt*ODPLATESCNT+arrTrackCntPerRPot[nPotID]*ODPLATESCNT+i]=vecFiberSel[i];
-                }
-
-                arrTrackCntPerRPot[nPotID]++;
-            }
-        }
-        else{
-            msg(MSG::WARNING) << "Cannot find '"<< EVCOLLNAME_LOCREC <<"' or '"<<EVCOLLNAME_LOCRECOD<<"' collection"<<endmsg;
-            //			return StatusCode::FAILURE;
-        }
-
-        //LocRecCorrEvCollection && LocRecCorrODEvCollection
-        const ALFA_LocRecCorrEvCollection* pLocRecCorrEvColl=(const ALFA_LocRecCorrEvCollection*)DataEvent.GetLinkedObject(EDVT_LOCRECCORREVCOLLECTION);
-        const ALFA_LocRecCorrODEvCollection* pLocRecCorrODEvColl=(const ALFA_LocRecCorrODEvCollection*)DataEvent.GetLinkedObject(EDVT_LOCRECCORRODEVCOLLECTION);
-        ALFA_LocRecCorrEvCollection::const_iterator iterLocRecCorr;
-        ALFA_LocRecCorrODEvCollection::const_iterator iterLocRecCorrOD;
-
-        if(pLocRecCorrEvColl!=NULL && pLocRecCorrODEvColl!=NULL){
-            memset(&arrTrackCntPerRPot[0],0,sizeof(arrTrackCntPerRPot));
-            ClearData(nMaxTrackCnt,ERC_LOCCORRECTED);
-
-            //fill data - LocRecCorrEvCollection - ONLY DetCS for now (TODO rest)
-            for(iterLocRecCorr=pLocRecCorrEvColl->begin();iterLocRecCorr!=pLocRecCorrEvColl->end();iterLocRecCorr++){
-                nPotID=(*iterLocRecCorr)->getPotNum();
-
-                (*m_pvecXLhcCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorr)->getXpositionLHC();
-                (*m_pvecYLhcCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorr)->getYpositionLHC();
-                (*m_pvecZLhcCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorr)->getZpositionLHC();
-
-                (*m_pvecXRPotCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorr)->getXpositionPot();
-                (*m_pvecYRPotCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorr)->getYpositionPot();
-
-                (*m_pvecXStatCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorr)->getXpositionStat();
-                (*m_pvecYStatCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorr)->getYpositionStat();
-
-                (*m_pvecXBeamCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorr)->getXpositionBeam();
-                (*m_pvecYBeamCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorr)->getYpositionBeam();
-
-                arrTrackCntPerRPot[nPotID]++;
-            }
-
-            //fill data - LocRecCorrODEvCollection - ONLY DetCS for now (TODO rest)
-            for(iterLocRecCorrOD=pLocRecCorrODEvColl->begin();iterLocRecCorrOD!=pLocRecCorrODEvColl->end();iterLocRecCorrOD++){
-                nPotID=(*iterLocRecCorrOD)->getPotNum();
-                nSideID=(*iterLocRecCorrOD)->getSide();
-
-                nODSign=(nSideID==0)? -1:1;
-                (*m_pvecXLhcCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=nODSign*22.0;
-                (*m_pvecYLhcCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorrOD)->getYpositionLHC();
-                (*m_pvecZLhcCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorrOD)->getZpositionLHC();
-
-                (*m_pvecXRPotCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=nODSign*22.0;
-                (*m_pvecYRPotCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorrOD)->getYpositionPot();
-
-                (*m_pvecXStatCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=nODSign*22.0;
-                (*m_pvecYStatCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorrOD)->getYpositionStat();
-
-                (*m_pvecXBeamCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=nODSign*22.0;
-                (*m_pvecYBeamCS)[nPotID*nMaxTrackCnt+arrTrackCntPerRPot[nPotID]]=(*iterLocRecCorrOD)->getYpositionBeam();
-
-                arrTrackCntPerRPot[nPotID]++;
-            }
-        }
-        else{
-            msg(MSG::WARNING) << "Cannot find '"<< EVCOLLNAME_LOCREC <<"' or '"<<EVCOLLNAME_LOCRECOD<<"' collection"<<endmsg;
-            //			return StatusCode::FAILURE;
-        }
-
-        //GloRecEvCollection
-        // 		const ALFA_GloRecEvCollection* pGloRecEvColl=(const ALFA_GloRecEvCollection*)DataEvent.GetLinkedObject(EDVT_GLORECEVCOLLECTION);
-        // 		ALFA_GloRecEvCollection::const_iterator iterGloRec;
-        //
-        // 		if(pGloRecEvColl!=NULL){
-        // 			// resolve max track count
-        // 			nMaxTrackCnt=pGloRecEvColl->size();
-        // 			ClearData(nMaxTrackCnt,ERC_GLOBAL);
-        //
-        // 			//fill data - GloRecEvCollection
-        // 			for(i=0,iterGloRec=pGloRecEvColl->begin();iterGloRec!=pGloRecEvColl->end();i++,iterGloRec++){
-        // 				(*m_pvecGloArm)[i]=(*iterGloRec)->getArmNum();
-        // 				(*m_pvecGloXLhcCS)[i]=(*iterGloRec)->getXposition();
-        // 				(*m_pvecGloYLhcCS)[i]=(*iterGloRec)->getYposition();
-        // 				(*m_pvecGloXSlopeLhcCS)[i]=(*iterGloRec)->getXslope();
-        // 				(*m_pvecGloYSlopeLhcCS)[i]=(*iterGloRec)->getYslope();
-        // 			}
-        // 		}
-        // 		else{
-        // 			msg(MSG::WARNING) << "Cannot find '"<< EVCOLLNAME_GLOREC <<"' collection"<<endmsg;
-        // 			//return StatusCode::FAILURE;
-        // 		}
-
-        return StatusCode::SUCCESS;
-    }
-
-    void AlfaTrackingDataFillerTool::ClearData(const int nMaxTrackCnt, eRecType eType)
-    {
-        //LocRecEvCollection & LocRecEvODCollection
-        if(eType==ERC_LOCUNCORRECTED){
-            *m_pnMaxTrackCnt=nMaxTrackCnt;
-
-            m_pvecXDetCS->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecXDetCS->begin(),m_pvecXDetCS->size(),-9999);
-            m_pvecYDetCS->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecYDetCS->begin(),m_pvecYDetCS->size(),-9999);
-            m_pvecDetectorPartID->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecDetectorPartID->begin(),m_pvecDetectorPartID->size(),0);
-            m_pvecOverU->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecOverU->begin(),m_pvecOverU->size(),-9999);
-            m_pvecOverV->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecOverV->begin(),m_pvecOverV->size(),-9999);
-            m_pvecOverY->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecOverY->begin(),m_pvecOverY->size(),-9999);
-            m_pvecNumU->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecNumU->begin(),m_pvecNumU->size(),-9999);
-            m_pvecNumV->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecNumV->begin(),m_pvecNumV->size(),-9999);
-            m_pvecNumY->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecNumY->begin(),m_pvecNumY->size(),-9999);
-            m_pvecMDFibSel->resize(RPOTSCNT*nMaxTrackCnt*MDLAYERSCNT*MDPLATESCNT);
-            fill_n(m_pvecMDFibSel->begin(),m_pvecMDFibSel->size(),-9999);
-            m_pvecODFibSel->resize(RPOTSCNT*nMaxTrackCnt*ODPLATESCNT);
-            fill_n(m_pvecODFibSel->begin(),m_pvecODFibSel->size(),-9999);
-        }
-        else if(eType==ERC_LOCCORRECTED){
-            *m_pnMaxTrackCnt=nMaxTrackCnt;
-
-            m_pvecXLhcCS->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecXLhcCS->begin(),m_pvecXLhcCS->size(),-9999);
-            m_pvecYLhcCS->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecYLhcCS->begin(),m_pvecYLhcCS->size(),-9999);
-            m_pvecZLhcCS->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecZLhcCS->begin(),m_pvecZLhcCS->size(),-9999);
-            m_pvecXRPotCS->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecXRPotCS->begin(),m_pvecXRPotCS->size(),-9999);
-            m_pvecYRPotCS->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecYRPotCS->begin(),m_pvecYRPotCS->size(),-9999);
-            m_pvecXStatCS->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecXStatCS->begin(),m_pvecXStatCS->size(),-9999);
-            m_pvecYStatCS->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecYStatCS->begin(),m_pvecYStatCS->size(),-9999);
-            m_pvecXBeamCS->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecXBeamCS->begin(),m_pvecXBeamCS->size(),-9999);
-            m_pvecYBeamCS->resize(RPOTSCNT*nMaxTrackCnt);
-            fill_n(m_pvecYBeamCS->begin(),m_pvecYBeamCS->size(),-9999);
-        }
-        /*		else if(eType==ERC_GLOBAL){
-			*m_pnMaxGloTrackCnt=nMaxTrackCnt;
-
-			m_pvecGloArm->resize(nMaxTrackCnt);
-			fill_n(m_pvecGloArm->begin(),m_pvecGloArm->size(),-1);
-			m_pvecGloXLhcCS->resize(nMaxTrackCnt);
-			fill_n(m_pvecGloXLhcCS->begin(),m_pvecGloXLhcCS->size(),-9999);
-			m_pvecGloYLhcCS->resize(nMaxTrackCnt);
-			fill_n(m_pvecGloYLhcCS->begin(),m_pvecGloYLhcCS->size(),-9999);
-
-			m_pvecGloXSlopeLhcCS->resize(nMaxTrackCnt);
-			fill_n(m_pvecGloXSlopeLhcCS->begin(),m_pvecGloXSlopeLhcCS->size(),-9999);
-			m_pvecGloYSlopeLhcCS->resize(nMaxTrackCnt);
-			fill_n(m_pvecGloYSlopeLhcCS->begin(),m_pvecGloYSlopeLhcCS->size(),-9999);
-		}*/
-    }
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTrackingDataFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTrackingDataFillerTool.h
deleted file mode 100644
index 2ec0afdd6fb8588ea3760a2a58add9b21b311213..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTrackingDataFillerTool.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-  * @file ForwardDetectorsD3PDMaker/FillerTool.h
-  * @author Libor Nozka
-  * @date December 2011
-  * @brief Block filler tool for Alfa information.
-  */
-#ifndef FORWARDDETECTORSD3PDMAKER_ALFATRACKINGDATAFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_ALFATRACKINGDATAFILLERTOOL_H
-
-#include "AlfaCommonHdr.h"
-
-enum eRecType { ERC_LOCUNCORRECTED, ERC_LOCCORRECTED, ERC_GLOBAL };
-
-namespace D3PD
-{
-
-   class AlfaTrackingDataFillerTool : public AlfaDataEventFillerBase
-   {
-
-   public:
-      /**
-       * @brief Standard Gaudi tool constructor.
-       * @param type   The name of the tool type.
-       * @param name   The tool name.
-       * @param parent The tool's Gaudi parent.
-       */
-	  AlfaTrackingDataFillerTool( const std::string& type,
-                     const std::string& name,
-                     const IInterface* parent );
-
-      virtual StatusCode initialize();
-      virtual StatusCode book();
-	  virtual StatusCode fill( const ALFA_CLinkEvent& DataEvent);
-
-  private:
-	  void ClearData(const int nMaxTrackCnt, eRecType eType);
-
-  private:
-
-	//LocRecEvCollection & LocRecODEvCollection
-	std::vector<float>* m_pvecXDetCS;
-	std::vector<float>* m_pvecYDetCS;
-	std::vector<int>* m_pvecDetectorPartID;
-	int* m_pnMaxTrackCnt;
-	std::vector<float>* m_pvecOverU;
-	std::vector<float>* m_pvecOverV;
-	std::vector<float>* m_pvecOverY;
-	std::vector<int>* m_pvecNumU;
-	std::vector<int>* m_pvecNumV;
-	std::vector<int>* m_pvecNumY;
-	std::vector<int>* m_pvecMDFibSel;
-	std::vector<int>* m_pvecODFibSel;
-
-	//LocRecCorrEvCollection & LocRecCorrODEvCollection
-	std::vector<float>* m_pvecXLhcCS;
-	std::vector<float>* m_pvecYLhcCS;
-	std::vector<float>* m_pvecZLhcCS;
-	std::vector<float>* m_pvecXRPotCS;
-	std::vector<float>* m_pvecYRPotCS;
-	std::vector<float>* m_pvecXStatCS;
-	std::vector<float>* m_pvecYStatCS;
-	std::vector<float>* m_pvecXBeamCS;
-	std::vector<float>* m_pvecYBeamCS;
-
-	//GloRecEvCollection
-// 	int* m_pnMaxGloTrackCnt;
-// 	std::vector<int>* m_pvecGloArm;
-// 	std::vector<float>* m_pvecGloXLhcCS;
-// 	std::vector<float>* m_pvecGloYLhcCS;
-// 	std::vector<float>* m_pvecGloXSlopeLhcCS;
-// 	std::vector<float>* m_pvecGloYSlopeLhcCS;
-
-
-   }; // class AlfaTrackingDataFillerTool
-
-} // namespace D3PD
-
-#endif // FORWARDDETECTORSD3PDMAKER_ALFATRACKINGDATAFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTruthInfoFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTruthInfoFillerTool.cxx
deleted file mode 100644
index 18947748a8e8e97b8c4bb49ad2ec1dc9a89b9d6b..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTruthInfoFillerTool.cxx
+++ /dev/null
@@ -1,517 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: AlfaTruthInfoFillerTool.cxx 2012-03-21 10:33:45Z lnozka $
-/**
-  * @file ForwardDetectorsD3PDMaker/AlfaTruthInfoFillerTool.h
-  * @author Libor Nozka
-  * @date March 203
-  * @brief Block filler tool for Alfa information.
-  */
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// Local include(s):
-#include "AlfaTruthInfoFillerTool.h"
-
-namespace D3PD {
-
-	/**
-	* @brief Standard Gaudi tool constructor.
-	* @param type The name of the tool type.
-	* @param name The tool name.
-	* @param parent The tool's Gaudi parent.
-	*/
-	AlfaTruthInfoFillerTool::AlfaTruthInfoFillerTool( const std::string& type, const std::string& name, const IInterface* parent)
-		: AlfaTruthInfoFillerBase( type, name, parent )
-	{
-		ATH_MSG_INFO( "AlfaTruthInfoFillerTool---> Constructor" );
-
-		//m_pvecVtx_g=NULL;
-		m_pvecVtx_g_x=NULL;
-		m_pvecVtx_g_y=NULL;
-		m_pvecVtx_g_z=NULL;
-
-		//m_pvecVtx_a=NULL;
-		m_pvecVtx_a_x=NULL;
-		m_pvecVtx_a_y=NULL;
-		m_pvecVtx_a_z=NULL;
-
-		//m_pvecVtx_c=NULL;
-		m_pvecVtx_c_x=NULL;
-		m_pvecVtx_c_y=NULL;
-		m_pvecVtx_c_z=NULL;
-
-		//m_pvecP_a=NULL;
-		m_pvecPa_pt=NULL;
-		m_pvecPa_phi=NULL;
-		m_pvecPa_pz=NULL;
-		m_pvecPa_m=NULL;
-
-		//m_pvecP_c=NULL;
-		m_pvecPc_pt=NULL;
-		m_pvecPc_phi=NULL;
-		m_pvecPc_pz=NULL;
-		m_pvecPc_m=NULL;
-
-		//m_pvecPBeam1_i=NULL;
-		m_pvecPBeam1_i_pt=NULL;
-		m_pvecPBeam1_i_phi=NULL;
-		m_pvecPBeam1_i_pz=NULL;
-		m_pvecPBeam1_i_E=NULL;
-
-		//m_pvecPBeam1_f=NULL;
-		m_pvecPBeam1_f_pt=NULL;
-		m_pvecPBeam1_f_phi=NULL;
-		m_pvecPBeam1_f_pz=NULL;
-		m_pvecPBeam1_f_E=NULL;
-
-		//m_pvecPBeam2_i=NULL;
-		m_pvecPBeam2_i_pt=NULL;
-		m_pvecPBeam2_i_phi=NULL;
-		m_pvecPBeam2_i_pz=NULL;
-		m_pvecPBeam2_i_E=NULL;
-
-		//m_pvecPBeam2_f=NULL;
-		m_pvecPBeam2_f_pt=NULL;
-		m_pvecPBeam2_f_phi=NULL;
-		m_pvecPBeam2_f_pz=NULL;
-		m_pvecPBeam2_f_E=NULL;
-
-		// data type using in the local reconstruction
-		// for the simulation data the value is 0, for the real data the value is 1. Unset value is -1
-		//declareProperty("DataType", m_nDataType=1, "data type using in the local reconstruction");
-   }
-
-	/**
-	* Initialize: informs the type container to D3PDMaker
-	*             retrieves the mapping database
-	*             prepares the coefficients for the calibration
-	*
-	* @return Success or failure (will stop the processing)
-	*/
-	StatusCode AlfaTruthInfoFillerTool::initialize()
-	{
-		// Initialize the base class:
-		CHECK( AlfaTruthInfoFillerBase::initialize() );
-
-		ATH_MSG_INFO( "AlfaTruthInfoFillerTool---> Initialized" );
-
-		return StatusCode::SUCCESS;
-	}
-
-	StatusCode AlfaTruthInfoFillerTool::book()
-	{
-		ATH_MSG_DEBUG( "AlfaTruthInfoFillerTool---> Booking Histograms" );
-
-		//CHECK( addVariable ("vtx_G", m_pvecVtx_g));
-		CHECK( addVariable ("vtx_G_x", m_pvecVtx_g_x));
-		CHECK( addVariable ("vtx_G_y", m_pvecVtx_g_y));
-		CHECK( addVariable ("vtx_G_z", m_pvecVtx_g_z));
-
-		//CHECK( addVariable ("vtx_A", m_pvecVtx_a));
-		CHECK( addVariable ("vtx_x_A", m_pvecVtx_a_x));
-		CHECK( addVariable ("vtx_y_A", m_pvecVtx_a_y));
-		CHECK( addVariable ("vtx_z_A", m_pvecVtx_a_z));
-
-		//CHECK( addVariable ("vtx_C", m_pvecVtx_c));
-		CHECK( addVariable ("vtx_x_C", m_pvecVtx_c_x));
-		CHECK( addVariable ("vtx_y_C", m_pvecVtx_c_y));
-		CHECK( addVariable ("vtx_z_C", m_pvecVtx_c_z));
-
-		//CHECK( addVariable ("p_A", m_pvecP_a));
-		CHECK( addVariable ("pt_A", m_pvecPa_pt));
-		CHECK( addVariable ("phi_A", m_pvecPa_phi));
-		CHECK( addVariable ("pz_A", m_pvecPa_pz));
-		CHECK( addVariable ("m_A", m_pvecPa_m));
-
-		//CHECK( addVariable ("p_C", m_pvecP_c));
-		CHECK( addVariable ("pt_C", m_pvecPc_pt));
-		CHECK( addVariable ("phi_C", m_pvecPc_phi));
-		CHECK( addVariable ("pz_C", m_pvecPc_pz));
-		CHECK( addVariable ("m_C", m_pvecPc_m));
-
-		//CHECK( addVariable ("p_beam1_i", m_pvecPBeam1_i));
-		CHECK( addVariable ("p_beam1_i_pt", m_pvecPBeam1_i_pt));
-		CHECK( addVariable ("p_beam1_i_phi", m_pvecPBeam1_i_phi));
-		CHECK( addVariable ("p_beam1_i_pz", m_pvecPBeam1_i_pz));
-		CHECK( addVariable ("p_beam1_i_E", m_pvecPBeam1_i_E));
-
-		//CHECK( addVariable ("p_beam1_f", m_pvecPBeam1_f));
-		CHECK( addVariable ("p_beam1_f_pt", m_pvecPBeam1_f_pt));
-		CHECK( addVariable ("p_beam1_f_phi", m_pvecPBeam1_f_phi));
-		CHECK( addVariable ("p_beam1_f_pz", m_pvecPBeam1_f_pz));
-		CHECK( addVariable ("p_beam1_f_E", m_pvecPBeam1_f_E));
-
-		//CHECK( addVariable ("p_beam2_i", m_pvecPBeam2_i));
-		CHECK( addVariable ("p_beam2_i_pt", m_pvecPBeam2_i_pt));
-		CHECK( addVariable ("p_beam2_i_phi", m_pvecPBeam2_i_phi));
-		CHECK( addVariable ("p_beam2_i_pz", m_pvecPBeam2_i_pz));
-		CHECK( addVariable ("p_beam2_i_E", m_pvecPBeam2_i_E));
-
-		//CHECK( addVariable ("p_beam2_f", m_pvecPBeam2_f));
-		CHECK( addVariable ("p_beam2_f_pt", m_pvecPBeam2_f_pt));
-		CHECK( addVariable ("p_beam2_f_phi", m_pvecPBeam2_f_phi));
-		CHECK( addVariable ("p_beam2_f_pz", m_pvecPBeam2_f_pz));
-		CHECK( addVariable ("p_beam2_f_E", m_pvecPBeam2_f_E));
-
-		return StatusCode::SUCCESS;
-	}
-
-	StatusCode AlfaTruthInfoFillerTool::fill(const McEventCollection& EventCollection)
-	{
-		MsgStream LogStream(Athena::getMessageSvc(), "ALFA_Ntuple::TruthInfo()");
-		LogStream << MSG::DEBUG << "begin ALFA_Ntuple::TruthInfo(), tom version" << endmsg;
-
-		int coll_counter = 0;
-
-		McEventCollection::const_iterator mcTruBeg = EventCollection.begin(); // = (*mcTru).begin()
-		McEventCollection::const_iterator mcTruEnd = EventCollection.end();
-
-		int nPileUpCnt=EventCollection.size();
-
-		ClearData(nPileUpCnt);
-		int vtx_counter[MAXPILEUP];
-		memset(&vtx_counter, 0, sizeof(vtx_counter));
-
-		LogStream << MSG::INFO << "MARK01" << endmsg;
-		//loop over collection (container)
-		for(;mcTruBeg!=mcTruEnd;++mcTruBeg){
-
-			HepMC::GenParticle* pi1=0;
-			HepMC::GenParticle* pi2=0;
-			HepMC::GenParticle* p1=0;
-			HepMC::GenParticle* p2=0;
-
-			int pint = 0;
-			int pcount = 0;
-
-			//b_vtx_kin_fill_flag = false;
-
-			coll_counter++;
-
-			HepMC::GenEvent::vertex_const_iterator begGenVtxItr = (**mcTruBeg).vertices_begin();
-			HepMC::GenEvent::vertex_const_iterator endGenVtxItr = (**mcTruBeg).vertices_end();
-
-
-			//particles at IP and IP vertex properties
-
-			LogStream << MSG::INFO << "MARK02" << endmsg;
-			//loop over verteces belonging to one event
-			for(;begGenVtxItr!=endGenVtxItr;++begGenVtxItr){
-
-				LogStream << MSG::DEBUG << " * collection no: " << coll_counter << endmsg;
-				LogStream << MSG::DEBUG << " * vertex no: " << vtx_counter[coll_counter-1] << endmsg;
-				LogStream << MSG::DEBUG << " * position x = " << (**begGenVtxItr).position().x() << ", y = " << (**begGenVtxItr).position().y()<< ", z =" << (**begGenVtxItr).position().z() << endmsg;
-
-				if (fabs((**begGenVtxItr).position().z()) > 500.){  // the IP vertex should be max +/-50 cm from z=0.
-					continue;
-				}
-
-				vtx_counter[coll_counter-1]++;
-
-				HepMC::GenVertex::particle_iterator child;
-				child = (*begGenVtxItr)->particles_begin(HepMC::family);
-				HepMC::GenVertex::particle_iterator child_end;
-				child_end = (*begGenVtxItr)->particles_end(HepMC::family);
-
-				for(; child != child_end; ++child){
-
-                                        //double px = (*child)->momentum().px();
-                                        //double py = (*child)->momentum().py();
-					double pz = (*child)->momentum().pz();
-
-
-					//if ((*child == genEvt->beam_particles().first) || (*child == genEvt->beam_particles().second))
-					//{
-					if (fabs((**begGenVtxItr).position().z()) <= 500.){
-
-						// incoming protons (status code = 4) at the interaction point; for p-p collisions should be 2 per collection (assumption), for p-Pb should be 1;
-						if( (*child)->status() == 4){ // note, it can be any colliding particle, hopefully Pb too
-							pint++;
-							// assuming no bugs in generation - vertex should be just 1 ;-)
-
-							if (pint == 1){
-								(*m_pvecVtx_g_x)[coll_counter-1] = (**begGenVtxItr).position().x();
-								(*m_pvecVtx_g_y)[coll_counter-1] = (**begGenVtxItr).position().y();
-								(*m_pvecVtx_g_z)[coll_counter-1] = (**begGenVtxItr).position().z();
-							}
-
-
-							if(pz > 0){
-								pi1=(*child);
-								(*m_pvecPBeam1_i_pt)[coll_counter-1] = sqrt(pi1->momentum().px()*pi1->momentum().px()+pi1->momentum().py()*pi1->momentum().py());
-								(*m_pvecPBeam1_i_phi)[coll_counter-1] = pi1->momentum().phi();
-								(*m_pvecPBeam1_i_pz)[coll_counter-1] = pi1->momentum().pz();
-								(*m_pvecPBeam1_i_E)[coll_counter-1] = pi1->momentum().e();
-								//LogStream << MSG::DEBUG << "initial particle 1: px = " <<(*m_pvecPBeam1_i)[1] << ", py = " << (*m_pvecPBeam1_i)[2] << ", pz = " << (*m_pvecPBeam1_i)[3] << ", E = " << (*m_pvecPBeam1_i)[0] << endmsg;
-								//LogStream << MSG::DEBUG << " ** " << endmsg;
-							}
-
-							if(pz < 0){
-								pi2=(*child);
-								(*m_pvecPBeam2_i_pt)[coll_counter-1] = sqrt(pi2->momentum().px()*pi2->momentum().px()+pi2->momentum().py()*pi2->momentum().py());
-								(*m_pvecPBeam2_i_phi)[coll_counter-1] = pi2->momentum().phi();
-								(*m_pvecPBeam2_i_pz)[coll_counter-1] = pi2->momentum().pz();
-								(*m_pvecPBeam2_i_E)[coll_counter-1] = pi2->momentum().e();
-								//LogStream << MSG::DEBUG << "initial particle 2: px = " << (*m_pvecPBeam2_i)[1] << ", py = " << (*m_pvecPBeam2_i)[2] << ", pz = " << (*m_pvecPBeam2_i)[3] << ", E = " << (*m_pvecPBeam2_i)[0] << endmsg;
-								//LogStream << MSG::DEBUG << " ** " << endmsg;
-							}
-
-							if(pint > 2) {LogStream << MSG::DEBUG << "Strange: More than two incoming protons in this event! (depends what is simulated)" << endmsg;}
-							LogStream << MSG::DEBUG << "pint = " << pint << endmsg;
-
-							// we know we have interaction vertex (==4), outgoing protons at the interaction point; 2 will be just in case of elastic or exlusive processes(and if no additional protons are produced)
-
-							HepMC::GenVertex::particle_iterator childik;
-							childik = (*begGenVtxItr)->particles_begin(HepMC::children);
-							HepMC::GenVertex::particle_iterator childik_end;
-							childik_end = (*begGenVtxItr)->particles_end(HepMC::children);
-
-							for(; childik != childik_end; ++childik){
-
-								if( (*childik)->pdg_id() == 2212){ // can be elastic, diffractive, exclusive, p-Pb; do not know how to filter on elastic Pb
-
-									pcount++;
-
-									if(pz > 0){
-
-										p1=(*childik);
-										(*m_pvecPBeam1_f_pt)[coll_counter-1] = sqrt(p1->momentum().px()*p1->momentum().px()+p1->momentum().py()*p1->momentum().py());
-										(*m_pvecPBeam1_f_phi)[coll_counter-1] = p1->momentum().phi();
-										(*m_pvecPBeam1_f_pz)[coll_counter-1] = p1->momentum().pz();
-										(*m_pvecPBeam1_f_E)[coll_counter-1] = p1->momentum().e();
-									}
-
-									if(pz < 0){
-
-										p2=(*childik);
-										(*m_pvecPBeam2_f_pt)[coll_counter-1] = sqrt(p2->momentum().px()*p2->momentum().px()+p2->momentum().py()*p2->momentum().py());
-										(*m_pvecPBeam2_f_phi)[coll_counter-1] = p2->momentum().phi();
-										(*m_pvecPBeam2_f_pz)[coll_counter-1] = p2->momentum().pz();
-										(*m_pvecPBeam2_f_E)[coll_counter-1] = p2->momentum().e();
-									}
-								}
-							}
-
-							if(pcount > 2) {LogStream << MSG::DEBUG << "More than two outcoming protons in this event; not possible for elastic scaterring!" << endmsg;}
-							LogStream << MSG::DEBUG << "pcount = " << pcount << endmsg;
-						}
-					}
-				}
-			}
-
-			LogStream << MSG::INFO << "MARK03" << endmsg;
-			//transported/simulated particles and vertices
-			begGenVtxItr = (**mcTruBeg).vertices_begin();
-
-			vtx_counter[coll_counter-1] = 0.;
-			int nAux=0;
-
-			for(;begGenVtxItr!=endGenVtxItr;++begGenVtxItr)
-			{
-				nAux++;
-				if (fabs((fabs((**begGenVtxItr).position().z())-236908.)) > 50.) // transported/simulated to 236.908m
-				{
-					continue;
-				}
-
-				vtx_counter[coll_counter-1]++;
-
-				HepMC::GenVertex::particle_iterator child, child_end;
-				child = (*begGenVtxItr)->particles_begin(HepMC::family);
-				child_end = (*begGenVtxItr)->particles_end(HepMC::family);
-
-				double px = (*child)->momentum().px();
-				double py = (*child)->momentum().py();
-				double pz = (*child)->momentum().pz();
-				double E  = (*child)->momentum().e();
-				double phi= (*child)->momentum().phi();
-				double m  = (*child)->momentum().m();
-
-				LogStream << MSG::DEBUG << "particle barcode = " << (*child)->barcode() << endmsg;
-				LogStream << MSG::DEBUG << "particle pdg = " << (*child)->pdg_id() << endmsg;
-				LogStream << MSG::DEBUG << "particle status = " << (*child)->status() << endmsg;
-				LogStream << MSG::DEBUG << " *  px = " << px << ", py = " << py << ", pz =" << pz << endmsg;
-				LogStream << MSG::DEBUG << " " << endmsg;
-
-				for(; child != child_end; ++child) {
-
-					// here we are interested in the proton(s) coming from IP (elastic, difractive), minimally interacting till coming in front of ALFA
-					// - in case of forward transport - the vertex was newly created at the location specified in JO of the ForwardTransportSvc
-					// - in case of full simulation, inside of one collection is maximally one proton (per side) with energy close to the collision one
-
-					if (fabs(fabs((**begGenVtxItr).position().z())-236908.) <= 50.){
-
-						if( ((*child)->status() == 1)){
-
-							if( (*child)->pdg_id() == 2212){
-
-								if(pz > 0){
-
-									//float faux=(*m_pvecPBeam1_f)[4*(coll_counter-1)+0];
-									if (fabs((*m_pvecPBeam1_f_E)[coll_counter-1] - E) < 500.0){ // deviation of the energy of the outcoming particle should be, after transport/simulation, less then 1 MeV}
-										(*m_pvecVtx_a_x)[coll_counter-1] = (**begGenVtxItr).position().x();
-										(*m_pvecVtx_a_y)[coll_counter-1] = (**begGenVtxItr).position().y();
-										(*m_pvecVtx_a_z)[coll_counter-1] = (**begGenVtxItr).position().z();
-
-										(*m_pvecPa_pt)[coll_counter-1] = sqrt(px*px+py*py);
-										(*m_pvecPa_phi)[coll_counter-1]  = phi;
-										(*m_pvecPa_pz)[coll_counter-1]  = pz;
-										(*m_pvecPa_m)[coll_counter-1]  = m;
-									}
-								}
-								else if(pz < 0){
-
-									if (fabs((*m_pvecPBeam2_f_E)[coll_counter-1] - E) < 500.0){ // deviation of the energy of the outcoming particle should be, after transport/simulation, less then 1 MeV}
-										(*m_pvecVtx_c_x)[coll_counter-1] = (**begGenVtxItr).position().x();
-										(*m_pvecVtx_c_y)[coll_counter-1] = (**begGenVtxItr).position().y();
-										(*m_pvecVtx_c_z)[coll_counter-1] = (**begGenVtxItr).position().z();
-
-										(*m_pvecPc_pt)[coll_counter-1] = sqrt(px*px+py*py);
-										(*m_pvecPc_phi)[coll_counter-1]  = phi;
-										(*m_pvecPc_pz)[coll_counter-1]  = pz;
-										(*m_pvecPc_m)[coll_counter-1]  = m;
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-
-			LogStream << MSG::INFO << "MARK04" << endmsg;
-			if ((pi1 != 0) && (pi2 != 0) && (p1 != 0) && (p2 != 0) && (pint == 2) && (pcount == 2)){ //this check works only for elastic
-
-				//b_vtx_kin_fill_flag = true;
-
-				/*
-					HepMC::FourVector pv1 = (pi1->momentum());
-					HepMC::FourVector pv2 = (pi2->momentum());
-					HepMC::FourVector pv3 = (p1->momentum());
-					HepMC::FourVector pv4 = (p2->momentum());
-
-					CLHEP::HepLorentzVector hp1(pv1.px(),pv1.py(),pv1.pz(),pv1.e());
-					CLHEP::HepLorentzVector hp2(pv2.px(),pv2.py(),pv2.pz(),pv2.e());
-					CLHEP::HepLorentzVector hp3(pv3.px(),pv3.py(),pv3.pz(),pv3.e());
-					CLHEP::HepLorentzVector hp4(pv4.px(),pv4.py(),pv4.pz(),pv4.e());
-
-					t_13 = (hp1-hp3).m2();
-					t_24 = (hp2-hp4).m2();
-					LogStream << MSG::DEBUG << " ******************************************************* " << endmsg;
-					LogStream << MSG::DEBUG << " " << endmsg;
-					LogStream << MSG::DEBUG << " t_13 = " << t_13 << endmsg;
-					LogStream << MSG::DEBUG << " t_24 = " << t_24 << endmsg;
-					LogStream << MSG::DEBUG << " " << endmsg;
-					LogStream << MSG::DEBUG << " ******************************************************* " << endmsg;
-					*/
-
-			}
-		}
-
-		LogStream << MSG::INFO << "MARK05" << endmsg;
-		return StatusCode::SUCCESS;
-	}
-
-	void AlfaTruthInfoFillerTool::ClearData(const int nPileUpCnt)
-	{
-		//m_pvecVtx_g->resize(nPileUpCnt*4);
-		//fill_n(m_pvecVtx_g->begin(),m_pvecVtx_g->size(),0);
-		m_pvecVtx_g_x->resize(nPileUpCnt);
-		fill_n(m_pvecVtx_g_x->begin(),m_pvecVtx_g_x->size(),0);
-		m_pvecVtx_g_y->resize(nPileUpCnt);
-		fill_n(m_pvecVtx_g_y->begin(),m_pvecVtx_g_y->size(),0);
-		m_pvecVtx_g_z->resize(nPileUpCnt);
-		fill_n(m_pvecVtx_g_z->begin(),m_pvecVtx_g_z->size(),0);
-
-		//m_pvecVtx_a->resize(nPileUpCnt*4);
-		//fill_n(m_pvecVtx_a->begin(),m_pvecVtx_a->size(),0);
-		m_pvecVtx_a_x->resize(nPileUpCnt);
-		fill_n(m_pvecVtx_a_x->begin(),m_pvecVtx_a_x->size(),0);
-		m_pvecVtx_a_y->resize(nPileUpCnt);
-		fill_n(m_pvecVtx_a_y->begin(),m_pvecVtx_a_y->size(),0);
-		m_pvecVtx_a_z->resize(nPileUpCnt);
-		fill_n(m_pvecVtx_a_z->begin(),m_pvecVtx_a_z->size(),0);
-
-		//m_pvecVtx_c->resize(nPileUpCnt*4);
-		//fill_n(m_pvecVtx_c->begin(),m_pvecVtx_c->size(),0);
-		m_pvecVtx_c_x->resize(nPileUpCnt);
-		fill_n(m_pvecVtx_c_x->begin(),m_pvecVtx_c_x->size(),0);
-		m_pvecVtx_c_y->resize(nPileUpCnt);
-		fill_n(m_pvecVtx_c_y->begin(),m_pvecVtx_c_y->size(),0);
-		m_pvecVtx_c_z->resize(nPileUpCnt);
-		fill_n(m_pvecVtx_c_z->begin(),m_pvecVtx_c_z->size(),0);
-
-		//m_pvecP_a->resize(nPileUpCnt*4);
-		//fill_n(m_pvecP_a->begin(),m_pvecP_a->size(),0);
-		m_pvecPa_pt->resize(nPileUpCnt);
-		fill_n(m_pvecPa_pt->begin(),m_pvecPa_pt->size(),0);
-		m_pvecPa_phi->resize(nPileUpCnt);
-		fill_n(m_pvecPa_phi->begin(),m_pvecPa_phi->size(),0);
-		m_pvecPa_pz->resize(nPileUpCnt);
-		fill_n(m_pvecPa_pz->begin(),m_pvecPa_pz->size(),0);
-		m_pvecPa_m->resize(nPileUpCnt);
-		fill_n(m_pvecPa_m->begin(),m_pvecPa_m->size(),0);
-
-		//m_pvecP_c->resize(nPileUpCnt*4);
-		//fill_n(m_pvecP_c->begin(),m_pvecP_c->size(),0);
-		m_pvecPc_pt->resize(nPileUpCnt);
-		fill_n(m_pvecPc_pt->begin(),m_pvecPc_pt->size(),0);
-		m_pvecPc_phi->resize(nPileUpCnt);
-		fill_n(m_pvecPc_phi->begin(),m_pvecPc_phi->size(),0);
-		m_pvecPc_pz->resize(nPileUpCnt);
-		fill_n(m_pvecPc_pz->begin(),m_pvecPc_pz->size(),0);
-		m_pvecPc_m->resize(nPileUpCnt);
-		fill_n(m_pvecPc_m->begin(),m_pvecPc_m->size(),0);
-
-		//m_pvecPBeam1_i->resize(nPileUpCnt*4);
-		//fill_n(m_pvecPBeam1_i->begin(),m_pvecPBeam1_i->size(),0);
-		m_pvecPBeam1_i_pt->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam1_i_pt->begin(),m_pvecPBeam1_i_pt->size(),0);
-		m_pvecPBeam1_i_phi->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam1_i_phi->begin(),m_pvecPBeam1_i_phi->size(),0);
-		m_pvecPBeam1_i_pz->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam1_i_pz->begin(),m_pvecPBeam1_i_pz->size(),0);
-		m_pvecPBeam1_i_E->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam1_i_E->begin(),m_pvecPBeam1_i_E->size(),0);
-
-		//m_pvecPBeam1_f->resize(nPileUpCnt*4);
-		//fill_n(m_pvecPBeam1_f->begin(),m_pvecPBeam1_f->size(),0);
-		m_pvecPBeam1_f_pt->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam1_f_pt->begin(),m_pvecPBeam1_f_pt->size(),0);
-		m_pvecPBeam1_f_phi->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam1_f_phi->begin(),m_pvecPBeam1_f_phi->size(),0);
-		m_pvecPBeam1_f_pz->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam1_f_pz->begin(),m_pvecPBeam1_f_pz->size(),0);
-		m_pvecPBeam1_f_E->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam1_f_E->begin(),m_pvecPBeam1_f_E->size(),0);
-
-		//m_pvecPBeam2_i->resize(nPileUpCnt*4);
-		//fill_n(m_pvecPBeam2_i->begin(),m_pvecPBeam2_i->size(),0);
-		m_pvecPBeam2_i_pt->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam2_i_pt->begin(),m_pvecPBeam2_i_pt->size(),0);
-		m_pvecPBeam2_i_phi->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam2_i_phi->begin(),m_pvecPBeam2_i_phi->size(),0);
-		m_pvecPBeam2_i_pz->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam2_i_pz->begin(),m_pvecPBeam2_i_pz->size(),0);
-		m_pvecPBeam2_i_E->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam2_i_E->begin(),m_pvecPBeam2_i_E->size(),0);
-
-		//m_pvecPBeam2_f->resize(nPileUpCnt*4);
-		//fill_n(m_pvecPBeam2_f->begin(),m_pvecPBeam2_f->size(),0);
-		m_pvecPBeam2_f_pt->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam2_f_pt->begin(),m_pvecPBeam2_f_pt->size(),0);
-		m_pvecPBeam2_f_phi->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam2_f_phi->begin(),m_pvecPBeam2_f_phi->size(),0);
-		m_pvecPBeam2_f_pz->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam2_f_pz->begin(),m_pvecPBeam2_f_pz->size(),0);
-		m_pvecPBeam2_f_E->resize(nPileUpCnt);
-		fill_n(m_pvecPBeam2_f_E->begin(),m_pvecPBeam2_f_E->size(),0);
-	}
-
-
-} // namespace D3PD
-
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTruthInfoFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTruthInfoFillerTool.h
deleted file mode 100644
index 4c30dc278a6b69a059689e6c05f10fa6c0185091..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/AlfaTruthInfoFillerTool.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-  * @file ForwardDetectorsD3PDMaker/AlfaTruthInfoFillerTool.h
-  * @author Libor Nozka
-  * @date March 2013
-  * @brief Block filler tool for Alfa information.
-  */
-#ifndef FORWARDDETECTORSD3PDMAKER_ALFATRUTHINFOFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_ALFATRUTHINFOFILLERTOOL_H
-
-#include "AlfaCommonHdr.h"
-
-namespace D3PD
-{
-
-	class AlfaTruthInfoFillerTool : public AlfaTruthInfoFillerBase
-	{
-
-	public:
-		/**
-	   * @brief Standard Gaudi tool constructor.
-	   * @param type   The name of the tool type.
-	   * @param name   The tool name.
-	   * @param parent The tool's Gaudi parent.
-	   */
-		AlfaTruthInfoFillerTool( const std::string& type, const std::string& name, const IInterface* parent );
-
-		virtual StatusCode initialize();
-		virtual StatusCode book();
-		virtual StatusCode fill(const McEventCollection& EventCollection);
-
-	private:
-		void ClearData(const int nPileUpCnt);
-
-	private:
-		//std::vector<float>* m_pvecVtx_g;
-		std::vector<float>* m_pvecVtx_g_x;
-		std::vector<float>* m_pvecVtx_g_y;
-		std::vector<float>* m_pvecVtx_g_z;
-
-		//std::vector<float>* m_pvecVtx_a;
-		std::vector<float>* m_pvecVtx_a_x;
-		std::vector<float>* m_pvecVtx_a_y;
-		std::vector<float>* m_pvecVtx_a_z;
-
-		//std::vector<float>* m_pvecVtx_c;
-		std::vector<float>* m_pvecVtx_c_x;
-		std::vector<float>* m_pvecVtx_c_y;
-		std::vector<float>* m_pvecVtx_c_z;
-
-		//std::vector<float>* m_pvecP_a;
-		std::vector<float>* m_pvecPa_pt;
-		std::vector<float>* m_pvecPa_phi;
-		std::vector<float>* m_pvecPa_pz;
-		std::vector<float>* m_pvecPa_m;
-
-		//std::vector<float>* m_pvecP_c;
-		std::vector<float>* m_pvecPc_pt;
-		std::vector<float>* m_pvecPc_phi;
-		std::vector<float>* m_pvecPc_pz;
-		std::vector<float>* m_pvecPc_m;
-
-		//std::vector<float>* m_pvecPBeam1_i;
-		std::vector<float>* m_pvecPBeam1_i_pt;
-		std::vector<float>* m_pvecPBeam1_i_phi;
-		std::vector<float>* m_pvecPBeam1_i_pz;
-		std::vector<float>* m_pvecPBeam1_i_E;
-
-		//std::vector<float>* m_pvecPBeam1_f;
-		std::vector<float>* m_pvecPBeam1_f_pt;
-		std::vector<float>* m_pvecPBeam1_f_phi;
-		std::vector<float>* m_pvecPBeam1_f_pz;
-		std::vector<float>* m_pvecPBeam1_f_E;
-
-		//std::vector<float>* m_pvecPBeam2_i;
-		std::vector<float>* m_pvecPBeam2_i_pt;
-		std::vector<float>* m_pvecPBeam2_i_phi;
-		std::vector<float>* m_pvecPBeam2_i_pz;
-		std::vector<float>* m_pvecPBeam2_i_E;
-
-		//std::vector<float>* m_pvecPBeam2_f;
-		std::vector<float>* m_pvecPBeam2_f_pt;
-		std::vector<float>* m_pvecPBeam2_f_phi;
-		std::vector<float>* m_pvecPBeam2_f_pz;
-		std::vector<float>* m_pvecPBeam2_f_E;
-
-	}; // class AlfaTruthInfoFillerTool
-
-} // namespace D3PD
-
-#endif //FORWARDDETECTORSD3PDMAKER_ALFATRUTHINFOFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcDigitsFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcDigitsFillerTool.cxx
deleted file mode 100644
index 0e6d0320879f7b3151870420f4b6888d395b8dba..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcDigitsFillerTool.cxx
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: ZdcDigitsFillerTool.cxx 524378 2012-11-04 10:06:03Z ssnyder $
-/**
-  * @file HeavyIonD3PDMaker/FillerTool.h
-  * @author Yujiao Chen
-  * @author Marco Leite <leite@cern.ch>
-  * @date August 2010
-  * @brief Block filler tool for ZDC Digits information. This is the most basic information
-  */
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// ZDC include(s):
-#include "ZdcIdentifier/ZdcID.h"
-#include "ZdcConditions/ZdcCablingService.h"
-
-// Local include(s):
-#include "ZdcDigitsFillerTool.h"
-
-namespace D3PD {
-
-   /**
-    * @brief Standard Gaudi tool constructor.
-    * @param type The name of the tool type.
-    * @param name The tool name.
-    * @param parent The tool's Gaudi parent.
-    */
-   ZdcDigitsFillerTool::ZdcDigitsFillerTool( const std::string& type,
-                                             const std::string& name,
-                                             const IInterface* parent )
-      : ZdcDigitsFillerBase( type, name,parent )
-   {
-     book().ignore(); // Avoid coverity warnings
-   }
-
-   /**
-    * Initialize: informs the type container to D3PDMaker
-    *             retrieves the mapping database
-    *             prepares the coefficients for the calibration
-    *
-    * @return Success or failure (will stop the processing)
-    */
-   StatusCode ZdcDigitsFillerTool::initialize() {
-
-      // Initialize the base class:
-      CHECK( ZdcDigitsFillerBase::initialize() );
-
-      /**
-       * Get mapping from detector store
-       */
-      CHECK( detStore()->retrieve( m_zdcID ) );
-
-      ATH_MSG_INFO( "ZdcDigitsFillerTool---> Initialized" );
-
-      return StatusCode::SUCCESS;
-   }
-
-   StatusCode ZdcDigitsFillerTool::book() {
-
-      ATH_MSG_DEBUG( "ZdcDigitsFillerTool---> Booking Histograms" );
-
-      CHECK( addVariable ("dig_g0d0", m_dig_g0d0) );
-      CHECK( addVariable ("dig_g0d1", m_dig_g0d1) );
-      CHECK( addVariable ("dig_g1d0", m_dig_g1d0) );
-      CHECK( addVariable ("dig_g1d1", m_dig_g1d1) );
-
-      CHECK( addVariable ("Id",        m_id) );
-      CHECK( addVariable ("Side",      m_side) );
-      CHECK( addVariable ("Type",      m_type) );
-      CHECK( addVariable ("Module",    m_module) );
-      CHECK( addVariable ("Channel",   m_channel) );
-
-      return StatusCode::SUCCESS;
-   }
-
-   /**
-    *
-    * @param p pointer to object in the collection
-    * @return always SUCCESS
-    */
-   StatusCode ZdcDigitsFillerTool::fill( const ZdcDigits &p ) {
-
-      clearData();
-
-      const Identifier id = p.identify();
-
-      //change to DEBUG !
-      ATH_MSG_DEBUG( " ZDCD3PD FIller ID  " << id.getString()
-                     << " S= "                 << m_zdcID->side( id )
-                     << " T= "                 << m_zdcID->type( id )
-                     << " M= "                 << m_zdcID->module( id )
-                     << " C= "                 << m_zdcID->channel( id ) );
-
-      /**
-       * Fill the D3PD container based on the information from ESD
-       */
-
-      //Vector holding all gains and delays
-      *m_dig_g0d0 = p.get_digits_gain0_delay0();
-      *m_dig_g0d1 = p.get_digits_gain0_delay1();
-      *m_dig_g1d0 = p.get_digits_gain1_delay0();
-      *m_dig_g1d1 = p.get_digits_gain1_delay1();
-
-      *m_id = id.get_identifier32().get_compact();
-
-      *m_side     = m_zdcID->side( id );
-      *m_module   = m_zdcID->module( id );
-      *m_type     = m_zdcID->type( id );
-      *m_channel  = m_zdcID->channel( id );
-
-      return StatusCode::SUCCESS;
-   }
-
-   /**
-    * Initializes the ntuple variables
-    */
-   void ZdcDigitsFillerTool::clearData() {
-
-      m_dig_g0d0->clear();
-      m_dig_g0d1->clear();
-      m_dig_g1d0->clear();
-      m_dig_g1d1->clear();
-
-      *m_id        =  999;
-
-      *m_side      = -999;
-      *m_type      = -999;
-      *m_module    = -999;
-      *m_channel   = -999;
-
-      return;
-   }
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcDigitsFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcDigitsFillerTool.h
deleted file mode 100644
index a06224a03f4899d9a57ae36ce214e9442e86e866..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcDigitsFillerTool.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// Dear emacs, this is -*- c++ -*-
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: ZdcDigitsFillerTool.h 470583 2011-11-25 10:33:45Z krasznaa $
-/**
-  * @file HeavyIonD3PDMaker/FillerTool.h
-  * @author Yujiao Chen
-  * @author Marco Leite <leite@cern.ch>
-  * @date August 2010
-  * @brief Block filler tool for ZDC information.
-  */
-#ifndef FORWARDDETECTORSD3PDMAKER_ZDCDIGITSFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_ZDCDIGITSFILLERTOOL_H
-
-// STL include(s):
-#include <vector>
-
-// EDM include(s):
-#include "ZdcEvent/ZdcDigits.h"
-
-// D3PDMaker include(s):
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-// Forward declaration(s):
-class ZdcID;
-
-namespace D3PD {
-
-   // Convenience type definition:
-   typedef D3PD::BlockFillerTool< ZdcDigits >
-   ZdcDigitsFillerBase;
-
-   class ZdcDigitsFillerTool : public ZdcDigitsFillerBase {
-
-   public:
-      /**
-       * @brief Standard Gaudi tool constructor.
-       * @param type   The name of the tool type.
-       * @param name   The tool name.
-       * @param parent The tool's Gaudi parent.
-       */
-      ZdcDigitsFillerTool( const std::string& type,
-                           const std::string& name,
-                           const IInterface* parent );
-
-      virtual StatusCode initialize();
-      virtual StatusCode book();
-      virtual StatusCode fill( const ZdcDigits& p );
-
-   private:
-      void clearData();
-
-      const ZdcID* m_zdcID;
-
-      //These hold all information: different gains, delays and methods
-      std::vector< int >* m_dig_g0d0;
-      std::vector< int >* m_dig_g0d1;
-      std::vector< int >* m_dig_g1d0;
-      std::vector< int >* m_dig_g1d1;
-
-      unsigned int  *m_id;
-
-      int            *m_module;
-      int            *m_side;
-      int            *m_type;
-      int            *m_channel;
-
-   }; // class ZdcDigitsFillerTool
-
-} // namespace D3PD
-
-#endif // FORWARDDETECTORSD3PDMAKER_ZDCDIGITSFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcFillerTool.cxx
deleted file mode 100644
index 763322fa5365a0927d90b080a3f3e416cecc7620..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcFillerTool.cxx
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: ZdcFillerTool.cxx 524378 2012-11-04 10:06:03Z ssnyder $
-/**
-  * @file ForwardDetectorsD3PDMaker/FillerTool.h
-  * @author Yujiao Chen
-  * @author Marco Leite <leite@cern.ch>
-  * @date August 2010
-  * @brief Block filler tool for ZDC information.
-  */
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// ZDC include(s):
-#include "ZdcIdentifier/ZdcID.h"
-#include "ZdcConditions/ZdcCablingService.h"
-
-// Local include(s):
-#include "ZdcFillerTool.h"
-
-namespace D3PD {
-
-   /**
-    * @brief Standard Gaudi tool constructor.
-    * @param type The name of the tool type.
-    * @param name The tool name.
-    * @param parent The tool's Gaudi parent.
-    */
-   ZdcFillerTool::ZdcFillerTool( const std::string& type,
-                                 const std::string& name,
-                                 const IInterface* parent )
-      : ZdcRawChannelFillerBase( type, name, parent ) {
-
-      declareProperty( "CalibrateEnergy",      m_calibrateEnergy = false );
-      declareProperty( "CalibrateTime",        m_calibrateTime = false );
-      declareProperty( "NoiseThreshold",       m_threshold = 5 );
-      declareProperty( "ReconstructionMethod", m_recoMethod = "DirectSample" );
-
-      book().ignore(); // Avoid coverity warnings
-   }
-
-   /**
-    * Initialize: informs the type container to D3PDMaker
-    *             retrieves the mapping database
-    *             prepares the coefficients for the calibration
-    *
-    * @return Success or failure (will stop the processing)
-    */
-   StatusCode ZdcFillerTool::initialize() {
-
-      // Initialize the base class:
-      CHECK( ZdcRawChannelFillerBase::initialize() );
-
-      /**
-       * Get mapping from detector store
-       */
-      CHECK( detStore()->retrieve( m_zdcID ) );
-
-      //Prepare the calibration objects
-      fillCalibrationConstants();
-
-      ATH_MSG_INFO( "ZdcFillerTool---> Initialized" );
-
-      return StatusCode::SUCCESS;
-   }
-
-   StatusCode ZdcFillerTool::book() {
-
-      ATH_MSG_DEBUG( "ZdcFillerTool---> Booking Histograms" );
-
-      CHECK( addVariable ("Energy_Vec",    m_energyVec) );
-      CHECK( addVariable ("Time_Vec",      m_timeVec) );
-      CHECK( addVariable ("Vec_Size",      m_vecSize) );
-
-      CHECK( addVariable ("Energy_LG",    m_energyLg) );
-      CHECK( addVariable ("Time_LG",      m_timeLg) );
-
-      CHECK( addVariable ("Energy_HG",    m_energyHg) );
-      CHECK( addVariable ("Time_HG",      m_timeHg) );
-
-      CHECK( addVariable ("Id",        m_id) );
-      CHECK( addVariable ("Side",      m_side) );
-      CHECK( addVariable ("Type",      m_type) );
-      CHECK( addVariable ("Module",    m_module) );
-      CHECK( addVariable ("Channel",   m_channel) );
-
-      CHECK( addVariable ("TimeCalib", m_timeCalib) );
-
-      CHECK( addVariable ("RecMethod", m_recMethod) );
-
-      return StatusCode::SUCCESS;
-   }
-
-   /**
-    *
-    * @param p pointer to object in the collection
-    * @return always SUCCESS
-    */
-   StatusCode ZdcFillerTool::fill( const ZdcRawChannel &p ) {
-
-      clearData();
-
-      const Identifier id = p.identify();
-
-      /** We want to keep this as a flat ntuple, so I will scan the collection retrieving the
-       *
-       */
-
-      //change to DEBUG !
-      ATH_MSG_DEBUG( " Container Size "     << p.getSize()
-                     << " ZDCD3PD FIller ID  " << id.getString()
-                     << " Energy = "           << p.getEnergy(0)
-                     << " Time= "              << p.getTime(0)
-                     << " S= "                 << m_zdcID->side(id)
-                     << " T= "                 << m_zdcID->type(id)
-                     << " M= "                 << m_zdcID->module(id)
-                     << " C= "                 << m_zdcID->channel(id) );
-
-      /**
-       * Fill the D3PD container based on the information from ESD
-       * We need to include some check for the methods here; for example
-       * p.getMethods() -> returns a map with the  methods implemented and the keys to
-       * map = p.getMethods()
-       * val = map[m_RecoMethod]
-       * p.getEnergy[val] -> the actual value of the energy reconstructed using method m_RecoMethod
-       */
-
-      //Vector holding all gains and delays in the
-      //reconstructed methods
-      const int n = p.getSize();
-      *m_vecSize = n;
-      m_energyVec->resize( n );
-      m_timeVec->resize( n );
-      for( int i = 0; i < n; ++i ) {
-         ( *m_energyVec )[ i ] = p.getEnergy( i );
-         ( *m_timeVec )[ i ]   = p.getTime( i );
-      }
-
-      *m_energyLg   = p.getEnergy( 0 );
-      *m_timeLg     = p.getTime( 0 );
-
-      *m_energyHg   = p.getEnergy( 1 );
-      *m_timeHg     = p.getTime( 1 );
-
-      //For now, only calibrate constants for the sinx/x method
-      //make sure we don't calibrate anything else
-      //if (m_recoMethod = "Sinc") {
-      //    *m_timeCalib   = calibrateTime  (zTime,id);
-      //}
-      //else *m_timeCalib = zTime;
-
-      *m_id       = id.get_identifier32().get_compact();
-
-      *m_side     = m_zdcID->side( id );
-      *m_module   = m_zdcID->module( id );
-      *m_type     = m_zdcID->type( id );
-      *m_channel  = m_zdcID->channel( id );
-
-      return StatusCode::SUCCESS;
-   }
-
-   /**
-    * Initializes the ntuple variables
-    */
-   void ZdcFillerTool::clearData() {
-
-      *m_vecSize   = 0;
-      m_energyVec->clear();
-      m_timeVec->clear();
-
-      *m_energyLg  = -999;
-      *m_timeLg    = -999;
-
-      *m_energyHg  = -999;
-      *m_timeHg    = -999;
-
-      *m_id        =  999;
-      *m_side      = -999;
-      *m_type      = -999;
-      *m_module    = -999;
-      *m_channel   = -999;
-
-      *m_timeCalib = -999;
-
-      *m_recMethod =  999;
-
-      return;
-   }
-
-   /**
-    * This will prepare the vectors holding the coefficients for calibration.
-    * Sometime soon this should move to a database.
-    *
-    */
-   void ZdcFillerTool::fillCalibrationConstants() {
-
-      /**
-       * Vector of constants coeficients for calibration
-       * this came from Andrei Poblaguev analysis
-       * http://indico.cern.ch/getFile.py/access?contribId=0&resId=0&materialId=slides&confId=89265
-       *
-       * photon:    E0 >= 5 ADC counts, E1<  20GeV ; E2 <  4 ADC Counts
-       * neutrons:  E0 >= 5 ADC counts, E1>= 20GeV ; E2 >= 4 ADC Counts
-       *
-       * this considers both the electronic gain and the "weigths" to "recover" leaked energy
-       *
-       */
-
-      static const float hadronA[] = {1, 4.52, 8.52, 50.9 }; //weights for hadron per module side A
-      static const float hadronC[] = {1, 5.21, 17.4, 22.6 }; //weights for hadron per module side C
-
-      static const float photonA[] = {1, 6.22, 8.52, 50.9 }; //weights for photon per module side A
-      static const float photonC[] = {1, 6.73, 17.4, 22.6 }; //weights for photon per module side C
-
-      m_zdcHadronWeightA.assign( hadronA, hadronA + 4 );
-      m_zdcHadronWeightC.assign( hadronC, hadronC + 4 );
-
-      m_zdcPhotonWeightA.assign( photonA, photonA + 4 );
-      m_zdcPhotonWeightC.assign( photonC, photonC + 4 );
-
-      //To be used by a Cubic polinomial in the intervals
-      // 0-5, 5-16, 16-25 ns
-
-      static const float coef0[] = {0.056836274872111,
-                                    1.532763686481279,
-                                    0.229808343735056,
-                                    -0.0365636647119192 };
-
-      static const float coef1[] = {-1.28974955223497,
-                                    2.653578699334604,
-                                    -0.1371240146140209,
-                                    0.00281211806384422 };
-
-      static const float coef2[] = {-42.18688740322650,
-                                    8.61752055701946,
-                                    -0.4259239806065329,
-                                    0.00753849507486617 };
-
-      m_zdcTimeCoeff.resize( 3 );
-      m_zdcTimeCoeff[ 0 ].assign( coef0, coef0 + 4 );
-      m_zdcTimeCoeff[ 1 ].assign( coef1, coef1 + 4 );
-      m_zdcTimeCoeff[ 2 ].assign( coef2, coef2 + 4 );
-
-      return;
-  }
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcFillerTool.h
deleted file mode 100644
index 0060567e106ea8da5953343909c7d48e224b68dc..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcFillerTool.h
+++ /dev/null
@@ -1,171 +0,0 @@
-// Dear emacs, this is -*- c++ -*-
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: ZdcFillerTool.h 546900 2013-05-06 03:24:54Z ssnyder $
-/**
-  * @file ForwardDetectorsD3PDMaker/FillerTool.h
-  * @author Yujiao Chen
-  * @author Marco Leite <leite@cern.ch>
-  * @date August 2010
-  * @brief Block filler tool for ZDC information.
-  */
-#ifndef FORWARDDETECTORSD3PDMAKER_ZDCFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_ZDCFILLERTOOL_H
-
-// STL include(s):
-#include <vector>
-#include <string>
-
-// EDM include(s):
-#include "ZdcEvent/ZdcRawChannel.h"
-
-// D3PDMaker include(s):
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-// Forward declaration(s):
-class ZdcID;
-
-namespace D3PD {
-
-   // Convenience type definition:
-   typedef D3PD::BlockFillerTool< ZdcRawChannel >
-   ZdcRawChannelFillerBase;
-
-   class ZdcFillerTool : public ZdcRawChannelFillerBase {
-
-   public:
-      /**
-       * @brief Standard Gaudi tool constructor.
-       * @param type   The name of the tool type.
-       * @param name   The tool name.
-       * @param parent The tool's Gaudi parent.
-       */
-      ZdcFillerTool( const std::string& type,
-                     const std::string& name,
-                     const IInterface* parent );
-
-      virtual StatusCode initialize();
-      virtual StatusCode book();
-      virtual StatusCode fill( const ZdcRawChannel& p );
-
-  private:
-      void clearData();
-      void fillCalibrationConstants(void);
-
-      const ZdcID* m_zdcID;
-
-      /**
-       * ZDC Ntuple variables
-       * The postfix number corresponds to the longitudinal segmentation module number:
-       *     ZDC A                                        ZDC C
-       * [3][2][1][0] -------------> IP <------------ [0][1][2][3]
-       *
-       * 0 : EM Module        (also w/ transverse segmentation only in side A in 64 channels)
-       * 1 : Hadronic Module  (also w/ transverse segmentation  in sides A, C in 24 channels)
-       * 2 : Hadronic Module
-       * 3 : Hadronic Module
-       *
-       *  Energy   is calibrated in GeV (with modules weights)
-       *  Time     is the "preferred method" time determination
-       *  Quality  is the "signal quality" (eg. saturation, no peak, etc) and ranges from -1
-       *           and right now is either -1 (useless) or 1 (ok)
-       *  Method   is the algorithm used in the reconstruction. Since the D3PD can be merged,
-       *           it's possible to compare several methods with this entry running reconstruction
-       *           jobs with different methods selection
-       */
-
-      // These hold all information: different gains, delays and methods
-      std::vector< float >* m_energyVec;
-      std::vector< float >* m_timeVec;
-      int *m_vecSize;
-
-      //These holds the simple calculation from sample
-      //peak and time from sample ratio, High gain and low gain
-      //undelayed only
-      float          *m_energyLg;
-      float          *m_timeLg;
-      float          *m_energyHg;
-      float          *m_timeHg;
-
-     //float          *m_quality;
-
-      float          *m_timeCalib;
-
-      unsigned int  *m_id;
-
-      int            *m_module;
-      int            *m_side;
-      int            *m_type;
-      int            *m_channel;
-
-      /**
-       * m_ZdcRecMethod holds a number with the method used to reconstruct the ZDC information
-       * 0 :Direct sample measurement
-       *      - Energy -> maximum sample
-       *      - Time   -> ratio of A1/A2 (second/third sample)
-       *
-       * 1 : Spline interpolation factory for the samples
-       *      - Energy -> peak value of the interpolation function
-       *      - Time   -> CFD calculation (0.3 fraction)
-       *
-       * 2 : Sin(x)/x bandwidth limited interpolation
-       *      - Energy -> peak value of the interpolation function
-       *      - Time   -> position of the peak
-       *
-       */
-      unsigned int *m_recMethod;
-
-      /**
-       * Segmented information. This should calculate the position in the reconstruction,
-       * but it's still not implemented. This will need a different container, where
-       * the objects will be the position in each segmented module
-       * TODO: Not implemented yet
-       */
-
-      // float          *m_x;
-      // float          *m_y;
-
-      /// Property: if TRUE, apply weigths and constants to get the full energy
-      bool         m_calibrateEnergy;
-      /// Property: if TRUE, calibrate the time information
-      bool         m_calibrateTime;
-      /// Property: below this number of ADC counts the signal is considered noise
-      unsigned int m_threshold;
-      /// Property: the name of the method information to be retrieved
-      std::string  m_recoMethod;
-
-      /**
-       * Energy calibration vectors for weighting the longitudinal section of the calorimeter
-       * This includes both the electronic gain equalization and the weigth for
-       * photons/neutrons (different to account for lekeage)
-       */
-      std::vector<float> m_zdcHadronWeightA;
-      std::vector<float> m_zdcHadronWeightC;
-
-      std::vector<float> m_zdcPhotonWeightA;
-      std::vector<float> m_zdcPhotonWeightC;
-
-      /**
-       * Polynomial coeficients for timing calibration
-       * the first dimension corresponds to the section while the second
-       * corresponds to the coefficients
-       */
-      std::vector<std::vector<float> > m_zdcTimeCoeff;
-
-      /**
-       * Helpers
-       */
-      /*
-      std::vector<int>   m_id ;
-      std::vector<float> m_energy;
-      std::vector<float> m_time;
-      */
-
-   }; // class ZdcFillerTool
-
-} // namespace D3PD
-
-#endif // FORWARDDETECTORSD3PDMAKER_ZDCFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcRecoFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcRecoFillerTool.cxx
deleted file mode 100644
index e579d8bc4f3c99ab1ccfe38b010ddfc888290935..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcRecoFillerTool.cxx
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: ZdcRecoFillerTool.cxx 538890 2013-02-25 04:49:38Z leite $
-/**
- * @file ForwardDetectorsD3PDMaker/ZdcRecoFillerTool.h
- * @author Marco Leite <leite@cern.ch>
- * @date Nov 2011
- * @brief Block filler tool for ZDC reconstruected information.
- */
-#include <algorithm>
-#include <numeric>
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-
-// ZDC include(s):
-#include "ZdcIdentifier/ZdcID.h"
-#include "ZdcConditions/ZdcCablingService.h"
-#include "ZdcEvent/ZdcDigits.h"
-
-// Local include(s):
-#include "ZdcRecoFillerTool.h"
-
-namespace D3PD {
-
-	//=================================================================================================
-   /**
-    * @brief Standard Gaudi tool constructor.
-    * @param type The name of the tool type.
-    * @param name The tool name.
-    * @param parent The tool's Gaudi parent.
-    */
-   ZdcRecoFillerTool::ZdcRecoFillerTool( const std::string& type,
-                                         const std::string& name,
-                                         const IInterface* parent )
-      : ZdcDigitsCollectionFillerBase( type, name, parent ) {
-
-      declareProperty( "CalibrateEnergy",      m_calibrateEnergy = false );
-      declareProperty( "CalibrateTime",        m_calibrateTime = false );
-      declareProperty( "NoiseThreshold",       m_threshold = 5 );
-      declareProperty( "ReconstructionMethod", m_recoMethod = "DirectSample" );
-
-      book().ignore(); // Avoid coverity warnings
-   }
-
-   /**
-    * Initialize: informs the type container to D3PDMaker
-    *             retrieves the mapping database
-    *             prepares the coefficients for the calibration
-    *
-    * @return Success or failure (will stop the processing)
-    */
-   StatusCode ZdcRecoFillerTool::initialize() {
-
-      // Initialize the base class:
-      CHECK( ZdcDigitsCollectionFillerBase::initialize() );
-
-
-      //Get mapping from detector store
-      CHECK( detStore()->retrieve( m_zdcID ) );
-
-      //Prepare the calibration objects
-      fillCalibrationConstants();
-
-      ATH_MSG_INFO( "ZdcRecoFillerTool---> Initialized" );
-
-      return StatusCode::SUCCESS;
-   }
-   //=================================================================================================
-   //This is necessary to avoid a memeory leak.
-   //Probably it should be placed in all filler tools
-   //(it is safe as it checks for it before deleting it in deleteInstance)
-   StatusCode ZdcRecoFillerTool::finalize() {
-	   ZdcCablingService::deleteInstance();
-	   ATH_MSG_INFO( "ZdcRecoFillerTool---> Finalized" );
-	   return StatusCode::SUCCESS;
-   }
-
-
-   //=================================================================================================
-   StatusCode ZdcRecoFillerTool::book() {
-
-      ATH_MSG_DEBUG( "ZdcRecoFillerTool---> Booking Histograms" );
-
-
-      CHECK( addVariable( "ESumA", m_energySumA,
-                          "Sum of modules energy in side A (auto gain)" ) );
-      CHECK( addVariable( "ESumC", m_energySumC,
-                          "Sum of modules energy in side C (auto gain)" ) );
-
-      CHECK( addVariable( "EA", m_energyA,
-                          "Modules energy in side A (auto gain)" ) );
-      CHECK( addVariable( "EC", m_energyC,
-                          "Modules energy in side C (auto gain)" ) );
-
-      CHECK( addVariable( "qA", m_qualityA,
-                          "Flag for the reason of the auto gain selection in side A" ) );
-      CHECK( addVariable( "qC", m_qualityC,
-                          "Flag for the reason of the auto gain selection in side C" ) );
-
-
-
-      CHECK( addVariable( "ESumA_LG", m_energySumA_Lg,
-                          "Sum of modules energy in side A LG" ) );
-      CHECK( addVariable( "ESumA_HG", m_energySumA_Hg,
-                          "Sum of modules energy in side A HG" ) );
-      CHECK( addVariable( "ESumC_LG", m_energySumC_Lg,
-                          "Sum of modules energy in side C LG" ) );
-      CHECK( addVariable( "ESumC_HG", m_energySumC_Hg,
-                          "Sum of modules energy in side C HG" ) );
-
-      return StatusCode::SUCCESS;
-   }
-   //=================================================================================================
-
-   //=================================================================================================
-   /**
-    *
-    * @param p pointer  the collection
-    * @return always SUCCESS
-    */
-   StatusCode ZdcRecoFillerTool::fill( const ZdcDigitsCollection& zdcCol ) {
-
-	  std::vector< std::vector<int>  > zdcA_Lg(4);
-	  std::vector< std::vector<int>  > zdcA_Hg(4);
-
-	  std::vector< std::vector<int>  > zdcC_Lg(4);
-	  std::vector< std::vector<int>  > zdcC_Hg(4);
-
-
-	  int module = 0;
-	  int side = 0;
-
-	  m_energyA->clear();
-	  m_energyC->clear();
-
-	  m_qualityA->clear();
-	  m_qualityC->clear();
-
-	  m_energyA->resize(4);
-	  m_energyC->resize(4);
-
-	  m_qualityA->resize(4);
-	  m_qualityC->resize(4);
-
-
-	  *m_energySumA = 0;
-	  *m_energySumC = 0;
-
-      *m_energySumA_Lg = 0;
-      *m_energySumA_Hg = 0;
-
-      *m_energySumC_Lg = 0;
-      *m_energySumC_Hg = 0;
-
-      //Try to get digits from here
-
-      ZdcDigitsCollection::const_iterator itr     = zdcCol.begin();
-      ZdcDigitsCollection::const_iterator itrLast = zdcCol.end();
-      for( ; itr !=itrLast; ++itr ) {
-
-         const ZdcDigits* p = ( *itr );
-         const Identifier id = p->identify();
-
-
-         if( ( m_zdcID->type(id) == 0 ) && ( m_zdcID->channel(id) == 0) ) {
-        	 module = m_zdcID->module(id);
-        	 side   = m_zdcID->side(id);
-
-        	 if (side == 1) {
-        		 zdcA_Lg[module] = p->get_digits_gain0_delay0();
-        		 zdcA_Hg[module] = p->get_digits_gain1_delay0();
-        	 }
-        	 else if (side == -1) {
-        		 zdcC_Lg[module] = p->get_digits_gain0_delay0();
-        		 zdcC_Hg[module] = p->get_digits_gain1_delay0();
-        	 }
-         }
-      }
-
-      // Get the energy sum in auto-gain
-
-      getEnergySum(zdcA_Lg, zdcA_Hg, 1);
-      getEnergySum(zdcC_Lg, zdcC_Hg,-1);
-
-
-      return StatusCode::SUCCESS;
-}
-
-   //=================================================================================================
-   /*
-    * Here we calculate the energy sum based on selection of  the best gain and
-    * calibrated in the low gain scale. This takes into account only the electronic
-    * gain variation. The module sampling weight is *NOT* included (and requires
-    * run by run and maybe even lumiblock by lumiblock correction dur to response change
-    * of the modules during the run
-    */
-   void ZdcRecoFillerTool::getEnergySum(const std::vector<std::vector<int> > & zdc_Lg,
-		   	   	   	   	   	   	   	   	const std::vector<std::vector<int> > & zdc_Hg,
-		   	   	   	   	   	   	   	   	const int & side) {
-
-	   int module = 0;
-
-	   int ped_Hg = 0;
-	   int ped_Lg = 0;
-
-	   int pp = 0;
-
-	   std::vector<int> wfm_Lg;
-	   std::vector<int> wfm_Hg;
-
-	   std::vector<int>  pico_Lg(4,0);
-	   std::vector<int>  pico_Hg(4,0);
-
-	   std::vector<int>   qual(4,0);
-	   std::vector<float> energy(4,0);
-
-	   std::vector<int>   satLimit(4,0);
-
-	   if (side ==  1) satLimit = m_saturationA;
-	   if (side == -1) satLimit = m_saturationC;
-
-	   for (module=0; module<4; module++) {
-
-		   wfm_Lg = zdc_Lg[module];
-		   wfm_Hg = zdc_Hg[module];
-
-		   if (wfm_Lg.size() == 0) wfm_Lg.resize(7);
-		   if (wfm_Hg.size() == 0) wfm_Hg.resize(7);
-
-		   ped_Lg = wfm_Lg[0];
-		   ped_Hg = wfm_Hg[0];
-
-		   pico_Lg[module] = *(std::max_element(wfm_Lg.begin(), wfm_Lg.end()) ) - ped_Lg;
-		   pico_Hg[module] = *(std::max_element(wfm_Hg.begin(), wfm_Hg.end()) ) - ped_Hg;
-
-		   //Condition to discard High Gain
-		   qual[module] = 0;
-		   if (pico_Hg[module] > satLimit[module]) {
-			   qual[module] =  qual[module] | 0x1;
-		   }
-		   if (ped_Hg < m_pedMin) {
-			   qual[module] =  qual[module] | 0x2;
-		   }
-		   if (ped_Hg > m_pedMax) {
-			   qual[module] = qual[module]  | 0x4;
-		   }
-		   //Select which gain to use
-		   if (qual[module] != 0 ) {
-			   energy[module] = pico_Lg[module];
-		   }
-		   else {
-			   pp = pico_Hg[module];
-			   energy[module] = convertToLowGain(pp, module, side);
-		   }
-
-	   }
-	   if (side == 1) {
-		   //The separated High and Low gain sums
-		   *m_energySumA_Lg = std::accumulate(pico_Lg.begin(), pico_Lg.end(), 0);
-		   *m_energySumA_Hg = std::accumulate(pico_Hg.begin(), pico_Hg.end(), 0);
-
-		   *m_energyA = energy;
-		   *m_qualityA = qual;
-		   *m_energySumA =  std::accumulate(energy.begin(), energy.end(), 0.0) ;
-	   }
-	   if (side == -1) {
-		   //The separated High and Low gain sums
-		   *m_energySumC_Lg = std::accumulate(pico_Lg.begin(), pico_Lg.end(), 0);
-		   *m_energySumC_Hg = std::accumulate(pico_Hg.begin(), pico_Hg.end(), 0);
-
-		   *m_energyC = energy;
-		   *m_qualityC = qual;
-		   *m_energySumC =  std::accumulate(energy.begin(), energy.end(), 0.0) ;
-	   }
-
-     }
-   //=================================================================================================
-
-   float ZdcRecoFillerTool::convertToLowGain(const int & v, const int & module, const int & side) {
-
-	   float y = 0;
-	   //Side A
-	   if (side == 1) {
-		   y = v * m_calib_p1A[module] + m_calib_p0A[module];
-	   }
-	   if (side == -1) {
-		   y = v * m_calib_p1C[module] + m_calib_p0C[module];
-	   }
-	   return y;
-   }
-   /**
-    * This will prepare the vectors holding the coefficients for calibration.
-    * Sometime  this should move to a database.
-    */
-   void ZdcRecoFillerTool::fillCalibrationConstants() {
-
-      /**
-       * Vector of constants coeficients for calibration
-       * this is for 2013 analysis
-       *
-       * this considers *ONLY* the electronic gain
-       * to convert the high gain to the low gain scale (y=p1*x + p0)
-       */
-
-
-	  static const float p1A[] = {0.10198,  0.11234,  0.11218,   0.11989};
-	  static const float p1C[] = {0.10198,  0.12038,  0.09796,   0.11390};
-	  //static const float p1C[] = {0.10198,  0.13304,  0.09796,   0.11390};
-
-	  static const float p0A[] = {-0.07314, 0.61453,  0.91681,  0.39103};
-	  static const float p0C[] = { 0.0,    -0.55202, -0.86575, -0.09950};
-	  //static const float p0C[] = { 0.0,    -1.58776, -0.86575, -0.09950};
-
-	  static const int satA[] = { 650, 650, 650, 700};
-	  static const int satC[] = { 700, 480, 850, 650};
-
-	  //Alternative constants
-      //static const float p1A[] = {0.1104,  0.1079,  0.1080,   0.1111};
-      //static const float p1C[] = {0.1104,  0.1077,  0.0995,   0.1143};
-
-      //static const float p0A[] = {0.5595,  0.2165,  0.11322, -0.5599};
-      //static const float p0C[] = {0.5595,  0.2332, -0.5520,   0.5571};
-
-      m_calib_p1A.assign( p1A, p1A + 4 );
-      m_calib_p1C.assign( p1C, p1C + 4 );
-
-      m_calib_p0A.assign( p0A, p0A + 4 );
-      m_calib_p0C.assign( p0C, p0C + 4 );
-
-      m_saturationA.assign(satA, satA+4);
-      m_saturationC.assign(satC, satC+4);
-
-      m_pedMin = 10;
-      m_pedMax = 160;
-
-      return;
-   }
-   //=================================================================================================
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcRecoFillerTool.h b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcRecoFillerTool.h
deleted file mode 100644
index d2ad95fea4962f0d47f2121fd61df8bee1fd722c..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/ZdcRecoFillerTool.h
+++ /dev/null
@@ -1,137 +0,0 @@
-// Dear emacs, this is -*- c++ -*-
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: ZdcRecoFillerTool.h 538888 2013-02-25 04:06:47Z leite $
-/**
-  * @file ForwardDetectorsD3PDMaker/FillerTool.h
-  * @author Yujiao Chen
-  * @author Marco Leite <leite@cern.ch>
-  * @date August 2010
-  * @brief Block filler tool for ZDC information.
-  */
-#ifndef FORWARDDETECTORSD3PDMAKER_ZDCRECOFILLERTOOL_H
-#define FORWARDDETECTORSD3PDMAKER_ZDCRECOFILLERTOOL_H
-
-// STL include(s):
-#include <vector>
-#include <string>
-
-// EDM include(s):
-#include "ZdcEvent/ZdcDigitsCollection.h"
-
-// D3PDMaker include(s):
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-// Forward declaration(s):
-class ZdcID;
-
-namespace D3PD {
-
-   // Convenience type definition:
-   typedef D3PD::BlockFillerTool< ZdcDigitsCollection >
-   ZdcDigitsCollectionFillerBase;
-
-   class ZdcRecoFillerTool : public ZdcDigitsCollectionFillerBase {
-
-   public:
-      /**
-       * @brief Standard Gaudi tool constructor.
-       * @param type   The name of the tool type.
-       * @param name   The tool name.
-       * @param parent The tool's Gaudi parent.
-       */
-      ZdcRecoFillerTool( const std::string& type,
-                         const std::string& name,
-                         const IInterface* parent );
-
-      virtual StatusCode initialize();
-      virtual StatusCode book();
-      virtual StatusCode fill( const ZdcDigitsCollection & zdcCol );
-      virtual StatusCode finalize();
-
-   private:
-
-      void fillCalibrationConstants();
-      void getEnergySum(const std::vector<std::vector<int> > & zdc_Lg,
-   		   	   	   	   	const std::vector<std::vector<int> > & zdc_Hg, const int & side);
-      float convertToLowGain(const int & v, const int & module, const int & side);
-
-      const ZdcID* m_zdcID;
-
-      // Sum of modules energy per side, per gain
-      int            *m_energySumA_Lg;
-      int            *m_energySumA_Hg;
-
-      int            *m_energySumC_Lg;
-      int            *m_energySumC_Hg;
-
-      // Modules energy after electronic gain selection
-      std::vector< float > *m_energyA;
-      std::vector< float > *m_energyC;
-
-      // Quality of the auto gain reconstruction
-      std::vector< int > *m_qualityA;
-      std::vector< int > *m_qualityC;
-
-      // Sum of modules energy (auto gain)
-      float *m_energySumA;
-      float *m_energySumC;
-
-
-      //Placeholder for Segmented information (Only EM Side C is segmented)
-      /*
-      float          *m_posXEmC;
-      float          *m_posYEmC;
-
-      float          *m_posXHadA;
-      float          *m_posYHadA;
-
-      float          *m_posXHadC;
-      float          *m_posYHadC;
-      */
-
-      /// Property: if TRUE, apply weigths and constants to get the full energy
-      bool         m_calibrateEnergy;
-      /// Property: if TRUE, calibrate the time information
-      bool         m_calibrateTime;
-      /// Property: below this number of ADC counts the signal is considered noise
-      unsigned int m_threshold;
-      /// Property: the name of the method information to be retrieved
-      std::string  m_recoMethod;
-
-      /**
-       * Energy calibration vectors for weighting the longitudinal section of the calorimeter
-       * This includes both the electronic gain equalization and the weigth for
-       * photons/neutrons (different to account for lekeage)
-       */
-      std::vector<float> m_calib_p1A;
-      std::vector<float> m_calib_p0A;
-
-      std::vector<float> m_calib_p1C;
-      std::vector<float> m_calib_p0C;
-
-      //Modules seems to saturate at different positions,
-      //So for flexibility is better to keep a saturation limit for each one
-      std::vector<int> m_saturationA;
-      std::vector<int> m_saturationC;
-
-      int m_pedMin;
-      int m_pedMax;
-
-      /**
-       * Helpers
-       */
-      /*
-      std::vector<int>   m_id ;
-      std::vector<float> m_energy;
-      std::vector<float> m_time;
-      */
-
-   }; // class ZdcRecoFillerTool
-
-} // namespace D3PD
-
-#endif // FORWARDDETECTORSD3PDMAKER_ZDCRECOFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/components/ForwardDetectorsD3PDMaker_entries.cxx b/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/components/ForwardDetectorsD3PDMaker_entries.cxx
deleted file mode 100644
index 679db28adb5fd4143ea32d2073d912a6156a268b..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/D3PDMaker/ForwardDetectorsD3PDMaker/src/components/ForwardDetectorsD3PDMaker_entries.cxx
+++ /dev/null
@@ -1,36 +0,0 @@
-#include "../ZdcFillerTool.h"
-#include "../ZdcDigitsFillerTool.h"
-#include "../ZdcRecoFillerTool.h"
-
-#include "../AlfaHitCollectionFillerTool.h"
-#include "../AlfaEventHeaderFillerTool.h"
-#include "../AlfaTrackingDataFillerTool.h"
-#include "../AlfaTruthInfoFillerTool.h"
-#include "../AlfaMetaDataTool.h"
-
-#include "../AfpSIDSimHitCollectionFillerTool.h"
-#include "../AfpSIDDigiCollectionFillerTool.h"
-#include "../AfpSIDLocRecoEvCollectionFillerTool.h"
-#include "../AfpTDSimHitCollectionFillerTool.h"
-#include "../AfpTDDigiCollectionFillerTool.h"
-#include "../AfpTDLocRecoEvCollectionFillerTool.h"
-#include "../AfpTruthInfoFillerTool.h"
-
-DECLARE_COMPONENT( D3PD::ZdcFillerTool )
-DECLARE_COMPONENT( D3PD::ZdcDigitsFillerTool )
-DECLARE_COMPONENT( D3PD::ZdcRecoFillerTool )
-
-DECLARE_COMPONENT( D3PD::AlfaHitCollectionFillerTool )
-DECLARE_COMPONENT( D3PD::AlfaEventHeaderFillerTool )
-DECLARE_COMPONENT( D3PD::AlfaTrackingDataFillerTool )
-DECLARE_COMPONENT( D3PD::AlfaTruthInfoFillerTool )
-DECLARE_COMPONENT( D3PD::AlfaMetaDataTool )
-
-DECLARE_COMPONENT( D3PD::AfpSIDSimHitCollectionFillerTool )
-DECLARE_COMPONENT( D3PD::AfpSIDDigiCollectionFillerTool )
-DECLARE_COMPONENT( D3PD::AfpSIDLocRecoEvCollectionFillerTool )
-DECLARE_COMPONENT( D3PD::AfpTDSimHitCollectionFillerTool )
-DECLARE_COMPONENT( D3PD::AfpTDDigiCollectionFillerTool )
-DECLARE_COMPONENT( D3PD::AfpTDLocRecoEvCollectionFillerTool )
-DECLARE_COMPONENT( D3PD::AfpTruthInfoFillerTool )
-