MSEL & MSUB options

Dear all,
I have this code, I use to make some simulations. I would like to make some simulations using MSEL and MSUB options to change sub-processes. Unfortunately I didn’t found anything on the web. The only things I found are in Fortran, but I don’t know this language. Can you give me some advice to use these option?
Thanks a lot
Marco

[code]/**************************************************************************

  • Copyright© 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  •                                                                    *
    
  • Author: The ALICE Off-line Project. *
  • Contributors are mentioned in the code where appropriate. *
  •                                                                    *
    
  • Permission to use, copy, modify and distribute this software and its *
  • documentation strictly for non-commercial purposes is hereby granted *
  • without fee, provided that the above copyright notice appears in all *
  • copies and that both the copyright notice and this permission notice *
  • appear in the supporting documentation. The authors make no claims *
  • about the suitability of this software for any purpose. It is *
  • provided “as is” without express or implied warranty. *
    **************************************************************************/

/* $Id: Config.C 35598 2009-10-15 17:37:49Z fca $ */

/// \ingroup macros
/// \file Config.C
/// \brief Configuration macro for MUON spectrometer simulation
///
/// Remember to define the directory and event generator option:
///
/// gAlice->SetConfigFunction(“Config(’$HOME’,‘box’);”);

void Config(char directory[100]="", char option[6]=“pythia”, const char* digitstore=“AliMUONDigitStoreV2S”)
{
//=====================================================================
// Config file for MUON test
//=====================================================================
// Libraries required by geant321
gSystem->Load(“liblhapdf.so”); // Parton density functions
gSystem->Load(“libpythia6.so”); // Pythia
gSystem->Load(“libgeant321.so”);
gSystem->Load(“libEG”);
gSystem->Load(“libEGPythia6”);
gSystem->Load(“libAliPythia6.so”); // ALICE specific implementations

new TGeant3TGeo(“C++ Interface to Geant3”);

//=======================================================================
// Create the output file
Text_t filename[100];
sprintf(filename,"%sgalice.root",directory);
cout << ">>> Output file is " << filename << endl;
cout << “>>> Config.C: Creating Run Loader …”<<endl;
AliRunLoader* rl=0x0;
rl = AliRunLoader::Open(
filename, AliConfig::GetDefaultEventFolderName(), “recreate”);
if (rl == 0x0)
{ gAlice->Fatal(“Config.C”,“Can not instatiate the Run Loader”);
return; }
rl->SetCompressionLevel(2);
rl->SetNumberOfEventsPerFile(1000);
gAlice->SetRunLoader(rl);
// gAlice->SetTriggerDescriptor(“p-p”);
//=======================================================================
// For having more debuging messages
//AliLog::SetModuleDebugLevel(“MUON”, 1);
//=======================================================================
// Set External decayer
TVirtualMCDecayer *decayer = new AliDecayerPythia();
decayer->SetForceDecay(kAll);
decayer->Init();
gMC->SetExternalDecayer(decayer);
//=======================================================================
// ******* GEANT STEERING parameters FOR ALICE SIMULATION *******
gMC->SetProcess(“DCAY”,1);
gMC->SetProcess(“PAIR”,1);
gMC->SetProcess(“COMP”,1);
gMC->SetProcess(“PHOT”,1);
gMC->SetProcess(“PFIS”,0);
gMC->SetProcess(“DRAY”,0);
gMC->SetProcess(“ANNI”,1);
gMC->SetProcess(“BREM”,1);
gMC->SetProcess(“MUNU”,1);
gMC->SetProcess(“CKOV”,1);
gMC->SetProcess(“HADR”,1);
gMC->SetProcess(“LOSS”,2);
gMC->SetProcess(“MULS”,1);
gMC->SetProcess(“RAYL”,1);
Float_t cut = 1.e-3; // 1MeV cut by default
Float_t tofmax = 1.e10;
gMC->SetCut(“CUTGAM”, cut);
gMC->SetCut(“CUTELE”, cut);
gMC->SetCut(“CUTNEU”, cut);
gMC->SetCut(“CUTHAD”, cut);
gMC->SetCut(“CUTMUO”, cut);
gMC->SetCut(“BCUTE”, cut);
gMC->SetCut(“BCUTM”, cut);
gMC->SetCut(“DCUTE”, cut);
gMC->SetCut(“DCUTM”, cut);
gMC->SetCut(“PPCUTM”, cut);
gMC->SetCut(“TOFMAX”, tofmax);
//=======================================================================
// Examples of generators. Only option param is sistematically tested

// Pythia
if(!strcmp(option,“pythia”)){

  AliGenPythia *gener = new AliGenPythia(-1);
  gener->SetMomentumRange(0, 999999.);
  gener->SetThetaRange(0., 180.);
  gener->SetYRange(-12.,12.);
  gener->SetPtRange(0,1000.);
  gener->SetProcess(kPyJpsi);   
  gener->SetEnergyCMS(7000);
  gener->SetOrigin(0,0,0);
  gener->SetSigma(0,0,5.3);
  gener->SetCutVertexZ(3.);
  gener->SetForceDecay(kJpsiDiMuon);
  gener->SetVertexSmear(kPerEvent);
  gener->SetTune(306); // ATLAS TUNING
  gener->SetStrucFunc(kCTEQ6l);
  gener->Init();
  }

//=============================================================
// Field (L3 0.5 T)
TGeoGlobalMagField::Instance()->SetField(new AliMagF(“Maps”,“Maps”, -1., -1, AliMagF::k5kG));
//=============================================================
//=================== Alice BODY parameters =============================
AliBODY *BODY = new AliBODY(“BODY”,“Alice envelop”);
//=================== ABSO parameters ============================
AliABSO *ABSO = new AliABSOv3(“ABSO”, “Muon Absorber”);
//=================== DIPO parameters ============================
AliDIPO *DIPO = new AliDIPOv3(“DIPO”, “Dipole version 2”);
//================== HALL parameters ============================
AliHALL *HALL = new AliHALLv3(“HALL”, “Alice Hall”);
//=================== PIPE parameters ============================
AliPIPE *PIPE = new AliPIPEv3(“PIPE”, “Beam Pipe”);
//=================== SHIL parameters ============================
AliSHIL *SHIL = new AliSHILv3(“SHIL”, “Shielding Version 2”);

//=================== MUON Subsystem ===========================
AliMUON *MUON = new AliMUONv1(“MUON”, “default”);

//=================== ITS parameters ============================
AliITS *ITS = new AliITSv11Hybrid(“ITS”,“ITS v11Hybrid”);

// The 3 switches below are to be used for the trigger code
// their default value is set in AliMUON.h
// activate trigger cluster-size (0=default, 1=cluster-size according to AliMUONResponseTriggerV1
// MUON->SetTriggerResponseV1(0);
// activate 4/4 trigger coincidence (0=default (coinc 3/4), 1=coinc 4/4)
// MUON->SetTriggerCoinc44(0);
// activate trigger chamber efficiency by cells (0=default, 1=trigger efficiency according to AliMUONTriggerEfficiencyCells
// MUON->SetTriggerEffCells(0);

// Use SetDigitStoreClassName() to change the digitStore implementation used by (s)digitizer
MUON->SetDigitStoreClassName(digitstore);

cout << "MUON DigitStore is " << MUON->DigitStoreClassName().Data() << endl;

}
[/code]

Please post Alice specific questions to the Alice mailing lists.

Rene

Thank you,
I’ve found this ROOT’s class, it seems interesting:

root.cern.ch/root/html526/TPythia6.html