Skip to content

Code for the Multi-Template-Fit Project (except AnalysisClasses in AliPhysics)

Notifications You must be signed in to change notification settings

MartinSchmidtTuebingen/MTFCode

Repository files navigation

Code for the Multi-Template-Fit Projekt in ALICE.

Usage:
- Run "./runAnalysis.sh init" to initialise the MTF project
- Run "./runAnalysis.sh create <PROJECT_NAME> to create a project folder (name should start with LHC to be hidden by gitignore)
- Adjust config.json in analysis folder to your parameters (explanation further down) (ATTENTION: Many parameters are still hard-coded in macros!)
- Run "./runAnalysis.sh <PROJECT_NAME>" to run a specific analysis
- Run "./runAnalysis.sh <PROJECT_NAME> -h" to get possible parameters

Systematics:
- Run "./runAnalysis <PROJECT_NAME> -t createsys" to create systematics from given systematic file. Can be saved directly to config

Downloading train file:
- Run "./runAnalysis.sh <PROJECT_NAME> -g" to download files specified in pidAnalysesList
- Run "./runAnalysis.sh <PROJECT_NAME> -p" to upload files to your analysis cluster and start the PID analysis

Fast simulation:
- Download MC data (inclusive and jet) in mcPath set in json (not yet automatic)
- Run "./runAnalysis <PROJECT_NAME> -t fitsim" to fit the fast simulation parameters. Check if the outcome (fastSimulationParameters* in "mcData" looks good. If not, you might have to change the base fast simulation parameters in config.json (TODO: Automatize this checking checking procedure)
- Run the train with the correct fast simulation parameters (Explanation needed!!)
- Download data in the appropriate folders (automatize procedure!)
- Run "./runAnalysis <PROJECT_NAME> -t mcjetsys" to create the systematic files for the (jet) MCCorrection. They are loaded automatically in the efficiency calculation later


Explanation of config.json:
{
    "config": {
        "remoteHost": Host name of pid MTF analysis cluster
        "remoteBasePath": Base Path where the output of all your MTF analysis is stored
        "referenceRemotePath": Reference data, from remoteBasePath. Use directories or patterns (or combination)
        "referenceShape": Shape of reference data (PureGauss/Asymmetric Shape)
        "doInclusive": If inclusive analysis should run
        "doJets": If jet analysis should run
        "doUE": if UE analysis should run
        "fileNamePattern": Pattern of reference data in sprintf format
        "chargeString": charge string used ("","_neg", "_pos")
        "charge": charge used
        "nSigma": 
        "mcPath": Path to MCData. Can be relative (Data/MCData), then it will start from PROJECT_NAME; or absolute path in system
        "pathMCsysErrors": Path to MCSystematic files (outSysErr*). Can be relative (Data/MCData/MCSystematicFiles), then it will start from PROJECT_NAME; or absolute path in system
        "correctGeantFluka": Use geant fluka correction (depends on MC simulation)
        "newGeantFluka": Use "new" geant fluka correction (ommitted if correctGeantFluka is false)
        "scaleStrangeness": use strangeness scaling according to CMD plots (mcplots.cern.ch)
        "mcGenerator": Name of the MC generator, must be of type AliAnalysisTaskMTFPID::EventGenerator
        "applyMuonCorrection": 
        "constCorrAboveThreshold": If above a certain pT a constant correction should be used (low statistics!)
        "rebinEffObs": 
        "etaAbsCut": Cut for eta in efficiency analysis
        "eps_trigger": 1,
        "sysErrTypeMC": 4,
        "pathMCUEFile": "",
        "efficiencyFileNamePattern": File name pattern of efficiency file (python style)
        "MCRunName": Run name of MC analysis
        "systematicsInclusive": Systematics used for inclusive analysis
        "systematicsJets": Systematics used for jet analysis
        "systematicsUE": [
            "UEMethod"
        ],
        "centralities": Used centralities string
        "jetPts": Used jetPt string
        "modesInclusive": modes for inclusive analysis
        "modesJets": modes for jet analysis
        "pidAnalysesList": [
            {
                "isActive":Will be used,
                "trainName":Name of analysis train,
                "dirFileName":name of DirectoryFile in AnalysisResults where this analysis is stored,
                "analysisDirName":directory name on pid analysis cluster after base path,
                "jobIdentifier":identifier for the log (centralities, jetPt and mode will be added),
                "isJet":Is it a jet analysis,
                "centralities":List, if given overwrites global settings
            }
        ]
    },
    "systematics": {
        "systematicFile": Path to file containing the systematic graphs,
        "nameOfSystematic": {
            "sourcePath": Remote source path with pattern
            "savePath": Save path
            "outputFilePattern": File pattern of output (printf-style)
            "refHistTitle": Title of reference
            "inputs": [
              {"pattern":input file pattern (printf style), "histTitle":Title of histogram}
            ]
        }
    },
    "fastSimulation": {
        "fastEffFileRemotePath":"PATH_TO_ALIEN_FOLDER (only remote path supported at the moment)",
        "parameters": {
            "species": {
                "charge": [
                    "degrees of freedom for first part",
                    "pT-limit of first part",
                    "degrees of freedom for second part",
                    "pT-limit of second part"
                    etc....
                ]
        },
        "genericFastSimulation": {
            "folder":"name of folder for generic fast simulation. Has be be in mcPath"
        },
        "variations": {
            "name (not used)": {
                "short": "Short name (used in histo)",
                "active":true/false,
                "legendEntryName": Legend entry for QA plot,
                "simpleSysErrorCalculation": There are two possible calculation methods,
                "inputs":[
                    {"folder": "folder (in mcPath)", "name": "short Name (not really used except internally)"},
                ]
            }
        }
    }
}


About

Code for the Multi-Template-Fit Project (except AnalysisClasses in AliPhysics)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published