diff --git a/Control/GaudiSequencer/python/PyCompsExt.py b/Control/GaudiSequencer/python/PyCompsExt.py
new file mode 100644
index 0000000000000000000000000000000000000000..4985b6f5004a9ece7e9b5c3556f6dd0be47250c5
--- /dev/null
+++ b/Control/GaudiSequencer/python/PyCompsExt.py
@@ -0,0 +1,45 @@
+from GaudiSequencer.PyComps import PyEvtFilter
+from AthenaPython.PyAthena import StatusCode
+
+class PyEvtFilterFromFile (PyEvtFilter):
+    """ Algorithm which loads list of runnuber/eventnumbers from file for filtering and pass it to PyEvtFilter
+    """
+
+    def __init__(self, name='filterFromFile', **kw):
+        super(PyEvtFilterFromFile, self).__init__(name,**kw)
+
+        self.input_file = kw.get('selectorInputFile', None)
+
+    def initialize(self):
+
+        _info  = self.msg.info
+        _error = self.msg.error
+
+        _info('==> PyEvtFilterFromFile initialize')
+        if not self.input_file:
+            _error('Input_file is required.')
+            return StatusCode.Failure
+        try: 
+            f = open(self.input_file, 'r')
+        except IOError:
+            _error = self.msg.error('File {} cannot be opened.'.format(self.input_file))
+            return StatusCode.Falure
+        else:
+            _info('==> File {} opened. Loading Runnumber/Eventnumber list'.format(self.input_file))
+            with f: 
+                self.evt_list = []
+                for line in f: 
+                    if '#' in line:
+                        continue
+
+                    numbers = line.split() 
+
+                    if not numbers:
+                        continue
+                    if len(numbers) != 2:
+                        self.msg.warning('Following line cannot be parsed: {}'.format(line))
+
+                    self.evt_list.append((int(numbers[0]), int(numbers[1])))
+
+        super(PyEvtFilterFromFile,self).initialize()
+        return StatusCode.Success
diff --git a/Control/GaudiSequencer/share/preinclude.evtFilterFromFile.py b/Control/GaudiSequencer/share/preinclude.evtFilterFromFile.py
new file mode 100644
index 0000000000000000000000000000000000000000..65e1b33bca83e5a8c08e86140a5485a0df819ddd
--- /dev/null
+++ b/Control/GaudiSequencer/share/preinclude.evtFilterFromFile.py
@@ -0,0 +1,9 @@
+from GaudiSequencer.PyCompsExt import PyEvtFilterFromFile
+
+evtSelector = PyEvtFilterFromFile('eventSelector')
+if 'selectorInputFile' in locals():  
+  evtSelector.input_file = selectorInputFile
+
+from AthenaCommon.AlgSequence import AthSequencer
+filtseq =  AthSequencer ("AthFilterSeq")
+filtseq += evtSelector