10 deepCopyOutput = False,
11 shallowViewOutput = True,
12 rerunTruthMatching = True,
13 enableCutflow = False,
14 enableKinematicHistograms = False,
15 defineSystObjectLinks = False ):
16 """Create a tau analysis algorithm sequence
19 dataType -- The data type to run on ("data", "mc" or "afii")
20 deepCopyOutput -- If set to 'True', the output containers will be
21 standalone, deep copies (slower, but needed for xAOD
23 shallowViewOutput -- Create a view container if required
24 postfix -- a postfix to apply to decorations and algorithm
25 names. this is mostly used/needed when using this
26 sequence with multiple working points to ensure all
28 rerunTruthMatching -- Whether or not to rerun truth matching
29 enableCutflow -- Whether or not to dump the cutflow
30 enableKinematicHistograms -- Whether or not to dump the kinematic histograms
33 if dataType
not in [
"data",
"mc",
"afii"] :
34 raise ValueError (
"invalid data type: " + dataType)
37 postfix =
'_' + postfix
41 if deepCopyOutput
and shallowViewOutput:
42 raise ValueError (
"deepCopyOutput and shallowViewOutput can't both be true!")
45 seq = AnaAlgSequence(
"TauAnalysisSequence" + postfix )
47 seq.addMetaConfigDefault (
"selectionDecorNames", [])
48 seq.addMetaConfigDefault (
"selectionDecorNamesOutput", [])
49 seq.addMetaConfigDefault (
"selectionDecorCount", [])
51 makeTauCalibrationSequence (seq, dataType, postfix=postfix,
52 rerunTruthMatching = rerunTruthMatching)
53 makeTauWorkingPointSequence (seq, dataType, workingPoint, postfix=postfix)
54 makeSharedObjectSequence (seq, deepCopyOutput = deepCopyOutput,
55 shallowViewOutput = shallowViewOutput,
56 postfix =
'_Tau' + postfix,
57 enableCutflow = enableCutflow,
58 enableKinematicHistograms = enableKinematicHistograms,
59 defineSystObjectLinks = defineSystObjectLinks )