7def LArFebErrorSummaryMakerCfg(flags):
8
9 log = logging.getLogger('LArFebErrorSummaryMakerConfig')
10 projectName=flags.Input.ProjectName
11
12 bCheckAllFEB=True
13 streamName=flags.Input.ProcessingTags
14 if len(streamName) > 0 and len(streamName[0])>4 and streamName[0].endswith("PEB"):
15 log.info("StreamName %s suggests partial event building. Do not check for FEB completeness",str(streamName))
16 bCheckAllFEB=False
17
18
19 if projectName == "data_test":
20 from datetime import date
21 yearNumber=date.today().year-2000
22 log.info("Found project name data_test, assume year number to be %d",yearNumber)
23 else:
24 try:
25 yearNumber=int(projectName[4:6])
26 except ValueError:
27 from datetime import date
28 yearNumber=date.today().year-2000
29 log.warning("Failed to extract year from project tag "+ projectName+". Guessing %d",yearNumber)
30
31 if yearNumber > 20:
32 lMaskFebScacStatus = [0x38680000,0x38720000]
33 lMaskFebEvtId = [0x38680000]
34 else:
35 lMaskFebScacStatus = [0x38080000]
36 lMaskFebEvtId = [0x38080000]
37
38
39
40 acc = LArBadFebCfg(flags)
41
42 minErrFeb=1
43
44 if flags.Common.isOnline or flags.Common.doExpressProcessing:
45 minErrFeb=4
46
47 acc.addEventAlgo(CompFactory.LArFebErrorSummaryMaker("LArFebErrorSummaryMaker",CheckAllFEB=bCheckAllFEB,
48 WriteKey="StoreGateSvc+LArFebErrorSummary",
49 MaskFebScacStatus = lMaskFebScacStatus, MaskFebEvtId = lMaskFebEvtId,
50 minFebInError=minErrFeb
51
52 )
53 )
54
55 acc.merge(addToESD(flags,["LArFebErrorSummary#LArFebErrorSummary",]))
56
57 return acc
58
59