ATLAS Offline Software
PhysDESDM_Taus.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
2 #
3 #
4 # ##########################################################################################
5 # Electron/photon/muon augmentation
6 # Use the derivation framework tools directly
7 # ##########################################################################################
8 
9 # Cache the container names (used throughout)
10 jetContainer = primRPVLLDESDM.Tau_containerFlags.jetCollectionName
11 METContainer= primRPVLLDESDM.Tau_containerFlags.METCollectionName
12 photonContainer = primRPVLLDESDM.Tau_containerFlags.photonCollectionName
13 muonContainer = primRPVLLDESDM.Tau_containerFlags.muonCollectionName
14 electronContainer = primRPVLLDESDM.Tau_containerFlags.electronCollectionName
15 
16 
17 # ##########################################################################################
18 # Selection algorithms setup
19 # ##########################################################################################
20 
21 
22 
23 #Currently not in use. Copied directly from DV analysis
24 def TauSelectionString(flags, container):
25  """Construct object selection string based on the flags provided (from DVFlags)
26  """
27 
28  cutList = []
29  try:
30  cutList.append('%s.pt > %s'%(container,flags.cutEtMin))
31  except:
32  pass
33  try:
34  cutList.append('abs(%s.eta) < %s'%(container,flags.cutEtaMax))
35  except:
36  pass
37  try:
38  cutList.append("DV%s%s"%(container,flags.cutIsEM))
39  except:
40  pass
41  cutString = 'count(' + ' && '.join(cutList) + ') > %i'%(flags.nPassed-1)
42  return cutString
43 
44 from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool as skimtool
45 from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel as kernel
46 
47 def TausTriggerSelectionString(flags,RNN=False):
48  cutString = " || ".join(flags.triggers)
49  if RNN:
50  cutString = " || ".join([l for l in flags.triggers if "RNN" in l])
51  return cutString
52 
53 
57 from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationAND
58 from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationOR
59 
60 
63 
64 from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel
65 
66 
69 
70 from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__TriggerSkimmingTool
71 TauSingleTriggerFilter = DerivationFramework__TriggerSkimmingTool(name = "TauSingleTriggerFilter",
72  TriggerListOR = primRPVLLDESDM.Taus_SingleTauFilterFlags.triggers)
73 
74 ToolSvc+=TauSingleTriggerFilter
75 
76 
77 Taus_SiFinalFilter = DerivationFramework__FilterCombinationAND( name = "LargeRadSiTaus_FinalFilter",
78  FilterList=[TauSingleTriggerFilter],
79  #OutputLevel=DEBUG
80  )
81 ToolSvc += Taus_SiFinalFilter
82 
83 topSequence += kernel( "RPVLL_LargeRTaus_SiFilterKernel",
84  SkimmingTools = [Taus_SiFinalFilter],
85  )
86 RPVLLfilterNames.extend(["RPVLL_LargeRTaus_SiFilterKernel"])
87 
88 
91 TauDiTriggerFilter = DerivationFramework__TriggerSkimmingTool(name = "TauDiTriggerFilter",
92  TriggerListOR = primRPVLLDESDM.Taus_DiTauFilterFlags.triggers)
93 
94 ToolSvc+=TauDiTriggerFilter
95 
96 Taus_DiFinalFilter = DerivationFramework__FilterCombinationAND( name = "LargeRadDiTaus_FinalFilter",
97  FilterList=[TauDiTriggerFilter],
98  #OutputLevel=DEBUG
99 )
100 ToolSvc += Taus_DiFinalFilter
101 
102 topSequence += kernel( "RPVLL_LargeRTaus_DiFilterKernel",
103  SkimmingTools = [Taus_DiFinalFilter],
104 )
105 RPVLLfilterNames.extend(["RPVLL_LargeRTaus_DiFilterKernel"])
106 
107 
108 
111 
112 TauMETTriggerFilter = DerivationFramework__TriggerSkimmingTool(name = "TauMETTriggerFilter",
113  TriggerListOR = primRPVLLDESDM.Taus_TauMETFilterFlags.triggers)
114 
115 ToolSvc+=TauMETTriggerFilter
116 
117 
118 Taus_METFinalFilter = DerivationFramework__FilterCombinationAND( name = "LargeRadTaus_METFinalFilter",
119  FilterList=[TauMETTriggerFilter],
120  #OutputLevel=DEBUG
121  )
122 ToolSvc += Taus_METFinalFilter
123 
124 topSequence += kernel( "RPVLL_LargeRTaus_METFilterKernel",
125  SkimmingTools = [Taus_METFinalFilter],
126  )
127 RPVLLfilterNames.extend(["RPVLL_LargeRTaus_METFilterKernel"])
128 
PhysDESDM_Taus.TauSelectionString
def TauSelectionString(flags, container)
Definition: PhysDESDM_Taus.py:24
PhysDESDM_Taus.TausTriggerSelectionString
def TausTriggerSelectionString(flags, RNN=False)
Definition: PhysDESDM_Taus.py:47
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10