Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:03:31

0001 #!/usr/bin/env python3
0002 """
0003 _pp_
0004 
0005 Scenario supporting proton collisions
0006 
0007 """
0008 
0009 import os
0010 import sys
0011 
0012 from Configuration.DataProcessing.Reco import Reco
0013 import FWCore.ParameterSet.Config as cms
0014 from Configuration.DataProcessing.Modifiers import modifyExpress
0015 
0016 class pp(Reco):
0017     def __init__(self):
0018         Reco.__init__(self)
0019         self.recoSeq=''
0020         self.cbSc='pp'
0021         self.isRepacked=False
0022         self.promptCustoms= [ 'Configuration/DataProcessing/RecoTLR.customisePrompt' ]
0023         self.expressCustoms=[ ]
0024         self.alcaHarvCustoms=[]
0025         self.expressModifiers = modifyExpress
0026         self.visCustoms=[ ]
0027         self.visModifiers = modifyExpress
0028     """
0029     _pp_
0030 
0031     Implement configuration building for data processing for proton
0032     collision data taking
0033 
0034     """
0035 
0036     def _setRepackedFlag(self,args):
0037         if not 'repacked' in args:
0038             args['repacked']= True
0039             
0040     def promptReco(self, globalTag, **args):
0041         """
0042         _promptReco_
0043 
0044         Proton collision data taking prompt reco
0045 
0046         """
0047         if not 'skims' in args:
0048             args['skims']=['@allForPrompt']
0049 
0050         if not 'customs' in args:
0051             args['customs']= [ ]
0052 
0053         for c in self.promptCustoms:
0054             args['customs'].append(c)
0055 
0056         if self.isRepacked:
0057             self._setRepackedFlag(args)
0058 
0059         process = Reco.promptReco(self,globalTag, **args)
0060 
0061         return process
0062 
0063     def expressProcessing(self, globalTag, **args):
0064         """
0065         _expressProcessing_
0066 
0067         Proton collision data taking express processing
0068 
0069         """
0070         if not 'skims' in args:
0071             args['skims']=['@allForExpress']
0072 
0073         if not 'customs' in args:
0074             args['customs']=[ ]
0075 
0076         for c in self.expressCustoms:
0077             args['customs'].append(c)
0078 
0079         if self.isRepacked:
0080             self._setRepackedFlag(args)
0081             
0082         process = Reco.expressProcessing(self,globalTag, **args)
0083         
0084         return process
0085 
0086     def visualizationProcessing(self, globalTag, **args):
0087         """
0088         _visualizationProcessing_
0089 
0090         Proton collision data taking visualization processing
0091 
0092         """
0093         if not 'customs' in args:
0094             args['customs']=[ ]
0095 
0096         for c in self.visCustoms:
0097             args['customs'].append(c)
0098             
0099         if self.isRepacked:
0100             self._setRepackedFlag(args)
0101 
0102         process = Reco.visualizationProcessing(self,globalTag, **args)
0103         
0104         return process
0105 
0106     def alcaHarvesting(self, globalTag, datasetName, **args):
0107         """
0108         _alcaHarvesting_
0109 
0110         Proton collisions data taking AlCa Harvesting
0111 
0112         """
0113 
0114         if not 'customs' in args:
0115             args['customs']=[ ]
0116 
0117         for c in self.alcaHarvCustoms:
0118             args['customs'].append(c)
0119 
0120 
0121         if not 'skims' in args and not 'alcapromptdataset' in args:
0122             args['skims']=['BeamSpotByRun',
0123                            'BeamSpotByLumi',
0124                            'SiStripQuality']
0125             
0126         return Reco.alcaHarvesting(self, globalTag, datasetName, **args)