Index: Makefile
===================================================================
--- Makefile	(revision 9189af2471d55ba804d7c21ba2025a360462b0d0)
+++ Makefile	(revision 66cf877a240813bbc52629054e1c760b41142659)
@@ -419,4 +419,5 @@
 	modules/PileUpJetID.h \
 	modules/PhotonID.h \
+	modules/EICPIDDetector.h \
 	modules/ConstituentFilter.h \
 	modules/StatusPidFilter.h \
@@ -915,4 +916,13 @@
 	external/ExRootAnalysis/ExRootFilter.h \
 	external/ExRootAnalysis/ExRootResult.h
+tmp/modules/EICPIDDetector.$(ObjSuf): \
+	modules/EICPIDDetector.$(SrcSuf) \
+	modules/EICPIDDetector.h \
+	classes/DelphesClasses.h \
+	classes/DelphesFactory.h \
+	classes/DelphesFormula.h \
+	external/ExRootAnalysis/ExRootClassifier.h \
+	external/ExRootAnalysis/ExRootFilter.h \
+	external/ExRootAnalysis/ExRootResult.h
 tmp/modules/PileUpJetID.$(ObjSuf): \
 	modules/PileUpJetID.$(SrcSuf) \
@@ -1179,4 +1189,5 @@
 	tmp/modules/PhotonConversions.$(ObjSuf) \
 	tmp/modules/PhotonID.$(ObjSuf) \
+	tmp/modules/EICPIDDetector.$(ObjSuf) \
 	tmp/modules/PileUpJetID.$(ObjSuf) \
 	tmp/modules/PileUpMerger.$(ObjSuf) \
@@ -2068,4 +2079,8 @@
 	@touch $@
 
+modules/EICPIDDetector.h: \
+	classes/DelphesModule.h
+	@touch $@
+
 external/fastjet/tools/Pruner.hh: \
 	external/fastjet/ClusterSequence.hh \
@@ -2318,4 +2333,40 @@
 	@touch $@
 
+PID_OBJ +=  \
+	tmp/external/pid/barrelDIRC/src/barrelDirc.$(ObjSuf) \
+	tmp/external/pid/barrelDIRC/src/DrcPidFast.$(ObjSuf) \
+	tmp/external/pid/mRICH/src/mRICH.$(ObjSuf) \
+	tmp/external/pid/tofBarrel/src/tofBarrel.$(ObjSuf) \
+	tmp/external/pid/quintRICH/src/CF4rich.$(ObjSuf)
+
+
+tmp/external/pid/barrelDIRC/src/barrelDirc.$(ObjSuf): \
+	external/pid/barrelDIRC/src/PID.h \
+	external/pid/barrelDIRC/src/DrcPidFast.h \
+	external/pid/barrelDIRC/src/DrcPidFast.C \
+	external/pid/barrelDIRC/src/barrelDirc.h \
+	external/pid/barrelDIRC/src/barrelDirc.C
+
+tmp/external/pid/barrelDIRC/src/DrcPidFast.$(ObjSuf): \
+	external/pid/barrelDIRC/src/PID.h \
+	external/pid/barrelDIRC/src/DrcPidFast.h \
+	external/pid/barrelDIRC/src/DrcPidFast.C
+
+tmp/external/pid/mRICH/src/mRICH.$(ObjSuf): \
+	external/pid/mRICH/src/PID.h \
+	external/pid/mRICH/src/mRICH.h \
+	external/pid/mRICH/src/mRICH.C
+
+tmp/external/pid/quintRICH/src/CF4rich.$(ObjSuf): \
+	external/pid/quintRICH/src/PID.h \
+	external/pid/quintRICH/src/CF4rich.h \
+	external/pid/quintRICH/src/CF4rich.C
+
+tmp/external/pid/tofBarrel/src/tofBarrel.$(ObjSuf): \
+	external/pid/tofBarrel/src/PID.h \
+	external/pid/tofBarrel/src/tofBarrel.h \
+	external/pid/tofBarrel/src/tofBarrel.C
+
+
 
 
@@ -2330,5 +2381,5 @@
 endif
 
-$(NOFASTJET): $(DELPHES_DICT_OBJ) $(DELPHES_OBJ) $(TCL_OBJ)
+$(NOFASTJET): $(DELPHES_DICT_OBJ) $(DELPHES_OBJ) $(TCL_OBJ) $(PID_OBJ)
 	@mkdir -p $(@D)
 	@echo ">> Building $@"
@@ -2357,5 +2408,5 @@
 endif
 
-$(DELPHES): $(DELPHES_DICT_OBJ) $(FASTJET_DICT_OBJ) $(DELPHES_OBJ) $(FASTJET_OBJ) $(TCL_OBJ)
+$(DELPHES): $(DELPHES_DICT_OBJ) $(FASTJET_DICT_OBJ) $(DELPHES_OBJ) $(FASTJET_OBJ) $(TCL_OBJ) $(PID_OBJ)
 	@mkdir -p $(@D)
 	@echo ">> Building $@"
@@ -2384,5 +2435,5 @@
 endif
 
-$(DISPLAY): $(DELPHES_DICT_OBJ) $(FASTJET_DICT_OBJ) $(DISPLAY_DICT_OBJ) $(DELPHES_OBJ) $(FASTJET_OBJ) $(DISPLAY_OBJ) $(TCL_OBJ)
+$(DISPLAY): $(DELPHES_DICT_OBJ) $(FASTJET_DICT_OBJ) $(DISPLAY_DICT_OBJ) $(DELPHES_OBJ) $(FASTJET_OBJ) $(DISPLAY_OBJ) $(TCL_OBJ) $(PID_OBJ)
 	@mkdir -p $(@D)
 	@echo ">> Building $@"
@@ -2412,5 +2463,5 @@
 
 clean:
-	@rm -f $(DELPHES_DICT_OBJ) $(DISPLAY_DICT_OBJ) $(DELPHES_OBJ) $(FASTJET_OBJ) $(DISPLAY_OBJ) $(TCL_OBJ) core
+	@rm -f $(DELPHES_DICT_OBJ) $(DISPLAY_DICT_OBJ) $(DELPHES_OBJ) $(FASTJET_OBJ) $(DISPLAY_OBJ) $(TCL_OBJ) $(PID_OBJ) core
 	@rm -rf tmp
 
@@ -2485,4 +2536,9 @@
 	@$(CC) $(patsubst -std=%,,$(CXXFLAGS)) -c $< $(OutPutOpt)$@
 
+$(PID_OBJ): tmp/%.$(ObjSuf): %.C
+	@mkdir -p $(@D)
+	@echo ">> Compiling $<"
+	@$(CC) $(patsubst -std=%,,$(CXXFLAGS)) -std=c++17 -c $< $(OutPutOpt)$@
+
 $(EXECUTABLE_OBJ): tmp/%.$(ObjSuf): %.cpp
 	@mkdir -p $(@D)
@@ -2490,5 +2546,5 @@
 	@$(CXX) $(CXXFLAGS) -c $< $(OutPutOpt)$@
 
-$(EXECUTABLE): %$(ExeSuf): $(DELPHES_DICT_OBJ) $(FASTJET_DICT_OBJ) $(DELPHES_OBJ) $(FASTJET_OBJ) $(TCL_OBJ)
+$(EXECUTABLE): %$(ExeSuf): $(DELPHES_DICT_OBJ) $(FASTJET_DICT_OBJ) $(DELPHES_OBJ) $(FASTJET_OBJ) $(TCL_OBJ) $(PID_OBJ)
 	@echo ">> Building $@"
 	@$(LD) $(LDFLAGS) $^ $(DELPHES_LIBS) $(OutPutOpt)$@
