# LL_cpp **Repository Path**: enpg1qz/LL_cpp ## Basic Information - **Project Name**: LL_cpp - **Description**: c++ version for Lednicky-Lyuboshitz Model - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2023-04-26 - **Last Updated**: 2025-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LL_cpp #### LL c++计算 > by Zhi 20230221 这是我根据LL的Fortran版本code写的c++ code,更简洁,有可读性且效率更高(因为分离了相空间的计算且简化了坐标空间的抽样),使得可以将其用于TMinuit拟合实验数据并得到光滑的contour图,如果按原来的方式计算理论曲线会耗时太久而无法完成。 ##### LL_cpp.C - 用于生成LL计算需要的相空间和LL理论曲线 - LL理论计算的计算思路与LL_Fortran code一致 使用: - 在LL_cpp中的函数选择计算相空间还是计算理论曲线(实现了pp和pLambda,pXi在pp的基础上稍作修改即可) - 计算相空间中可以设置cut或者使用data中的分布,可以参考: - MakeMomentumSpace_PP_V3() 使用实验中的pt和eta分布(需要再进一步检查,涉及参考系选取) - 第一个bin的相空间耗时过久,而且实验数据也不使用第一个bin,可以尝试去掉它 - MakeMomentumSpace_pLambda_V2() 直接使用均匀分布和实验对应的cut - 需要设置相对动量k如何分bin,以及每个bin存多少pair - 已经生成了pp的相空间分布pp_Momentum_Iy[0,1,2].5kPair1Bin.V3.root和pLambda的相空间分布pLambda_Momentum_Iy[0,1,2].5kPair1Bin.3.root - 其中每个bin包含5k个pair,大概需要 5h for pp, 2h for plambda - LL_pLambda()和LL_pp()实现了读取相空间文件并算理论曲线,计算耗时<1s,需要修改{f0,d0,rG}参数 or{f0_S0,f0_S1,d0_S0,d0_S1,r_G} ##### LL_Fit_20230215.C 这个文件中实现了对data的LL拟合,包括 - 对不同快度和中心度的同时拟合(TMinuit) - 函数f0d0rG_fit_fcn()中计算理论曲线并得到chi2,可以修改chi2的定义以及理论曲线的计算以及使用pair数目 - 画出chi2的TH2D分布 - // Get TH2D for chi2 <<<{...}// Get TH2D for chi2 >>> - 通过TMinuit得到chi2的Contour图 - 函数Get_f0d0_TMinuit()中注释掉第一个return - LL_Fit_20230215()函数最后画了拟合后的曲线和data的对比(九宫格图) ##### ToDo - 比较它和原来的Fortran计算的结果 - pLambda得到的LL曲线是一致的 - pp的只取了特殊的值比较weight的计算结果 - 考虑source size的定义,并且由此决定如何生成相应的相空间 ### Update 2013.04.25 - LL_cpp.C加入并行支持 - 拟合数据使用LL_Fit_20230412.C - 加入三线性插值方法来计算CF曲线 使用 1. 生成相空间 - LL_cpp.C中使用函数MakeMomentumSpace_pLambda_V7(seed),通过seed参数可以方便并行,如`GetM.sh` 2. 通过hadd合并相空间成一个root文件 3. 通过LL_cpp.C中的`LL_pLambda()`或`LL_pp()`计算特定参数的CF曲线 4. 通过`LL_pLambda_All_seed(seed)`得到大量参数的CF,可以通过`LL_pLambda_All_Multi()`或`LL_MT.py`并行计算 5. 多种方式对数据拟合,可参考`LL_Fit_20230412.C` - 直接TMinuit拟合 - 通过seed计算的各格点的CF进行三线性插值 - 计算f0,d0对应的二维chi2图 - 对各个快度/中心度分别拟合或者同时拟合