From ffb76016e9cc684e454436ca11b3820fba293c08 Mon Sep 17 00:00:00 2001
From: Daniel Johnson <daniel.johnson@cern.ch>
Date: Sun, 22 May 2016 17:28:37 +0200
Subject: [PATCH 1/3] Fix git commit

---
 Hlt/HltSettings/doc/release.notes                        | 3 +++
 Hlt/HltSettings/python/HltSettings/Physics_pp_May2016.py | 9 ++++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/Hlt/HltSettings/doc/release.notes b/Hlt/HltSettings/doc/release.notes
index 2e8e54bc6..4fd335804 100644
--- a/Hlt/HltSettings/doc/release.notes
+++ b/Hlt/HltSettings/doc/release.notes
@@ -4,6 +4,9 @@
 ! Purpose     : All trigger threshold settings
 !-----------------------------------------------------------------------------
 
+! 2016-05-22 - Dan Johnson
+ - Add new Hlt1 line to use Herschel information
+
 ! 2016-05-19 - Carla Marin
  - Pre-scale DD Majorana line to 0.2
 
diff --git a/Hlt/HltSettings/python/HltSettings/Physics_pp_May2016.py b/Hlt/HltSettings/python/HltSettings/Physics_pp_May2016.py
index 0d08cdca6..92f653485 100644
--- a/Hlt/HltSettings/python/HltSettings/Physics_pp_May2016.py
+++ b/Hlt/HltSettings/python/HltSettings/Physics_pp_May2016.py
@@ -377,7 +377,8 @@ class Physics_pp_May2016( object ):
                                                     , 'l0'                   : 'L0_DECISION_PHYSICS'
 
                                                     }
-                       , Hlt1LowMultLinesConf : { 'Prescale' : {"Hlt1LowMultPassThrough" : 0.01}
+                       , Hlt1LowMultLinesConf : { 'Prescale' : {"Hlt1LowMultPassThrough" : 0.01
+                                                              , "LowMultVeloAndHerschel_Hadrons" : 1 } # should be changed to 0.001 later
                                                 , 'SpdMult'  :   100.   # dimensionless, Spd Multiplicity cut
                                                 , 'VeloCut_Hadrons_MinVelo'     :     2    # dimensionless
                                                 , 'VeloCut_Hadrons_MaxVelo'     :     8    # dimensionless
@@ -387,6 +388,11 @@ class Physics_pp_May2016( object ):
                                                 , 'MaxVeloCut_MaxVelo'          :     8    # dimensionless
                                                 , 'MaxNVelo'                    :  1000    # dimensionless,
                                                 , 'MinNVelo'                    :     2    # dimensionless,
+                                                , 'MaxHRCADC_B2'                :   500    # dimensionless,
+                                                , 'MaxHRCADC_B1'                :   500    # dimensionless,
+                                                , 'MaxHRCADC_B0'                :   500    # dimensionless,
+                                                , 'MaxHRCADC_F1'                :   500    # dimensionless,
+                                                , 'MaxHRCADC_F2'                :   500    # dimensionless,
                                                 , 'TrChi2'                      :     5.   # dimensionless,
                                                 , 'PT'                          :   500.   # MeV
                                                 , 'P'                           :     0.   # MeV
@@ -448,6 +454,7 @@ class Physics_pp_May2016( object ):
                  , 'Hlt1DiProtonLowMult'
                  , 'Hlt1LowMult'
                  , 'Hlt1LowMultVeloCut_Hadrons'
+                 , 'Hlt1LowMultVeloAndHerschel_Hadrons'
                  , 'Hlt1LowMultVeloCut_Leptons'
                  , 'Hlt1LowMultMaxVeloCut'
                  , 'Hlt1LowMultPassThrough'
-- 
GitLab


From 1e722a7b4b8b406ae38a4d10d0584f4e71b23943 Mon Sep 17 00:00:00 2001
From: Daniel Johnson <daniel.johnson@cern.ch>
Date: Sun, 22 May 2016 17:32:40 +0200
Subject: [PATCH 2/3] Add Herschel to HLT1 line

---
 .../python/Hlt1Lines/Hlt1LowMultLines.py      | 36 +++++++++++++++++--
 1 file changed, 33 insertions(+), 3 deletions(-)

diff --git a/Hlt/Hlt1Lines/python/Hlt1Lines/Hlt1LowMultLines.py b/Hlt/Hlt1Lines/python/Hlt1Lines/Hlt1LowMultLines.py
index 416d0fe3a..d91aa1bed 100644
--- a/Hlt/Hlt1Lines/python/Hlt1Lines/Hlt1LowMultLines.py
+++ b/Hlt/Hlt1Lines/python/Hlt1Lines/Hlt1LowMultLines.py
@@ -12,7 +12,8 @@ from HltLine.HltLinesConfigurableUser import *
 
 class Hlt1LowMultLinesConf( HltLinesConfigurableUser ):
     __slots__ = {
-          'Prescale'                                : {"Hlt1LowMultPassThrough" : 0.01}
+          'Prescale'                                : {"Hlt1LowMultPassThrough" : 0.01
+                                                     , "Hlt1LowMultVeloAndHerschel_Hadrons" : 1}#0.001 }
         , 'SpdMult'                                 :   100.   # dimensionless, Spd Multiplicity cut
         , 'VeloCut_Hadrons_MinVelo'                 :     2    # dimensionless
         , 'VeloCut_Hadrons_MaxVelo'                 :     8    # dimensionless
@@ -22,6 +23,11 @@ class Hlt1LowMultLinesConf( HltLinesConfigurableUser ):
         , 'MaxVeloCut_MaxVelo'                      :     8    # dimensionless
         , 'MaxNVelo'                                :  1000    # dimensionless, 
         , 'MinNVelo'                                :     2    # dimensionless, 
+        , 'MaxHRCADC_B2'                            :   500    # dimensionless,
+        , 'MaxHRCADC_B1'                            :   500    # dimensionless,
+        , 'MaxHRCADC_B0'                            :   500    # dimensionless,
+        , 'MaxHRCADC_F1'                            :   500    # dimensionless,
+        , 'MaxHRCADC_F2'                            :   500    # dimensionless,
         , 'TrChi2'                                  :     5.   # dimensionless, 
         , 'PT'                                      :   500.   # MeV
         , 'P'                                       :     0.   # MeV 
@@ -105,10 +111,25 @@ class Hlt1LowMultLinesConf( HltLinesConfigurableUser ):
             )
         return [veloFilter, unit]
     
+    def streamer_HerschelActivityLimit( self, name ):
+        props = self.getProps()
+
+        ## VoidFilter to cut on the ADC sum returned from LoKi functor.
+        from Configurables import LoKi__VoidFilter as VoidFilter
+        code = " ( HRCSUMADC('Raw/HC/Sums','B2') < %(MaxHRCADC_B2)s ) & \
+                 ( HRCSUMADC('Raw/HC/Sums','B1') < %(MaxHRCADC_B1)s ) & \
+                 ( HRCSUMADC('Raw/HC/Sums','B0') < %(MaxHRCADC_B0)s ) & \
+                 ( HRCSUMADC('Raw/HC/Sums','F1') < %(MaxHRCADC_F1)s ) & \
+                 ( HRCSUMADC('Raw/HC/Sums','F2') < %(MaxHRCADC_F2)s ) "% props
+        herschelFilter = VoidFilter('Hlt1LowMultHerschelFilter', Code = code)
+        return [herschelFilter]
+         
     def __apply_configuration__( self ) : 
         from HltLine.HltLine import Hlt1Line
         from HltTracking.HltSharedTracking import MinimalVelo
-               
+        from Configurables import HCRawBankDecoderHlt 
+        Hlt1LowMult_HCRawBankDecoderHlt = HCRawBankDecoderHlt() 
+           
         Hlt1Line(
             'LowMult',
             ##
@@ -125,7 +146,16 @@ class Hlt1LowMultLinesConf( HltLinesConfigurableUser ):
             postscale = self.postscale,
             L0DU = "( ( L0_DATA('Spd(Mult)') < %(VeloCut_Hadrons_SpdMult)s ) & ( %(LowMultVeloCut_HadronsLineL0Dependency)s ) )" % self.getProps(),   
             ##
-            algos     =  [ MinimalVelo ] + self.streamer_VeloCut_Hadrons('LowMultVeloCut_Hadrons')
+            algos     =  [ MinimalVelo ] + self.streamer_VeloCut_Hadrons('LowMultVeloCut_Hadrons') 
+            )
+        Hlt1Line(
+            'LowMultVeloAndHerschel_Hadrons',
+            ##
+            prescale  = self.prescale,
+            postscale = self.postscale,
+            L0DU = "( ( L0_DATA('Spd(Mult)') < %(VeloCut_Hadrons_SpdMult)s ) & ( %(LowMultVeloCut_HadronsLineL0Dependency)s ) )" % self.getProps(),   
+            ##
+            algos     =  [ Hlt1LowMult_HCRawBankDecoderHlt ] + self.streamer_HerschelActivityLimit('LowMultVeloAndHerschel_Hadrons') + [ MinimalVelo ] + self.streamer_VeloCut_Hadrons('LowMultVeloAndHerschel_Hadrons') 
             )
         Hlt1Line(
             'LowMultVeloCut_Leptons',
-- 
GitLab


From e6146d92a063d3b9d44b5565a1e48d08d90bf316 Mon Sep 17 00:00:00 2001
From: Daniel Johnson <daniel.johnson@cern.ch>
Date: Sun, 22 May 2016 17:34:31 +0200
Subject: [PATCH 3/3] Update release notes

---
 Hlt/Hlt1Lines/doc/release.notes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Hlt/Hlt1Lines/doc/release.notes b/Hlt/Hlt1Lines/doc/release.notes
index c76dec076..e0a0565be 100644
--- a/Hlt/Hlt1Lines/doc/release.notes
+++ b/Hlt/Hlt1Lines/doc/release.notes
@@ -4,6 +4,8 @@
 ! Responsible : Roel Aaij, Gerhard Raven
 ! Purpose     : Definition and Configuration of Hlt1Lines
 !-----------------------------------------------------------------------------
+! 2016-05-22 - Dan Johnson
+ - Add Hlt1 line to use Herschel information
 
 ! 2016-05-15 - Rosen Matev
  - Add Hlt1IFTLines based on Sascha Stahl's Hlt1HeavyIonLines.py
-- 
GitLab