ROOT logo
//
// A Config.C for ITSU pileup studies in pp. 
// ( based of the Config.C from $ALICE_ROOT/test/pileup/ )
//

#if !defined(__CINT__) || defined(__MAKECINT__)
#include <Riostream.h>
#include <TPDGCode.h>
#include <TRandom.h>
#include <TSystem.h>
#include <TVirtualMC.h>
#include <TGeoManager.h>
#include <TGeoGlobalMagField.h>

#include "../geant3/TGeant3/TGeant3TGeo.h"

#include "AliMagF.h"
#include "STEER/STEER/AliRunLoader.h"
#include "STEER/STEER/AliRun.h"
#include "STEER/STEER/AliConfig.h"
#include "PYTHIA6/AliDecayerPythia.h"
#include "EVGEN/AliGenCocktail.h"
#include "EVGEN/AliGenHIJINGpara.h"
#include "EVGEN/AliGenFixed.h"
#include "EVGEN/AliGenBox.h"
#include "EVGEN/AliGenPileup.h"
#include "PYTHIA6/AliGenPythia.h"
#include "STRUCT/AliBODY.h"
#include "STRUCT/AliMAG.h"
#include "STRUCT/AliABSOv3.h"
#include "STRUCT/AliDIPOv3.h"
#include "STRUCT/AliHALLv3.h"
#include "STRUCT/AliFRAMEv2.h"
#include "STRUCT/AliSHILv3.h"
#include "STRUCT/AliPIPEv3.h"
#include "STRUCT/AliPIPEupgrade.h"
#include "ITS/AliITSv11.h"
#include "ITS/UPGRADE/AliITSUv1.h"
#include "TPC/Sim/AliTPCv2.h"
#include "TOF/AliTOFv6T0.h"
#include "HMPID/AliHMPIDv3.h"
#include "ZDC/AliZDCv3.h"
#include "TRD/AliTRDv1.h"
#include "TRD/AliTRDgeometry.h"
#include "FMD/AliFMDv1.h"
#include "MUON/AliMUONv1.h"
#include "PHOS/AliPHOSv1.h"
#include "PMD/AliPMDv1.h"
#include "T0/AliT0v1.h"
#include "EMCAL/AliEMCALv2.h"
#include "ACORDE/AliACORDEv1.h"
#include "VZERO/AliVZEROv7.h"
#endif

static Float_t energy   = 14000; // energy in CMS

AliGenerator* MbPythia(Float_t energy)
{
//
//    Pythia
      AliGenPythia* pythia = new AliGenPythia(-1); 
      pythia->SetMomentumRange(0, 999999.);
      pythia->SetThetaRange(0., 180.);
      pythia->SetYRange(-1.5,1.5);
      pythia->SetPtRange(0,1000.);
      pythia->SetProcess(kPyMb);
      pythia->SetEnergyCMS(energy);
      pythia->SetProjectile("p", 1, 1); 
      pythia->SetTarget("p", 1, 1); 
      
      return pythia;
}

void Config()
{
  // Set Random Number seed
  gRandom->SetSeed(1); // Set 0 to use the currecnt time


  // libraries required by geant321
#if defined(__CINT__)
  gSystem->Load("liblhapdf");
  gSystem->Load("libEGPythia6");
  gSystem->Load("libpythia6");
  gSystem->Load("libAliPythia6");
  gSystem->Load("libgeant321");
  gSystem->Load("libhijing");	
  gSystem->Load("libTHijing");
#endif
  gSystem->Load("libITSUpgradeBase.so");
  gSystem->Load("libITSUpgradeSim.so");


  new     TGeant3TGeo("C++ Interface to Geant3");

  AliRunLoader* rl=0x0;


  rl = AliRunLoader::Open("galice.root",
			  AliConfig::GetDefaultEventFolderName(),
			  "recreate");
  if (rl == 0x0)
    {
      gAlice->Fatal("Config.C","Can not instatiate the Run Loader");
      return;
    }
  rl->SetCompressionLevel(2);
  rl->SetNumberOfEventsPerFile(2000);
  gAlice->SetRunLoader(rl);

  //
  // Set External decayer
  TVirtualMCDecayer *decayer = new AliDecayerPythia();

  decayer->SetForceDecay(kAll);
  decayer->Init();
  gMC->SetExternalDecayer(decayer);
  //=======================================================================
  // ************* STEERING parameters FOR ALICE SIMULATION **************
  // --- Specify event type to be tracked through the ALICE setup
  // --- All positions are in cm, angles in degrees, and P and E in GeV


  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",0);
  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); 

// *********************** Pile up generation *********************
  // Minimum bias Pythia with pileup
  AliGenPileup *gener = new AliGenPileup();
  AliGenerator* pyth = MbPythia(energy);

  // Set the pileup interaction generator
  // The second argument is the pileup rate
  // in terms of event rate per bunch crossing
  gener->SetGenerator(pyth,0.05);
  // Set the beam time structure
  // Details on the syntax in STEER/AliTriggerBCMask
  gener->SetBCMask("1782(1H1L)"); // Full LHC

   // Generate the trigger interaction
  gener->GenerateTrigInteraction(kTRUE);

  //Set the ITS integration time
  gener->SetPileUpTimeWindow(30e-6);

  // PRIMARY VERTEX
  //
  //gener->SetOrigin(0., 0., 0.);    // vertex position
  //
  //
  // Size of the interaction diamond
  // Longitudinal
  Float_t sigmaz  = 5.4 / TMath::Sqrt(2.); // [cm]
  //
  // Transverse
  Float_t betast  = 10;                 // beta* [m]
  Float_t eps     = 3.75e-6;            // emittance [m]
  Float_t gamma   = energy / 2.0 / 0.938272;  // relativistic gamma [1]
  Float_t sigmaxy = TMath::Sqrt(eps*betast/gamma)/TMath::Sqrt(2.)*100.; // [cm]
  printf("\n \n Diamond size x-y: %10.3e z: %10.3e\n \n", sigmaxy, sigmaz);
    
  gener->SetSigma(sigmaxy, sigmaxy, sigmaz);// Sigma (cm) of the IP position
  gener->SetCutVertexZ(3.);        // Truncate at 3 sigma
  gener->SetVertexSmear(kPerEvent);

  gener->Init();

// *********************** End of the pile up generation *********************

  // 
  // Activate this line if you want the vertex smearing to happen
  // track by track
  //
  //VertexSmear_t perTrack;
  //gener->SetVertexSmear(perTrack); 
  // Field (L3 0.5 T)
  TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", -1., -1., AliMagF::k5kG));

  Int_t   iABSO  =  0;
  Int_t   iDIPO  =  0;
  Int_t   iFMD   =  0;
  Int_t   iFRAME =  0;
  Int_t   iHALL  =  0;
  Int_t   iITS   =  1;
  Int_t   iMAG   =  0;
  Int_t   iMUON  =  0;
  Int_t   iPHOS  =  0;
  Int_t   iPIPE  =  1;
  Int_t   iPMD   =  0;
  Int_t   iHMPID =  0;
  Int_t   iSHIL  =  0;
  Int_t   iT0    =  0;
  Int_t   iTOF   =  0;
  Int_t   iTPC   =  0;
  Int_t   iTRD   =  0;
  Int_t   iZDC   =  0;
  Int_t   iEMCAL =  0;
  Int_t   iACORDE=  0;
  Int_t   iVZERO =  0;
  rl->CdGAFile();
  //=================== Alice BODY parameters =============================
  AliBODY *BODY = new AliBODY("BODY", "Alice envelop");

  if (iMAG)
    {
      //=================== MAG parameters ============================
      // --- Start with Magnet since detector layouts may be depending ---
      // --- on the selected Magnet dimensions ---
      AliMAG *MAG = new AliMAG("MAG", "Magnet");
    }


  if (iABSO)
    {
      //=================== ABSO parameters ============================
      AliABSO *ABSO = new AliABSOv3("ABSO", "Muon Absorber");
    }

  if (iDIPO)
    {
      //=================== DIPO parameters ============================

      AliDIPO *DIPO = new AliDIPOv3("DIPO", "Dipole version 3");
    }

  if (iHALL)
    {
      //=================== HALL parameters ============================

      AliHALL *HALL = new AliHALLv3("HALL", "Alice Hall");
    }


  if (iFRAME)
    {
      //=================== FRAME parameters ============================

      AliFRAMEv2 *FRAME = new AliFRAMEv2("FRAME", "Space Frame");
      FRAME->SetHoles(1);
    }

  if (iSHIL)
    {
      //=================== SHIL parameters ============================

      AliSHIL *SHIL = new AliSHILv3("SHIL", "Shielding Version 3");
    }


  if (iPIPE)
    {
      //=================== PIPE parameters ============================

      AliPIPE *PIPE = new AliPIPEupgrade("PIPE", "Beam Pipe");
      //AliPIPE *PIPE = new AliPIPEv3("PIPE", "Beam Pipe");
    }
 
  if (iITS)
    {
      //=================== ITS parameters ============================
//      gROOT->ProcessLine(".x CreateITSU.C");
      gROOT->ProcessLine(".x CreateITSUv1.C");
//      gROOT->ProcessLine(".x CreateITSUv0.C");
//      gROOT->ProcessLine(".x CreateITSU_MS.C");
      //    CreateITSU();

    }
 
  if (iTPC)
    {
      //============================ TPC parameters ===================
      AliTPC *TPC = new AliTPCv2("TPC", "Default");
    }


  if (iTOF) {
    //=================== TOF parameters ============================
    AliTOF *TOF = new AliTOFv6T0("TOF", "normal TOF");
  }


  if (iHMPID)
    {
      //=================== HMPID parameters ===========================
      AliHMPID *HMPID = new AliHMPIDv3("HMPID", "normal HMPID");

    }


  if (iZDC)
    {
      //=================== ZDC parameters ============================

      AliZDC *ZDC = new AliZDCv3("ZDC", "normal ZDC");
    }

  if (iTRD)
    {
      //=================== TRD parameters ============================

      AliTRD *TRD = new AliTRDv1("TRD", "TRD slow simulator");
      AliTRDgeometry *geoTRD = TRD->GetGeometry();
      // Partial geometry: modules at 2,3,4,6,11,12,14,15
      // starting at 6h in positive direction
      geoTRD->SetSMstatus(0,0);
      geoTRD->SetSMstatus(1,0);
      geoTRD->SetSMstatus(5,0);
      geoTRD->SetSMstatus(7,0);
      geoTRD->SetSMstatus(8,0);
      geoTRD->SetSMstatus(9,0);
      geoTRD->SetSMstatus(10,0);
      geoTRD->SetSMstatus(13,0);
      geoTRD->SetSMstatus(16,0);
      geoTRD->SetSMstatus(17,0);
    }

  if (iFMD)
    {
      //=================== FMD parameters ============================
      AliFMD *FMD = new AliFMDv1("FMD", "normal FMD");
    }

  if (iMUON)
    {
      //=================== MUON parameters ===========================
      // New MUONv1 version (geometry defined via builders)
      AliMUON *MUON = new AliMUONv1("MUON","default");
    }
  //=================== PHOS parameters ===========================

  if (iPHOS)
    {
      AliPHOS *PHOS = new AliPHOSv1("PHOS", "IHEP");
    }


  if (iPMD)
    {
      //=================== PMD parameters ============================
      AliPMD *PMD = new AliPMDv1("PMD", "normal PMD");
    }

  if (iT0)
    {
      //=================== T0 parameters ============================
      AliT0 *T0 = new AliT0v1("T0", "T0 Detector");
    }

  if (iEMCAL)
    {
      //=================== EMCAL parameters ============================
      AliEMCAL *EMCAL = new AliEMCALv2("EMCAL", "EMCAL_COMPLETEV1");
    }

  if (iACORDE)
    {
      //=================== ACORDE parameters ============================
      AliACORDE *ACORDE = new AliACORDEv1("ACORDE", "normal ACORDE");
    }

  if (iVZERO)
    {
      //=================== VZERO parameters ============================
      AliVZERO *VZERO = new AliVZEROv7("VZERO", "normal VZERO");
    }


}


 Config_pileup.C:1
 Config_pileup.C:2
 Config_pileup.C:3
 Config_pileup.C:4
 Config_pileup.C:5
 Config_pileup.C:6
 Config_pileup.C:7
 Config_pileup.C:8
 Config_pileup.C:9
 Config_pileup.C:10
 Config_pileup.C:11
 Config_pileup.C:12
 Config_pileup.C:13
 Config_pileup.C:14
 Config_pileup.C:15
 Config_pileup.C:16
 Config_pileup.C:17
 Config_pileup.C:18
 Config_pileup.C:19
 Config_pileup.C:20
 Config_pileup.C:21
 Config_pileup.C:22
 Config_pileup.C:23
 Config_pileup.C:24
 Config_pileup.C:25
 Config_pileup.C:26
 Config_pileup.C:27
 Config_pileup.C:28
 Config_pileup.C:29
 Config_pileup.C:30
 Config_pileup.C:31
 Config_pileup.C:32
 Config_pileup.C:33
 Config_pileup.C:34
 Config_pileup.C:35
 Config_pileup.C:36
 Config_pileup.C:37
 Config_pileup.C:38
 Config_pileup.C:39
 Config_pileup.C:40
 Config_pileup.C:41
 Config_pileup.C:42
 Config_pileup.C:43
 Config_pileup.C:44
 Config_pileup.C:45
 Config_pileup.C:46
 Config_pileup.C:47
 Config_pileup.C:48
 Config_pileup.C:49
 Config_pileup.C:50
 Config_pileup.C:51
 Config_pileup.C:52
 Config_pileup.C:53
 Config_pileup.C:54
 Config_pileup.C:55
 Config_pileup.C:56
 Config_pileup.C:57
 Config_pileup.C:58
 Config_pileup.C:59
 Config_pileup.C:60
 Config_pileup.C:61
 Config_pileup.C:62
 Config_pileup.C:63
 Config_pileup.C:64
 Config_pileup.C:65
 Config_pileup.C:66
 Config_pileup.C:67
 Config_pileup.C:68
 Config_pileup.C:69
 Config_pileup.C:70
 Config_pileup.C:71
 Config_pileup.C:72
 Config_pileup.C:73
 Config_pileup.C:74
 Config_pileup.C:75
 Config_pileup.C:76
 Config_pileup.C:77
 Config_pileup.C:78
 Config_pileup.C:79
 Config_pileup.C:80
 Config_pileup.C:81
 Config_pileup.C:82
 Config_pileup.C:83
 Config_pileup.C:84
 Config_pileup.C:85
 Config_pileup.C:86
 Config_pileup.C:87
 Config_pileup.C:88
 Config_pileup.C:89
 Config_pileup.C:90
 Config_pileup.C:91
 Config_pileup.C:92
 Config_pileup.C:93
 Config_pileup.C:94
 Config_pileup.C:95
 Config_pileup.C:96
 Config_pileup.C:97
 Config_pileup.C:98
 Config_pileup.C:99
 Config_pileup.C:100
 Config_pileup.C:101
 Config_pileup.C:102
 Config_pileup.C:103
 Config_pileup.C:104
 Config_pileup.C:105
 Config_pileup.C:106
 Config_pileup.C:107
 Config_pileup.C:108
 Config_pileup.C:109
 Config_pileup.C:110
 Config_pileup.C:111
 Config_pileup.C:112
 Config_pileup.C:113
 Config_pileup.C:114
 Config_pileup.C:115
 Config_pileup.C:116
 Config_pileup.C:117
 Config_pileup.C:118
 Config_pileup.C:119
 Config_pileup.C:120
 Config_pileup.C:121
 Config_pileup.C:122
 Config_pileup.C:123
 Config_pileup.C:124
 Config_pileup.C:125
 Config_pileup.C:126
 Config_pileup.C:127
 Config_pileup.C:128
 Config_pileup.C:129
 Config_pileup.C:130
 Config_pileup.C:131
 Config_pileup.C:132
 Config_pileup.C:133
 Config_pileup.C:134
 Config_pileup.C:135
 Config_pileup.C:136
 Config_pileup.C:137
 Config_pileup.C:138
 Config_pileup.C:139
 Config_pileup.C:140
 Config_pileup.C:141
 Config_pileup.C:142
 Config_pileup.C:143
 Config_pileup.C:144
 Config_pileup.C:145
 Config_pileup.C:146
 Config_pileup.C:147
 Config_pileup.C:148
 Config_pileup.C:149
 Config_pileup.C:150
 Config_pileup.C:151
 Config_pileup.C:152
 Config_pileup.C:153
 Config_pileup.C:154
 Config_pileup.C:155
 Config_pileup.C:156
 Config_pileup.C:157
 Config_pileup.C:158
 Config_pileup.C:159
 Config_pileup.C:160
 Config_pileup.C:161
 Config_pileup.C:162
 Config_pileup.C:163
 Config_pileup.C:164
 Config_pileup.C:165
 Config_pileup.C:166
 Config_pileup.C:167
 Config_pileup.C:168
 Config_pileup.C:169
 Config_pileup.C:170
 Config_pileup.C:171
 Config_pileup.C:172
 Config_pileup.C:173
 Config_pileup.C:174
 Config_pileup.C:175
 Config_pileup.C:176
 Config_pileup.C:177
 Config_pileup.C:178
 Config_pileup.C:179
 Config_pileup.C:180
 Config_pileup.C:181
 Config_pileup.C:182
 Config_pileup.C:183
 Config_pileup.C:184
 Config_pileup.C:185
 Config_pileup.C:186
 Config_pileup.C:187
 Config_pileup.C:188
 Config_pileup.C:189
 Config_pileup.C:190
 Config_pileup.C:191
 Config_pileup.C:192
 Config_pileup.C:193
 Config_pileup.C:194
 Config_pileup.C:195
 Config_pileup.C:196
 Config_pileup.C:197
 Config_pileup.C:198
 Config_pileup.C:199
 Config_pileup.C:200
 Config_pileup.C:201
 Config_pileup.C:202
 Config_pileup.C:203
 Config_pileup.C:204
 Config_pileup.C:205
 Config_pileup.C:206
 Config_pileup.C:207
 Config_pileup.C:208
 Config_pileup.C:209
 Config_pileup.C:210
 Config_pileup.C:211
 Config_pileup.C:212
 Config_pileup.C:213
 Config_pileup.C:214
 Config_pileup.C:215
 Config_pileup.C:216
 Config_pileup.C:217
 Config_pileup.C:218
 Config_pileup.C:219
 Config_pileup.C:220
 Config_pileup.C:221
 Config_pileup.C:222
 Config_pileup.C:223
 Config_pileup.C:224
 Config_pileup.C:225
 Config_pileup.C:226
 Config_pileup.C:227
 Config_pileup.C:228
 Config_pileup.C:229
 Config_pileup.C:230
 Config_pileup.C:231
 Config_pileup.C:232
 Config_pileup.C:233
 Config_pileup.C:234
 Config_pileup.C:235
 Config_pileup.C:236
 Config_pileup.C:237
 Config_pileup.C:238
 Config_pileup.C:239
 Config_pileup.C:240
 Config_pileup.C:241
 Config_pileup.C:242
 Config_pileup.C:243
 Config_pileup.C:244
 Config_pileup.C:245
 Config_pileup.C:246
 Config_pileup.C:247
 Config_pileup.C:248
 Config_pileup.C:249
 Config_pileup.C:250
 Config_pileup.C:251
 Config_pileup.C:252
 Config_pileup.C:253
 Config_pileup.C:254
 Config_pileup.C:255
 Config_pileup.C:256
 Config_pileup.C:257
 Config_pileup.C:258
 Config_pileup.C:259
 Config_pileup.C:260
 Config_pileup.C:261
 Config_pileup.C:262
 Config_pileup.C:263
 Config_pileup.C:264
 Config_pileup.C:265
 Config_pileup.C:266
 Config_pileup.C:267
 Config_pileup.C:268
 Config_pileup.C:269
 Config_pileup.C:270
 Config_pileup.C:271
 Config_pileup.C:272
 Config_pileup.C:273
 Config_pileup.C:274
 Config_pileup.C:275
 Config_pileup.C:276
 Config_pileup.C:277
 Config_pileup.C:278
 Config_pileup.C:279
 Config_pileup.C:280
 Config_pileup.C:281
 Config_pileup.C:282
 Config_pileup.C:283
 Config_pileup.C:284
 Config_pileup.C:285
 Config_pileup.C:286
 Config_pileup.C:287
 Config_pileup.C:288
 Config_pileup.C:289
 Config_pileup.C:290
 Config_pileup.C:291
 Config_pileup.C:292
 Config_pileup.C:293
 Config_pileup.C:294
 Config_pileup.C:295
 Config_pileup.C:296
 Config_pileup.C:297
 Config_pileup.C:298
 Config_pileup.C:299
 Config_pileup.C:300
 Config_pileup.C:301
 Config_pileup.C:302
 Config_pileup.C:303
 Config_pileup.C:304
 Config_pileup.C:305
 Config_pileup.C:306
 Config_pileup.C:307
 Config_pileup.C:308
 Config_pileup.C:309
 Config_pileup.C:310
 Config_pileup.C:311
 Config_pileup.C:312
 Config_pileup.C:313
 Config_pileup.C:314
 Config_pileup.C:315
 Config_pileup.C:316
 Config_pileup.C:317
 Config_pileup.C:318
 Config_pileup.C:319
 Config_pileup.C:320
 Config_pileup.C:321
 Config_pileup.C:322
 Config_pileup.C:323
 Config_pileup.C:324
 Config_pileup.C:325
 Config_pileup.C:326
 Config_pileup.C:327
 Config_pileup.C:328
 Config_pileup.C:329
 Config_pileup.C:330
 Config_pileup.C:331
 Config_pileup.C:332
 Config_pileup.C:333
 Config_pileup.C:334
 Config_pileup.C:335
 Config_pileup.C:336
 Config_pileup.C:337
 Config_pileup.C:338
 Config_pileup.C:339
 Config_pileup.C:340
 Config_pileup.C:341
 Config_pileup.C:342
 Config_pileup.C:343
 Config_pileup.C:344
 Config_pileup.C:345
 Config_pileup.C:346
 Config_pileup.C:347
 Config_pileup.C:348
 Config_pileup.C:349
 Config_pileup.C:350
 Config_pileup.C:351
 Config_pileup.C:352
 Config_pileup.C:353
 Config_pileup.C:354
 Config_pileup.C:355
 Config_pileup.C:356
 Config_pileup.C:357
 Config_pileup.C:358
 Config_pileup.C:359
 Config_pileup.C:360
 Config_pileup.C:361
 Config_pileup.C:362
 Config_pileup.C:363
 Config_pileup.C:364
 Config_pileup.C:365
 Config_pileup.C:366
 Config_pileup.C:367
 Config_pileup.C:368
 Config_pileup.C:369
 Config_pileup.C:370
 Config_pileup.C:371
 Config_pileup.C:372
 Config_pileup.C:373
 Config_pileup.C:374
 Config_pileup.C:375
 Config_pileup.C:376
 Config_pileup.C:377
 Config_pileup.C:378
 Config_pileup.C:379
 Config_pileup.C:380
 Config_pileup.C:381
 Config_pileup.C:382
 Config_pileup.C:383
 Config_pileup.C:384
 Config_pileup.C:385
 Config_pileup.C:386
 Config_pileup.C:387
 Config_pileup.C:388
 Config_pileup.C:389
 Config_pileup.C:390
 Config_pileup.C:391
 Config_pileup.C:392
 Config_pileup.C:393
 Config_pileup.C:394
 Config_pileup.C:395
 Config_pileup.C:396
 Config_pileup.C:397
 Config_pileup.C:398