def main():

    doTrackPlots = False
    doFEEs = False
    doResiduals = False
    doSummaryPlots = False
    doDerivatives = True

    #Style of plots

    utils.SetStyle()

    #MAX 4 FILES
    inputFiles = [

        #these filesare the ones I'm interested the most.
        #
        #                "AlignMonitoring_10103_FEESkims_TY_pass2_tight_TY_iter6.root",
        #                "AlignMonitoring_10103_FEESkims_TY_TY_iter2.root",
        #                "AlignMonitoring_10103_FEESkims_TY_TY_iter3.root",
        #                "AlignMonitoring_10103_FEESkims_TY_TY_iter4.root",

        #"AlignMonitoring_10103_FEESkims_TY_TY_iter5.root",
        #"AlignMonitoring_10103_FEESkims_TY_pass2_tight_TY_iter6.root",
        #"AlignMonitoring_10103_FEESkims_TY_Nominal_iter0.root",

        #"AlignMonitoring_10103_FEESkims_TY_BOT_TY_SPLIT_iter1.root",
        #"AlignMonitoring_9921_FEESkims_TY_BOT_TY_SPLIT_9921_iter2.root",
        #"AlignMonitoring_9921_FEESkims_TY_BOT_TY_SPLIT_9921_iter3.root",

        #"AlignMonitoring_10666_FEE_MC_2019_Nominal_iter0.root",
        #"AlignMonitoring_10103_FEESkims_TY_BOT_KF_TY_SPLIT_iter1.root",
        #"AlignMonitoring_10666_FEE_MC_2019_KF_Nominal_iter0.root"
        #"AlignMonitoring_10103_FEESkims_TY_MOMC_ONLY_SEL_TY_iter5.root",
        #"AlignMonitoring_10666_FEE_MC_2019_Nominal_iter0.root",
        #"FEE_MC.slcio_gblplots.root",

        #Derivative files
        "GBLRefitterDriverplots.root",
        "KalmanToGBLDriverplots.root"
    ]

    #legends=["6", "2","3","4"]
    #legends = ["FEE 10103","Single e^{-} 4.5 GeV"]
    #legends  = ["Nominal Geo", "FEE 10103 iter5", "FEE MC",]
    #    legends = ["Nominal","AllDof It3","AllDofIt3 L1-L4 It1","Older L1-L4 Iteration","wrongSign","TopUCAllDof iter2"]
    #legends = ["ModL1L4","TopUCAllDof + L1L4 TyTx","TopUCAllDof + L1L4 TyTx + momC" ]
    #legends = ["Nominal","ModL1L4","MOMC-it2","MOMC-UC"]
    #legends = ["With Survey Constants","Without Survey Constants","BSC-MOMC 0","BSC-MOMC 1"]#,"Align pD0 noC"]
    #legends =["Nominal","PASS4 iter3 NH", "ONLY Y"]
    #legends  = ["FEE 10103 Nominal Geo", "FEE 9921 align", "FEE 10103 align",]
    #legends  = ["9921 ST+GBL", "FEE MC", "10103 ST+GBL", "10103 KF+GBL"]
    #legends  = ["FEE MC STF+GBL", "FEE MC KF+GBL"]
    #legends  = ["FEE MC STF+GBL"]
    #legends  = ["FEE 10103 STF+GBL ali", "FEE 9921 STF+GBL UC level", "FEE 9921 STF+GBL module level"]
    legends = ["GBL rot der", "KF rot der"]

    inputF = []
    for inputFile in inputFiles:
        inputF.append(r.TFile(inputFile))

    if doSummaryPlots:
        plotLambdaKinks(inputF, legends)
        plotPhiKinks(inputF, legends)

    if (doResiduals):

        plotRes(inputF, legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L1b_halfmodule_axial_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L1b_halfmodule_stereo_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L2b_halfmodule_axial_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L2b_halfmodule_stereo_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L3b_halfmodule_axial_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L3b_halfmodule_stereo_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L4b_halfmodule_axial_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L4b_halfmodule_stereo_sensor0",
                        legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L5b_halfmodule_axial_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L5b_halfmodule_axial_slot_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L5b_halfmodule_stereo_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L5b_halfmodule_stereo_slot_sensor0",
            legends)

        plot1DResiduals(
            inputF, "uresidual_GBL_module_L6b_halfmodule_axial_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L6b_halfmodule_axial_slot_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L6b_halfmodule_stereo_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L6b_halfmodule_stereo_slot_sensor0",
            legends)

        plot1DResiduals(
            inputF, "uresidual_GBL_module_L7b_halfmodule_axial_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L7b_halfmodule_axial_slot_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L7b_halfmodule_stereo_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L7b_halfmodule_stereo_slot_sensor0",
            legends)

        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L1t_halfmodule_axial_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L1t_halfmodule_stereo_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L2t_halfmodule_axial_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L2t_halfmodule_stereo_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L3t_halfmodule_axial_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L3t_halfmodule_stereo_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L4t_halfmodule_axial_sensor0",
                        legends)
        plot1DResiduals(inputF,
                        "uresidual_GBL_module_L4t_halfmodule_stereo_sensor0",
                        legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L5t_halfmodule_axial_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L5t_halfmodule_axial_slot_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L5t_halfmodule_stereo_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L5t_halfmodule_stereo_slot_sensor0",
            legends)

        plot1DResiduals(
            inputF, "uresidual_GBL_module_L6t_halfmodule_axial_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L6t_halfmodule_axial_slot_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L6t_halfmodule_stereo_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L6t_halfmodule_stereo_slot_sensor0",
            legends)

        plot1DResiduals(
            inputF, "uresidual_GBL_module_L7t_halfmodule_axial_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L7t_halfmodule_axial_slot_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L7t_halfmodule_stereo_hole_sensor0",
            legends)
        plot1DResiduals(
            inputF, "uresidual_GBL_module_L7t_halfmodule_stereo_slot_sensor0",
            legends)

    #doMultVtxPlots(inputF,legends)

    if (doTrackPlots):
        tp.trackPlots(inputFiles, "trackPlots", legends)

    if (doFEEs):
        feePlots.feeMomentumPlot(inputF, legends, "trk_params/p_bottom")
        feePlots.feeMomentumPlot(inputF, legends, "trk_params/p_top")
        feePlots.feeMomentumPlot(inputF, legends, "trk_params/p_slot_top")
        feePlots.feeMomentumPlot(inputF, legends, "trk_params/p_hole_top")
        feePlots.feeMomentumPlot(inputF, legends, "trk_params/p_slot_bottom")
        feePlots.feeMomentumPlot(inputF, legends, "trk_params/p_hole_bottom")
        feePlots.feeMomentumPlot(inputF, legends, "trk_params/p6h_top")
        feePlots.feeMomentumPlot(inputF, legends, "trk_params/p6h_bottom")
        #feePlots.feeMomentumPlot(inputF,legends,"trk_params/p7h_bottom")

    if (doDerivatives):
        print "doDerivatives"
        #doDerPlots(inputF,"12101", legends)
        #doDerPlots(inputF,"12201", legends)
        doDerPlots(inputF, "12301", legends)

        #doDerPlots(inputF,"22101", legends)
        #doDerPlots(inputF,"22201", legends)
        doDerPlots(inputF, "22301", legends)

        #doDerPlots(inputF,"12105", legends)
        #doDerPlots(inputF,"12205", legends)
        doDerPlots(inputF, "12305", legends)

        #doDerPlots(inputF,"22105", legends)
        #doDerPlots(inputF,"22205", legends)
        doDerPlots(inputF, "22305", legends)

        #doDerPlots(inputF,"12110", legends)
        #doDerPlots(inputF,"12210", legends)
        doDerPlots(inputF, "12310", legends)

        #doDerPlots(inputF,"22110", legends)
        #doDerPlots(inputF,"22210", legends)
        doDerPlots(inputF, "22310", legends)
Ejemplo n.º 2
0
def massRes(mass):
    res = 3.21662e+00 - 7.07072e-03 * mass + 1.04779e-04 * mass * mass
    return res


def calcLifetime(mass, eps2):
    return 8.0 * (3.7 / 10.0) * (1e-8 / eps2) * pow(100.0 / mass, 2)
    #gamma = 0.95
    #hbar_c = 1.973e-13
    #ct = hbar_c*3.0/(mass*(1/137.036)*10**logEps2)
    #gammact = hbar_c*3.0*2.3*gamma/(massFGeV*massFGeV*(1/137.036)*10**logEps2)
    #print "logEps2: %f    gcTau: %f    gammact: %f    percent diff: %f"%(logEps2, gcTau, gammact, 1 - gammact/gcTau)
    #gcTau = gammact


utils.SetStyle()

parser = OptionParser()

parser.add_option("-i",
                  "--inputFile",
                  type="string",
                  dest="inputFile",
                  help="Name of file to run on.",
                  metavar="inputFile",
                  default="toys/toys.root")
parser.add_option("-o",
                  "--outputFile",
                  type="string",
                  dest="outputFile",
                  help="Specify the output filename.",
Ejemplo n.º 3
0
def main():

    inputBaseDir = "/Users/pbutti/sw/hps-java-validation/plots/"

    #Max 4
    inputTestDirs = [
        "integration-tests-447cf1a03c75be10174ff3d05",
        #"integration-tests-68762eb41bc404d103671d3e7",
        "integration-tests-5c4ad3bf648abac769afcb602aaa3595e26a7928",
        #"integration-tests-7fc0885968113847ef9d6c3a9cff0951651566",
        #"integration-tests-c485652938aed93e1"
        "integration-tests-pass1devfix_68fe77b148d9b32d40a784c8e0e8d9a0279410d2"
    ]

    ReferenceFolder = "/Users/pbutti/sw/hps-java-validation/reference"

    # Style of plots

    utils.SetStyle()

    runV0Comparison = False
    runFEEComparison = False
    run2019FEEComparison = True

    if runV0Comparison:
        do2016V0Comparison(inputBaseDir, inputTestDirs,
                           "V0 Bottom Track Momentum", ReferenceFolder)
        do2016V0Comparison(inputBaseDir, inputTestDirs, "V0 Invariant Mass",
                           ReferenceFolder)
        do2016V0Comparison(inputBaseDir, inputTestDirs, "V0 Momentum",
                           ReferenceFolder)
        do2016V0Comparison(inputBaseDir, inputTestDirs,
                           "V0 Top Track Momentum", ReferenceFolder)
        do2016V0Comparison(inputBaseDir, inputTestDirs,
                           "V0 Track Number of Hits", ReferenceFolder)
        do2016V0Comparison(inputBaseDir, inputTestDirs, "V0 Vertex x",
                           ReferenceFolder)
        do2016V0Comparison(inputBaseDir, inputTestDirs, "V0 Vertex y",
                           ReferenceFolder)
        do2016V0Comparison(inputBaseDir, inputTestDirs, "V0 Vertex z",
                           ReferenceFolder)
        do2016V0Comparison(inputBaseDir, inputTestDirs, "V0 Vertex z L1L1",
                           ReferenceFolder)
        do2016V0Comparison(inputBaseDir, inputTestDirs, "V0 x Momentum",
                           ReferenceFolder)
        do2016V0Comparison(inputBaseDir, inputTestDirs, "V0 y Momentum",
                           ReferenceFolder)
        do2016V0Comparison(inputBaseDir, inputTestDirs, "V0 z Momentum",
                           ReferenceFolder)

    if runFEEComparison:

        do2016FEEComparison(inputBaseDir, inputTestDirs,
                            "Bottom 5 Hit Track Momentum", ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs,
                            "Bottom 6 Hit Track Momentum", ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs,
                            "Top 5 Hit Track Momentum", ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs,
                            "Top 6 Hit Track Momentum", ReferenceFolder)

        do2016FEEComparison(inputBaseDir, inputTestDirs,
                            "Bottom Track Momentum", ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs, "Bottom Track X0",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs, "Bottom Track Y0",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs, "Bottom Track Z0",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs,
                            "Bottom Track Chisq per DoF", ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs, "Bottom Track theta",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs,
                            "Bottom Track Number of Hits", ReferenceFolder)

        do2016FEEComparison(inputBaseDir, inputTestDirs, "Top Track Momentum",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs, "Top Track X0",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs, "Top Track Y0",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs, "Top Track Z0",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs,
                            "Top Track Chisq per DoF", ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs, "Top Track theta",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs,
                            "Top Track Number of Hits", ReferenceFolder)

        do2016FEEComparison(inputBaseDir, inputTestDirs, "Track deDx",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs, "Track theta",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs, "Track momentum",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs, "track data time",
                            ReferenceFolder)

        do2016FEEComparison(inputBaseDir, inputTestDirs, "cluster nHits",
                            ReferenceFolder)
        do2016FEEComparison(inputBaseDir, inputTestDirs,
                            "clusterSeedHit energy", ReferenceFolder)

    inputTestDirs = ["2019_integrationTests"]

    if run2019FEEComparison:
        tracksDir = "Tracks/GBLTracks/"

        do2019FEEComparison(inputBaseDir, inputTestDirs,
                            tracksDir + "all/Hits per Track", ReferenceFolder)
        do2019FEEComparison(inputBaseDir, inputTestDirs,
                            tracksDir + "all/Mean time of hits on track",
                            ReferenceFolder)
        do2019FEEComparison(inputBaseDir, inputTestDirs,
                            tracksDir + "all/Track Chi2", ReferenceFolder)
        do2019FEEComparison(inputBaseDir, inputTestDirs,
                            tracksDir + "all/Tracks per Event",
                            ReferenceFolder)
        do2019FEEComparison(inputBaseDir, inputTestDirs, tracksDir + "all/d0",
                            ReferenceFolder)
        do2019FEEComparison(inputBaseDir, inputTestDirs,
                            tracksDir + "all/omega", ReferenceFolder)
        do2019FEEComparison(inputBaseDir, inputTestDirs,
                            tracksDir + "all/sinphi", ReferenceFolder)
        do2019FEEComparison(inputBaseDir, inputTestDirs,
                            tracksDir + "all/tan(lambda)", ReferenceFolder)
        do2019FEEComparison(inputBaseDir, inputTestDirs, tracksDir + "all/z0",
                            ReferenceFolder)