/*
* MuonGenerator.C
* aliroot_dev
*
* Created by philippe pillot on 05/03/13.
* Copyright 2013 SUBATECH. All rights reserved.
*
*/
#if !defined(__CINT__) || defined(__MAKECINT__)
#include <Riostream.h>
#include "TRandom.h"
#include "AliGenerator.h"
#include "AliGenParam.h"
#endif
static Int_t IpMuon( TRandom *ran);
static Double_t PtMuon( const Double_t *px, const Double_t */*dummy*/ );
static Double_t YMuon( const Double_t *py, const Double_t */*dummy*/ );
static Double_t V2Muon( const Double_t *pv, const Double_t */*dummy*/ );
//-------------------------------------------------------------------------
AliGenerator* GenParamCustomSingle()
{
AliGenParam *singleMu = new AliGenParam(1,-1,PtMuon,YMuon,V2Muon,IpMuon);
singleMu->SetMomentumRange(0,1e6);
singleMu->SetPtRange(VAR_GENPARAMCUSTOMSINGLE_PTMIN,999.);
singleMu->SetYRange(-4.2, -2.3);
singleMu->SetPhiRange(0., 360.);
singleMu->SetForceDecay(kNoDecay);
singleMu->SetTrackingFlag(1);
return singleMu;
}
//-------------------------------------------------------------------------
Int_t IpMuon(TRandom *ran)
{
// muon composition
if (ran->Rndm() < 0.5 )
{
return 13;
}
else
{
return -13;
}
}
//-------------------------------------------------------------------------
Double_t PtMuon( const Double_t *px, const Double_t */*dummy*/ )
{
// muon pT
Double_t x=*px;
Float_t p0,p1,p2,p3;
p0 = VAR_GENPARAMCUSTOMSINGLE_PT_P0; //4.05962;
p1 = VAR_GENPARAMCUSTOMSINGLE_PT_P1; //1;
p2 = VAR_GENPARAMCUSTOMSINGLE_PT_P2; //2.46187;
p3 = VAR_GENPARAMCUSTOMSINGLE_PT_P3; //2.08644;
return p0 / TMath::Power( p1 + TMath::Power(x,p2), p3 );
}
//-------------------------------------------------------------------------
Double_t YMuon( const Double_t *py, const Double_t */*dummy*/ )
{
// muon y
Double_t y = *py;
//pol4 only valid in y= -4;-2.5
Float_t p0,p1,p2,p3;
p0 = VAR_GENPARAMCUSTOMSINGLE_Y_P0; //0.729545;
p1 = VAR_GENPARAMCUSTOMSINGLE_Y_P1; //0.53837;
p2 = VAR_GENPARAMCUSTOMSINGLE_Y_P2; //0.141776;
p3 = VAR_GENPARAMCUSTOMSINGLE_Y_P3; //0.0130173;
return p0 * (1. + p1*y + p2*y*y + p3*y*y*y);
}
//-------------------------------------------------------------------------
Double_t V2Muon( const Double_t */*dummy*/, const Double_t */*dummy*/ )
{
//muon v2
return 0.;
}
GenParamCustomSingle.C:10 GenParamCustomSingle.C:11 GenParamCustomSingle.C:12 GenParamCustomSingle.C:13 GenParamCustomSingle.C:14 GenParamCustomSingle.C:15 GenParamCustomSingle.C:16 GenParamCustomSingle.C:17 GenParamCustomSingle.C:18 GenParamCustomSingle.C:19 GenParamCustomSingle.C:20 GenParamCustomSingle.C:21 GenParamCustomSingle.C:22 GenParamCustomSingle.C:23 GenParamCustomSingle.C:24 GenParamCustomSingle.C:25 GenParamCustomSingle.C:26 GenParamCustomSingle.C:27 GenParamCustomSingle.C:28 GenParamCustomSingle.C:29 GenParamCustomSingle.C:30 GenParamCustomSingle.C:31 GenParamCustomSingle.C:32 GenParamCustomSingle.C:33 GenParamCustomSingle.C:34 GenParamCustomSingle.C:35 GenParamCustomSingle.C:36 GenParamCustomSingle.C:37 GenParamCustomSingle.C:38 GenParamCustomSingle.C:39 GenParamCustomSingle.C:40 GenParamCustomSingle.C:41 GenParamCustomSingle.C:42 GenParamCustomSingle.C:43 GenParamCustomSingle.C:44 GenParamCustomSingle.C:45 GenParamCustomSingle.C:46 GenParamCustomSingle.C:47 GenParamCustomSingle.C:48 GenParamCustomSingle.C:49 GenParamCustomSingle.C:50 GenParamCustomSingle.C:51 GenParamCustomSingle.C:52 GenParamCustomSingle.C:53 GenParamCustomSingle.C:54 GenParamCustomSingle.C:55 GenParamCustomSingle.C:56 GenParamCustomSingle.C:57 GenParamCustomSingle.C:58 GenParamCustomSingle.C:59 GenParamCustomSingle.C:60 GenParamCustomSingle.C:61 GenParamCustomSingle.C:62 GenParamCustomSingle.C:63 GenParamCustomSingle.C:64 GenParamCustomSingle.C:65 GenParamCustomSingle.C:66 GenParamCustomSingle.C:67 GenParamCustomSingle.C:68 GenParamCustomSingle.C:69 GenParamCustomSingle.C:70 GenParamCustomSingle.C:71 GenParamCustomSingle.C:72 GenParamCustomSingle.C:73 GenParamCustomSingle.C:74 GenParamCustomSingle.C:75 GenParamCustomSingle.C:76 GenParamCustomSingle.C:77 GenParamCustomSingle.C:78 GenParamCustomSingle.C:79 GenParamCustomSingle.C:80 GenParamCustomSingle.C:81 GenParamCustomSingle.C:82 GenParamCustomSingle.C:83 GenParamCustomSingle.C:84 GenParamCustomSingle.C:85 GenParamCustomSingle.C:86 GenParamCustomSingle.C:87 GenParamCustomSingle.C:88 GenParamCustomSingle.C:89