<commit_before>#if !defined(__CINT__) || defined(__MAKECINT_)
#include "AliFemtoManager.h"
#include "AliFemtoEventReaderESDChain.h"
#include "AliFemtoEventReaderESDChainKine.h"
#include "AliFemtoEventReaderAODChain.h"
#include "AliFemtoSimpleAnalysis.h"
#include "AliFemtoBasicEventCut.h"
#include "AliFemtoESDTrackCut.h"
#include "AliFemtoCorrFctn.h"
#include "AliFemtoCutMonitorParticleYPtWithWeights.h"
#include "AliFemtoCutMonitorParticleVertPos.h"
#include "AliFemtoCutMonitorParticleMomRes.h"
#include "AliFemtoCutMonitorParticlePID.h"
#include "AliFemtoCutMonitorEventMult.h"
#include "AliFemtoCutMonitorEventVertex.h"
#include "AliFemtoShareQualityTPCEntranceSepPairCut.h"
#include "AliFemtoPairCutAntiGamma.h"
#include "AliFemtoPairCutRadialDistance.h"
#include "AliFemtoModelCorrFctnQinv.h"
#include "AliFemtoQinvCorrFctn.h"
#include "AliFemtoCorrFctnDEtaDPhi.h"
#include "AliFemtoModelCorrFctnWithWeights.h"
#include "AliFemtoCorrFctnNonIdDR.h"
#include "AliFemtoShareQualityCorrFctn.h"
#include "AliFemtoTPCInnerCorrFctn.h"
#include "AliFemtoVertexMultAnalysis.h"
#include "AliFemtoCorrFctn3DSpherical.h"
#include "AliFemtoChi2CorrFctn.h"
#include "AliFemtoCorrFctnTPCNcls.h"
#include "AliFemtoBPLCMS3DCorrFctn.h"
#include "AliFemtoCorrFctn3DLCMSSym.h"
#include "AliFemtoModelBPLCMSCorrFctn.h"
#include "AliFemtoModelCorrFctn3DSpherical.h"
#include "AliFemtoModelGausLCMSFreezeOutGenerator.h"
#include "AliFemtoModelGausRinvFreezeOutGenerator.h"
#include "AliFemtoModelManager.h"
#include "AliFemtoModelWeightGenerator.h"
#include "AliFemtoModelWeightGeneratorBasic.h"
#include "AliFemtoModelWeightGeneratorLednicky.h"
#include "AliFemtoCorrFctnDirectYlm.h"
#include "AliFemtoModelCorrFctnDirectYlm.h"
#include "AliFemtoModelCorrFctnSource.h"
#include "AliFemtoCutMonitorParticlePtPDG.h"
#include "AliFemtoKTPairCut.h"
#include "AliFemtoPairCutPt.h"
#include "AliFemtoModelCorrFctnDEtaDPhiWithWeights.h"
#include "AliFemtoAvgSepCorrFctn.h"
#include "AliFemtoModelGausRinvFreezeOutGenerator.h"
#include "AliFemtoQinvCorrFctnWithWeights.h"
#include "AliFemtoModelCorrFctnDEtaDPhiWithWeights.h"
#include "AliFemtoModelCorrFctn.h"
#include "AliFemtoModelCorrFctnDEtaDPhiRM.h"
#include "AliFemtoCutMonitorPairKT.h"
#include "AliFemtoPairCutMInv.h"

#endif

//________________________________________________________________________
AliFemtoManager* ConfigFemtoAnalysis(const char* params) 
{
//masy czastek w GeV
   double PionMass = 0.13956995;
   double KaonMass = 0.493677;
   double ProtonMass = 0.938272013;
   double LambdaMass = 1.115683;
   double RhoMass = 0.77549;
   double PhiMass = 1.019445;

   //double *part_mases[4] = {ProtonMass, KaonMass, PionMass, LambdaMass};

/************** MULTIPLICITY *************/   
   const int numOfMultBins = 5;
   int runmults[numOfMultBins] = {1, 0, 0, 0, 0};    // 1 wlaczony przedzial krotnosci, 0 wylaczony
   int multbins[numOfMultBins+1] = {2, 20000, 0, 5000, 10001, 15000}; //definiujemy przedzialy krotnosci 
/************** OTHER SETTINGS *************/   
   int gammacut = 1;   // cut for e+e- coming from gamma
   int runktdep = 1;
   int resonancecut = 0;
/************** PARTICLE TYPES FOR ANALYSIS *************/   
	//ilosc par dla ktorych liczymy korelacje
   const int numOfPairTypes = 16;
	//typy analizowanych par czastek, all - bierzemy (dowolna, dowolna), plus - (dodatnia, dodatnia), mixed (plus, minus) Ostateczna ilosc wykresow = liczba par * liczba binow multiplicity * [liczba binow pedow + 1] (+1 bo chcemy zazwyczaj wykres bez binowania)
  const char* filterTypes[8] = {"p+", "p-","K+", "K-", "pi+", "pi-", "lambda", "lambdab"};
   const char *pair_types[numOfPairTypes] = { "PP" /*0*/, "aPaP", "PaP", "KpKp", "KmKm", "KpKm", "PIpPIp", "PImPIm", "PIpPIm", \
   "LamLam" /*9*/, "aLam_aLam", "Lam_aLam", "all" /*12*/, "plus", "minus", "mixed"};
	// 1 wlaczaja nam pary do analizy, 0 wylaczaja
  int runch[numOfPairTypes]= {0/*PP*/, 0/*aPaP*/, 0/*PaP*/, 0/*KpKp*/, 0/*KmKm*/, 0/*KpKm*/, 1,/*PIpPIp*/, 1/*PImPIm*/, 1/*PIpPIm*/,\
    0 /*"LamLam"*/, 0 /*"aLam_aLam"*/, 0 /*"Lam_aLam"*/, 0/*all*/, 0/*plus*/, 0/*minus*/, 0/*mixed*/};
  
  int weightSetting = 3;
  if(strlen(params)!=0)
    {
      weightSetting = atoi(strtok(params, ","));
      runktdep = atoi(strtok(NULL, ",")); 
      resonancecut =  atoi(strtok(NULL, ","));
      for(int ll=0; ll<numOfPairTypes; ll++)
        {
          if(ll==0) cout<<"\nSELECTED PAIRS: ";
          runch[ll]= atoi(strtok(NULL, ","));
          cout<<runch[ll];
          if(ll==numOfPairTypes-1) cout<<endl;
        }
    }
    else
    {
      runch[12]=1;
    }
  
  
  ///////////////////////////////////////////
  
	// TGrid::Connect("alien://");
	//  TFile *filterFile = TFile::Open(filterPath);


  ///////////////////////////////////////////
  // TH2D *filter1 = new TH2D();
  // TH2D *filter2 = new TH2D();

  
   

/************** K_T SETTINGS *************/   
   const int numOfkTbins = 11;
   double kt_bins[numOfkTbins+1] = {0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 100.0};   


   //  ***Reader Kinematics (Monte Carlo data)***
   AliFemtoEventReaderKinematicsChain* Reader=new AliFemtoEventReaderKinematicsChain();

/************** MANAGER *************/   

   //ten maanger zbiera analizy typowe dla alifemto, tylko
   AliFemtoManager* Manager = new AliFemtoManager();
   Manager->SetEventReader(Reader);

   
	   AliFemtoModelWeightGeneratorLednicky *tWeight = new AliFemtoModelWeightGeneratorLednicky();
     if(weightSetting==0)
        {
          tWeight->SetDefaultCalcPar(); // Default is CoulOn, QuantumOn, StrongOn, 3BodyOff, Square, T0ApproxOff
        }
      else if(weightSetting==1)
      {
          tWeight->SetQuantumOn();
          tWeight->SetCoulOff();
          tWeight-> SetStrongOff();
          tWeight->Set3BodyOff();
          tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }
      else if(weightSetting==2)
      {
          tWeight->SetQuantumOff();
          tWeight->SetCoulOff();
          tWeight-> SetStrongOn();
          tWeight->Set3BodyOff();
          tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }
      else if(weightSetting==3)
      {
          tWeight->SetQuantumOff();
          tWeight->SetCoulOn();
          tWeight-> SetStrongOff();
          tWeight->Set3BodyOff();
          tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }
      else if(weightSetting==4)
      {
          tWeight->SetQuantumOff();
          tWeight->SetCoulOff();
          tWeight-> SetStrongOff();
          tWeight->Set3BodyOn();
          tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }
	    else 
      {
          tWeight->SetQuantumOff();
          tWeight->SetCoulOff();
          tWeight-> SetStrongOff();
          tWeight->Set3BodyOff();
          // tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }

	   AliFemtoModelManager *tModelManager = new AliFemtoModelManager(); 
	   AliFemtoModelGausRinvFreezeOutGenerator *tFreezepim = new AliFemtoModelGausRinvFreezeOutGenerator();
	   tFreezepim->SetSizeInv(2.0); 
		 tModelManager->AcceptFreezeOutGenerator(tFreezepim); 
		tModelManager->CreateCopyHiddenInfo(kFALSE); 





           		  

/************** CREATING MONITORS AND CUTS *************/   <commit_msg>New config for the train (RM)<commit_after>#if !defined(__CINT__) || defined(__MAKECINT_)
#include "AliFemtoManager.h"
#include "AliFemtoEventReaderESDChain.h"
#include "AliFemtoEventReaderESDChainKine.h"
#include "AliFemtoEventReaderAODChain.h"
#include "AliFemtoSimpleAnalysis.h"
#include "AliFemtoBasicEventCut.h"
#include "AliFemtoESDTrackCut.h"
#include "AliFemtoCorrFctn.h"
#include "AliFemtoCutMonitorParticleYPtWithWeights.h"
#include "AliFemtoCutMonitorParticleVertPos.h"
#include "AliFemtoCutMonitorParticleMomRes.h"
#include "AliFemtoCutMonitorParticlePID.h"
#include "AliFemtoCutMonitorEventMult.h"
#include "AliFemtoCutMonitorEventVertex.h"
#include "AliFemtoShareQualityTPCEntranceSepPairCut.h"
#include "AliFemtoPairCutAntiGamma.h"
#include "AliFemtoPairCutRadialDistance.h"
#include "AliFemtoModelCorrFctnQinv.h"
#include "AliFemtoQinvCorrFctn.h"
#include "AliFemtoCorrFctnDEtaDPhi.h"
#include "AliFemtoModelCorrFctnWithWeights.h"
#include "AliFemtoCorrFctnNonIdDR.h"
#include "AliFemtoShareQualityCorrFctn.h"
#include "AliFemtoTPCInnerCorrFctn.h"
#include "AliFemtoVertexMultAnalysis.h"
#include "AliFemtoCorrFctn3DSpherical.h"
#include "AliFemtoChi2CorrFctn.h"
#include "AliFemtoCorrFctnTPCNcls.h"
#include "AliFemtoBPLCMS3DCorrFctn.h"
#include "AliFemtoCorrFctn3DLCMSSym.h"
#include "AliFemtoModelBPLCMSCorrFctn.h"
#include "AliFemtoModelCorrFctn3DSpherical.h"
#include "AliFemtoModelGausLCMSFreezeOutGenerator.h"
#include "AliFemtoModelGausRinvFreezeOutGenerator.h"
#include "AliFemtoModelManager.h"
#include "AliFemtoModelWeightGenerator.h"
#include "AliFemtoModelWeightGeneratorBasic.h"
#include "AliFemtoModelWeightGeneratorLednicky.h"
#include "AliFemtoCorrFctnDirectYlm.h"
#include "AliFemtoModelCorrFctnDirectYlm.h"
#include "AliFemtoModelCorrFctnSource.h"
#include "AliFemtoCutMonitorParticlePtPDG.h"
#include "AliFemtoKTPairCut.h"
#include "AliFemtoPairCutPt.h"
#include "AliFemtoModelCorrFctnDEtaDPhiWithWeights.h"
#include "AliFemtoAvgSepCorrFctn.h"
#include "AliFemtoModelGausRinvFreezeOutGenerator.h"
#include "AliFemtoQinvCorrFctnWithWeights.h"
#include "AliFemtoModelCorrFctnDEtaDPhiWithWeights.h"
#include "AliFemtoModelCorrFctn.h"
#include "AliFemtoModelCorrFctnDEtaDPhiRM.h"
#include "AliFemtoCutMonitorPairKT.h"
#include "AliFemtoPairCutMInv.h"

#endif

//________________________________________________________________________
AliFemtoManager* ConfigFemtoAnalysis(const char* params) 
{
//masy czastek w GeV
   double PionMass = 0.13956995;
   double KaonMass = 0.493677;
   double ProtonMass = 0.938272013;
   double LambdaMass = 1.115683;
   double RhoMass = 0.77549;
   double PhiMass = 1.019445;

   //double *part_mases[4] = {ProtonMass, KaonMass, PionMass, LambdaMass};

/************** MULTIPLICITY *************/   
   const int numOfMultBins = 5;
   int runmults[numOfMultBins] = {1, 0, 0, 0, 0};    // 1 wlaczony przedzial krotnosci, 0 wylaczony
   int multbins[numOfMultBins+1] = {2, 20000, 0, 5000, 10001, 15000}; //definiujemy przedzialy krotnosci 
/************** OTHER SETTINGS *************/   
   int gammacut = 1;   // cut for e+e- coming from gamma
   int runktdep = 1;
   int resonancecut = 0;
/************** PARTICLE TYPES FOR ANALYSIS *************/   
	//ilosc par dla ktorych liczymy korelacje
   const int numOfPairTypes = 16;
	//typy analizowanych par czastek, all - bierzemy (dowolna, dowolna), plus - (dodatnia, dodatnia), mixed (plus, minus) Ostateczna ilosc wykresow = liczba par * liczba binow multiplicity * [liczba binow pedow + 1] (+1 bo chcemy zazwyczaj wykres bez binowania)
  const char* filterTypes[8] = {"p+", "p-","K+", "K-", "pi+", "pi-", "lambda", "lambdab"};
   const char *pair_types[numOfPairTypes] = { "PP" /*0*/, "aPaP", "PaP", "KpKp", "KmKm", "KpKm", "PIpPIp", "PImPIm", "PIpPIm", \
   "LamLam" /*9*/, "aLam_aLam", "Lam_aLam", "all" /*12*/, "plus", "minus", "mixed"};
	// 1 wlaczaja nam pary do analizy, 0 wylaczaja
  int runch[numOfPairTypes]= {0/*PP*/, 0/*aPaP*/, 0/*PaP*/, 0/*KpKp*/, 0/*KmKm*/, 0/*KpKm*/, 1,/*PIpPIp*/, 1/*PImPIm*/, 1/*PIpPIm*/,\
    0 /*"LamLam"*/, 0 /*"aLam_aLam"*/, 0 /*"Lam_aLam"*/, 0/*all*/, 0/*plus*/, 0/*minus*/, 0/*mixed*/};
  
  int weightSetting = 3;
  if(strlen(params)!=0)
    {
      weightSetting = atoi(strtok(params, ","));
      runktdep = atoi(strtok(NULL, ",")); 
      resonancecut =  atoi(strtok(NULL, ","));
      for(int ll=0; ll<numOfPairTypes; ll++)
        {
          if(ll==0) cout<<"\nSELECTED PAIRS: ";
          runch[ll]= atoi(strtok(NULL, ","));
          cout<<runch[ll];
          if(ll==numOfPairTypes-1) cout<<endl;
        }
    }
    else
    {
      runch[12]=1;
    }
  
  
  ///////////////////////////////////////////
  
	// TGrid::Connect("alien://");
	//  TFile *filterFile = TFile::Open(filterPath);


  ///////////////////////////////////////////
  // TH2D *filter1 = new TH2D();
  // TH2D *filter2 = new TH2D();

  
   

/************** K_T SETTINGS *************/   
   const int numOfkTbins = 11;
   double kt_bins[numOfkTbins+1] = {0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 100.0};   


   //  ***Reader Kinematics (Monte Carlo data)***
   AliFemtoEventReaderKinematicsChain* Reader=new AliFemtoEventReaderKinematicsChain();

/************** MANAGER *************/   

   //ten maanger zbiera analizy typowe dla alifemto, tylko
   AliFemtoManager* Manager = new AliFemtoManager();
   Manager->SetEventReader(Reader);

   
	   AliFemtoModelWeightGeneratorLednicky *tWeight = new AliFemtoModelWeightGeneratorLednicky();
     if(weightSetting==0)
        {
          tWeight->SetDefaultCalcPar(); // Default is CoulOn, QuantumOn, StrongOn, 3BodyOff, Square, T0ApproxOff
        }
      else if(weightSetting==1)
      {
          tWeight->SetQuantumOn();
          tWeight->SetCoulOff();
          tWeight-> SetStrongOff();
          tWeight->Set3BodyOff();
          tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }
      else if(weightSetting==2)
      {
          tWeight->SetQuantumOff();
          tWeight->SetCoulOff();
          tWeight-> SetStrongOn();
          tWeight->Set3BodyOff();
          tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }
      else if(weightSetting==3)
      {
          tWeight->SetQuantumOff();
          tWeight->SetCoulOn();
          tWeight-> SetStrongOff();
          tWeight->Set3BodyOff();
          tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }
      else if(weightSetting==4)
      {
          tWeight->SetQuantumOff();
          tWeight->SetCoulOff();
          tWeight-> SetStrongOff();
          tWeight->Set3BodyOn();
          tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }
       else if(weightSetting==5)
      {
          tWeight->SetQuantumOn();
          tWeight->SetCoulOn();
          tWeight-> SetStrongOff();
          tWeight->Set3BodyOff();
          tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }
       else if(weightSetting==6)
      {
          tWeight->SetQuantumOn();
          tWeight->SetCoulOn();
          tWeight-> SetStrongOn();
          tWeight->Set3BodyOff();
          tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }
	    else 
      {
          tWeight->SetQuantumOff();
          tWeight->SetCoulOff();
          tWeight-> SetStrongOff();
          tWeight->Set3BodyOff();
          // tWeight->SetSquare();
          tWeight->SetT0ApproxOff();
      }

	   AliFemtoModelManager *tModelManager = new AliFemtoModelManager(); 
	   AliFemtoModelGausRinvFreezeOutGenerator *tFreezepim = new AliFemtoModelGausRinvFreezeOutGenerator();
	   tFreezepim->SetSizeInv(2.0); 
		 tModelManager->AcceptFreezeOutGenerator(tFreezepim); 
		tModelManager->CreateCopyHiddenInfo(kFALSE); 





           		  

/************** CREATING MONITORS AND CUTS *************/   
{'fraction_non_alphanumeric': 0.1643164515061238, 'fraction_numerical': 0.023435948361469713, 'mean_word_length': 3.5554885404101326, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 85, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2658932', 'n_tokens_mistral': 6020, 'n_tokens_neox': 5698, 'n_words': 917}