ROOT logo
// $Id$
//
// Jet embedding task.
//
// Author: S.Aiola, C.Loizides

#include <TRandom3.h>

#include "AliJetEmbeddingTask.h"

ClassImp(AliJetEmbeddingTask)

//________________________________________________________________________
AliJetEmbeddingTask::AliJetEmbeddingTask() : 
  AliJetModelBaseTask("AliJetEmbeddingTask"),
  fMassless(kFALSE),
  fNeutralFraction(0),
  fNeutralMass(0.135)
{
  // Default constructor.
  SetSuffix("Embedded");
}

//________________________________________________________________________
AliJetEmbeddingTask::AliJetEmbeddingTask(const char *name) : 
  AliJetModelBaseTask(name),
  fMassless(kFALSE),
  fNeutralFraction(0),
  fNeutralMass(0.135)
{
  // Standard constructor.
  SetSuffix("Embedded");
}

//________________________________________________________________________
AliJetEmbeddingTask::~AliJetEmbeddingTask()
{
  // Destructor
}

//________________________________________________________________________
void AliJetEmbeddingTask::Run() 
{
  // Embed particles.
  
  if (fNClusters > 0 && fOutClusters) {
    if (fCopyArray) 
      CopyClusters();
    for (Int_t i = 0; i < fNClusters; ++i) {
      AddCluster();
    }
  }
 
  if (fNTracks > 0 && fOutTracks) {
    if (fCopyArray) 
      CopyTracks();
    for (Int_t i = 0; i < fNTracks; ++i) {
      Double_t mass = 0.1396;
      Short_t charge = 1;
      if(fNeutralFraction>0.) {
	Double_t rnd = gRandom->Rndm();
	if(rnd<fNeutralFraction) {
	  charge = 0;
	  mass = fNeutralMass;
	}
      }
      if(fMassless) mass = 0.;
      AddTrack(-1,-999,-1,0,0,0,0,kFALSE,0,charge,mass);
    }
  }
}
 AliJetEmbeddingTask.cxx:1
 AliJetEmbeddingTask.cxx:2
 AliJetEmbeddingTask.cxx:3
 AliJetEmbeddingTask.cxx:4
 AliJetEmbeddingTask.cxx:5
 AliJetEmbeddingTask.cxx:6
 AliJetEmbeddingTask.cxx:7
 AliJetEmbeddingTask.cxx:8
 AliJetEmbeddingTask.cxx:9
 AliJetEmbeddingTask.cxx:10
 AliJetEmbeddingTask.cxx:11
 AliJetEmbeddingTask.cxx:12
 AliJetEmbeddingTask.cxx:13
 AliJetEmbeddingTask.cxx:14
 AliJetEmbeddingTask.cxx:15
 AliJetEmbeddingTask.cxx:16
 AliJetEmbeddingTask.cxx:17
 AliJetEmbeddingTask.cxx:18
 AliJetEmbeddingTask.cxx:19
 AliJetEmbeddingTask.cxx:20
 AliJetEmbeddingTask.cxx:21
 AliJetEmbeddingTask.cxx:22
 AliJetEmbeddingTask.cxx:23
 AliJetEmbeddingTask.cxx:24
 AliJetEmbeddingTask.cxx:25
 AliJetEmbeddingTask.cxx:26
 AliJetEmbeddingTask.cxx:27
 AliJetEmbeddingTask.cxx:28
 AliJetEmbeddingTask.cxx:29
 AliJetEmbeddingTask.cxx:30
 AliJetEmbeddingTask.cxx:31
 AliJetEmbeddingTask.cxx:32
 AliJetEmbeddingTask.cxx:33
 AliJetEmbeddingTask.cxx:34
 AliJetEmbeddingTask.cxx:35
 AliJetEmbeddingTask.cxx:36
 AliJetEmbeddingTask.cxx:37
 AliJetEmbeddingTask.cxx:38
 AliJetEmbeddingTask.cxx:39
 AliJetEmbeddingTask.cxx:40
 AliJetEmbeddingTask.cxx:41
 AliJetEmbeddingTask.cxx:42
 AliJetEmbeddingTask.cxx:43
 AliJetEmbeddingTask.cxx:44
 AliJetEmbeddingTask.cxx:45
 AliJetEmbeddingTask.cxx:46
 AliJetEmbeddingTask.cxx:47
 AliJetEmbeddingTask.cxx:48
 AliJetEmbeddingTask.cxx:49
 AliJetEmbeddingTask.cxx:50
 AliJetEmbeddingTask.cxx:51
 AliJetEmbeddingTask.cxx:52
 AliJetEmbeddingTask.cxx:53
 AliJetEmbeddingTask.cxx:54
 AliJetEmbeddingTask.cxx:55
 AliJetEmbeddingTask.cxx:56
 AliJetEmbeddingTask.cxx:57
 AliJetEmbeddingTask.cxx:58
 AliJetEmbeddingTask.cxx:59
 AliJetEmbeddingTask.cxx:60
 AliJetEmbeddingTask.cxx:61
 AliJetEmbeddingTask.cxx:62
 AliJetEmbeddingTask.cxx:63
 AliJetEmbeddingTask.cxx:64
 AliJetEmbeddingTask.cxx:65
 AliJetEmbeddingTask.cxx:66
 AliJetEmbeddingTask.cxx:67
 AliJetEmbeddingTask.cxx:68
 AliJetEmbeddingTask.cxx:69
 AliJetEmbeddingTask.cxx:70
 AliJetEmbeddingTask.cxx:71