Updates
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 17 May 2012 21:24:24 +0000 (21:24 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 17 May 2012 21:24:24 +0000 (21:24 +0000)
ITS Upgrade
A. Mastroserio

EVGEN/AliDecayer.h
EVGEN/AliGenITSULib.cxx
EVGEN/AliGenITSULib.h
EVGEN/AliGenMC.cxx
PYTHIA6/AliDecayerPythia.cxx
PYTHIA6/AliDecayerPythia.h
PYTHIA8/AliDecayerPythia8.cxx

index 8701604..02c4b70 100644 (file)
@@ -20,7 +20,7 @@ typedef enum
     kAll, kNoDecayHeavy, kHardMuons, kBJpsi,
     kWToMuon,kWToCharm, kWToCharmToMuon, kZDiMuon, kZDiElectron, kNeutralPion, kAllMuonic,
     kChiToJpsiGammaToMuonMuon, kChiToJpsiGammaToElectronElectron, kNoDecayBeauty, kPsiPrimeJpsiDiElectron,
-    kElectronEM, kGammaEM, kDiElectronEM, kLambdaBLambda
+    kElectronEM, kGammaEM, kDiElectronEM, kBeautyUpgrade
 } Decay_t;
 #endif
 
index 4a2936f..3e00576 100644 (file)
@@ -110,6 +110,8 @@ GenFuncIp AliGenITSULib::GetIp(Int_t iPID, const char *sForm) const
    case kLb:                                                 return id=IpLb;
    case -kLb:                                                return id=IpLbBar;
    case kXi_c:                                               return id=IpXic;
+   case kB:                                                  return id=IpBPlus;
+   case -kB:                                                 return id=IpBMinus;
    default  : AliFatal(Form("Unknown particle type: %i",iPID));  id=0;
   }
 
index cc87edf..a87da05 100644 (file)
@@ -32,6 +32,8 @@ class AliGenITSULib :public AliGenLib {
   static Int_t IpLb(TRandom * /*ran*/)      {return   (int)kLb;}
   static Int_t IpLbBar(TRandom * /*ran*/)   {return  -(int)kLb;}
   static Int_t IpXic(TRandom * /*ran*/)     {return (int)kXi_c;}
+  static Int_t IpBPlus(TRandom * /*ran*/)   {return    (int)kB;}
+  static Int_t IpBMinus(TRandom * /*ran*/)  {return   -(int)kB;}
 
   static Double_t PtFlat(const Double_t * /*px*/, const Double_t * /*dummy*/) {return 1;}
   static Double_t YFlat (const Double_t * /*py*/, const Double_t * /*dummy*/) {return 1;}
index 9d47827..cd58066 100644 (file)
@@ -180,7 +180,7 @@ void AliGenMC::Init()
     case kNoDecayHeavy:
     case kNoDecayBeauty:
     case kNeutralPion:
-    case kLambdaBLambda:  
+    case kBeautyUpgrade:
        break;
     }
 
index 999b3c9..12bb735 100644 (file)
@@ -429,9 +429,8 @@ void AliDecayerPythia::ForceDecay()
        ForceParticleDecay(  331,22,1); // etaprime     
        ForceParticleDecay(  333,22,1); // phi     
        break;
-    case kLambdaBLambda:
-        ForceParticleDecay( 5122, 4122, 1);
-        ForceParticleDecay( 4122, 3312, 1);
+    case kBeautyUpgrade:
+        ForceBeautyUpgrade();
       break;
     }
 }
@@ -448,6 +447,21 @@ void  AliDecayerPythia::SwitchOffHeavyFlavour()
     for (Int_t i = 156; i <= 160; i++) fPythia->SetMDME(i, 1, 0);
 }
 
+void  AliDecayerPythia::ForceBeautyUpgrade()
+{
+ //
+ // Force dedicated decay channels of signals ineresting
+ // for the ITS upgrade (Lb, Lc, Xi_c, B)
+ //
+
+   ForceParticleDecay( 5122, 4122, 1);
+   ForceParticleDecay( 4232, 3312, 1);
+   const Int_t prod[2]={421,211};
+   Int_t mult[2]={1,1};
+   ForceParticleDecay(521,prod,mult,2,1);
+   ForceHadronicD(1);
+}
+
 void  AliDecayerPythia::Lu1Ent(Int_t flag, Int_t idpart, 
                      Double_t mom, Double_t theta, Double_t phi)
 {
index d26cf1d..1026c92 100644 (file)
@@ -48,6 +48,7 @@ public AliDecayer
     void     ForceOmega();
     void     ForceLambda();
     void     SwitchOffHeavyFlavour();
+    void     ForceBeautyUpgrade();
     Float_t  GetBraPart(Int_t kf);
     void     Copy(TObject &decayer) const;
 
index dd957d7..f0e377a 100644 (file)
@@ -564,7 +564,7 @@ void AliDecayerPythia8::ForceDecay()
        AliTPythia8::Instance()->ReadString("3122:onMode = off");
        AliTPythia8::Instance()->ReadString("3122:onIfAll = 2212 211 ");
        break;
-    case kLambdaBLambda:
+    case kBeautyUpgrade:
         AliTPythia8::Instance()->ReadString("5122:onMode = off");
         AliTPythia8::Instance()->ReadString("4122:onMode = off");
        AliTPythia8::Instance()->ReadString("5122:onIfAll = 4122");