if "_phase2" in NewRelease or "SLHC" in NewRelease:
    kwargs_tracking["limitSubFoldersOnlyTo"].update({
        "allTPEffic": ignore, "fromPV": ignore, "fromPVAllTP": ignore, # ignore for now to save disk space
        "seeding": ignore, "building": ignore # temporary until we have limited the set of histograms for phase2
    })



### Reference and new repository
RefRepository = '/eos/project/c/cmsweb/www/tracking/validation/MC'
NewRepository = 'new' # copy output into a local folder

# Tracking validation plots
val = Validation(
    fullsimSamples = startupsamples + pileupstartupsamples,
    fastsimSamples = fastsimstartupsamples + pileupfastsimstartupsamples,
    refRelease=RefRelease, refRepository=RefRepository,
    newRelease=NewRelease, newRepository=NewRepository
)
htmlReport = val.createHtmlReport()
val.download()
val.doPlots(plotter=trackingPlots.plotter,
            htmlReport=htmlReport, doFastVsFull=doFastVsFull, doPhase2PU=doPhase2PU,
            **kwargs_tracking
)
#val.doPlots(plotter=trackingPlots.plotterExt,
#            htmlReport=htmlReport, doFastVsFull=doFastVsFull, doPhase2PU=doPhase2PU,
#            **kwargs_tracking
#)

val.doPlots(plotter=vertexPlots.plotter,
            limitSubFoldersOnlyTo={"": VertexCollections},
#Algos= ['ootb']
#Algos= ['ootb','initialStep','lowPtTripletStep','pixelPairStep','mixedTripletStep','muonSeededStepInOut','muonSeededStepOutIn'] # phase1
Qualities=['', 'highPurity']
VertexCollections=["offlinePrimaryVertices", "selectedOfflinePrimaryVertices"]

def limitProcessing(algo, quality):
    return algo in Algos and quality in Qualities

### Reference and new repository
RefRepository = '/afs/cern.ch/cms/Physics/tracking/validation/MC'
NewRepository = 'new' # copy output into a local folder

# Tracking validation plots
val = Validation(
    fullsimSamples = startupsamples + pileupstartupsamples + upgradesamples,
    fastsimSamples = fastsimstartupsamples + pileupfastsimstartupsamples,
    refRelease=RefRelease, refRepository=RefRepository,
    newRelease=NewRelease, newRepository=NewRepository
)
htmlReport = val.createHtmlReport()
val.download()
val.doPlots(plotter=trackingPlots.plotter, plotterDrawArgs={"ratio": True},
#            limitSubFoldersOnlyTo={"": limitProcessing, "allTPEffic": limitProcessing, "fromPV": limitProcessing, "fromPVAllTP": limitProcessing},
            htmlReport=htmlReport, doFastVsFull=doFastVsFull
)

valv = Validation(
    fullsimSamples = startupsamples + pileupstartupsamples + upgradesamples,
    fastsimSamples=[],
    refRelease=RefRelease, refRepository=RefRepository,
    newRelease=NewRelease, newRepository=NewRepository)
valv.download()
if "_phase2" in NewRelease or "SLHC" in NewRelease:
    kwargs_tracking["limitSubFoldersOnlyTo"].update({
        "allTPEffic": ignore, "fromPV": ignore, "fromPVAllTP": ignore, # ignore for now to save disk space
        "seeding": ignore, "building": ignore # temporary until we have limited the set of histograms for phase2
    })



### Reference and new repository
RefRepository = '/eos/project/c/cmsweb/www/tracking/validation/MC'
NewRepository = 'new' # copy output into a local folder

# Tracking validation plots
val = Validation(
    fullsimSamples = startupsamples + pileupstartupsamples,
    fastsimSamples = fastsimstartupsamples + pileupfastsimstartupsamples,
    refRelease=RefRelease, refRepository=RefRepository,
    newRelease=NewRelease, newRepository=NewRepository
)
htmlReport = val.createHtmlReport()
val.download()
val.doPlots(plotter=trackingPlots.plotter,
            htmlReport=htmlReport, doFastVsFull=doFastVsFull, doPhase2PU=doPhase2PU,
            **kwargs_tracking
)
#val.doPlots(plotter=trackingPlots.plotterExt,
#            htmlReport=htmlReport, doFastVsFull=doFastVsFull, doPhase2PU=doPhase2PU,
#            **kwargs_tracking
#)

val.doPlots(plotter=vertexPlots.plotter,
            limitSubFoldersOnlyTo={"": VertexCollections},
Esempio n. 4
0
]


def limitProcessing(algo, quality):
    return algo in Algos and quality in Qualities


### Reference and new repository
RefRepository = '/afs/cern.ch/cms/Physics/tracking/validation/MC'
NewRepository = 'new'  # copy output into a local folder

# Tracking validation plots
val = Validation(
    fullsimSamples=startupsamples + pileupstartupsamples + upgradesamples,
    fastsimSamples=fastsimstartupsamples + pileupfastsimstartupsamples,
    refRelease=RefRelease,
    refRepository=RefRepository,
    newRelease=NewRelease,
    newRepository=NewRepository)
htmlReport = val.createHtmlReport()
val.download()
val.doPlots(
    plotter=trackingPlots.plotter,
    plotterDrawArgs={"ratio": True},
    #            limitSubFoldersOnlyTo={"": limitProcessing, "allTPEffic": limitProcessing, "fromPV": limitProcessing, "fromPVAllTP": limitProcessing},
    htmlReport=htmlReport,
    doFastVsFull=doFastVsFull)

val.download()
val.doPlots(plotter=vertexPlots.plotter,
            plotterDrawArgs={"ratio": True},
Esempio n. 5
0
           version="v2"),
]

# Reference and new repository
RefRepository = '%s' % (opt.INPUT)
NewRepository = '%s' % (opt.INPUT)

#------------------------------------------------------------------------------------------
#Download section: The basic HGCal validation object is created and the DQM files of the
#                  DQM files of the RelVals are downloaded.
#------------------------------------------------------------------------------------------

#Create basic object for the HGCal validation plots
val = Validation(fullsimSamples=phase2samples_noPU,
                 fastsimSamples=[],
                 refRelease=RefRelease,
                 refRepository=RefRepository,
                 newRelease=NewRelease,
                 newRepository=NewRepository)

#------------------------------------------------------------------------------------------
#Download the DQM files of the RelVals.
if (opt.DOWNLOAD):
    val.download()

    #Keep them in eos, save afs space.
    if (not os.path.isdir(RefRepository + '/' + NewRelease)):
        processCmd('mkdir -p ' + RefRepository + '/' + NewRelease)

    for infi in phase2samples_noPU:
        processCmd('mv ' + infi.filename(NewRelease) + ' ' + RefRepository +
                   '/' + NewRelease)
]

if "_pmx" in NewRelease:
    if not NewRelease in validation._globalTags:
        validation._globalTags[NewRelease] = validation._globalTags[NewRelease.replace("_pmx", "")]

### Vertex collections
Collections = ["offlinePrimaryVertices", "selectedOfflinePrimaryVertices"]

### Reference and new repository
RefRepository = '/afs/cern.ch/cms/Physics/tracking/validation/MC'
NewRepository = 'new' # copy output into a local folder


validation = Validation(
    fullsimSamples = pileupstartupsamples, fastsimSamples=[],
    refRelease=RefRelease, refRepository=RefRepository,
    newRelease=NewRelease, newRepository=NewRepository)
validation.download()
validation.doPlots(plotter=vertexPlots.plotter, plotterDrawArgs={"ratio": True},
                   limitSubFoldersOnlyTo={"": Collections},
)

#validation2 = vertexPlots.VertexValidation(
#    fullsimSamples = startupsamples + pileupstartupsamples,
#    fastsimSamples=[], newRelease=NewRelease)
#validation2.download()
#validation2.doPlots(algos=None, qualities=Qualities, refRelease=RefRelease,
#                    refRepository=RefRepository, newRepository=NewRepository, plotter=vertexPlots.plotterGen)

    kwargs_tracking["limitSubFoldersOnlyTo"] = {
        "": limitRelVal,
        "allTPEffic": ignore, "fromPV": ignore, "fromPVAllTP": ignore, # ignore for now to save disk space
        "seeding": ignore, "building": ignore # temporary until we have limited the set of histograms for phase2
    }



### Reference and new repository
RefRepository = '/afs/cern.ch/cms/Physics/tracking/validation/MC'
NewRepository = 'new' # copy output into a local folder

# Tracking validation plots
val = Validation(
    fullsimSamples = startupsamples + pileupstartupsamples,
    fastsimSamples = fastsimstartupsamples + pileupfastsimstartupsamples,
    refRelease=RefRelease, refRepository=RefRepository,
    newRelease=NewRelease, newRepository=NewRepository
)
htmlReport = val.createHtmlReport()
val.download()
val.doPlots(plotter=trackingPlots.plotter,
#            limitSubFoldersOnlyTo={"": limitProcessing, "allTPEffic": limitProcessing, "fromPV": limitProcessing, "fromPVAllTP": limitProcessing},
            htmlReport=htmlReport, doFastVsFull=doFastVsFull, doPhase2PU=doPhase2PU,
            **kwargs_tracking
)

val.download()
val.doPlots(plotter=vertexPlots.plotter,
            limitSubFoldersOnlyTo={"": VertexCollections},
            htmlReport=htmlReport, doFastVsFull=doFastVsFull, doPhase2PU=doPhase2PU,
)