Possibility to force transport of all particles.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 16 Jun 2011 13:44:44 +0000 (13:44 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 16 Jun 2011 13:44:44 +0000 (13:44 +0000)
lmanceau@to.infn.it

EVGEN/AliGenCorrHF.cxx
EVGEN/AliGenCorrHF.h
EVGEN/AliGenParam.cxx
EVGEN/AliGenParam.h

index d275610..22bdd1b 100644 (file)
@@ -132,6 +132,7 @@ Double_t AliGenCorrHF::fgptbmax[12] = {0.5, 1, 1.5, 2, 2.5, 3, 4, 5, 6, 7, 9, 10
        fEnergy(0),
        fBias(0.),
        fTrials(0),
+       fSelectAll(kFALSE),
        fDecayer(0),
        fgIntegral(0)
 {
@@ -147,7 +148,7 @@ AliGenCorrHF::AliGenCorrHF(Int_t npart, Int_t idquark, Int_t energy):
     fEnergy(energy),
     fBias(0.),
     fTrials(0),
-    //    fDecayer(new AliDecayerPythia())
+    fSelectAll(kFALSE),
     fDecayer(0),
     fgIntegral(0)
 {
@@ -202,7 +203,7 @@ AliGenCorrHF::AliGenCorrHF(char* tname, Int_t npart, Int_t idquark, Int_t energy
     fEnergy(energy),
     fBias(0.),
     fTrials(0),
-    //    fDecayer(new AliDecayerPythia())
+    fSelectAll(kFALSE),
     fDecayer(0),
     fgIntegral(0)
 {
@@ -487,7 +488,7 @@ void AliGenCorrHF::Generate()
            //
            // children
            
-           if ((ChildSelected(TMath::Abs(kf)) || fForceDecay == kAll) && trackIt[i])
+           if ((ChildSelected(TMath::Abs(kf)) || fForceDecay == kAll || fSelectAll) && trackIt[i])
              {
                if (fCutOnChild) {
                  pc[0]=iparticle->Px();
index 4341e08..df3cf82 100644 (file)
@@ -44,6 +44,8 @@ class AliGenCorrHF : public AliGenMC
     // fG - input file with QQbar kinematical grid (TTree) and fragm. functions (24 TH2-s)
     static void GetQuarkPair(TFile* fG, Double_t* fInt, Double_t &y1, Double_t &y2, Double_t &pt1, Double_t &pt2, Double_t &dphi);              
     static void GetHadronPair(TFile* fG, Int_t idq, Double_t y1, Double_t y2, Double_t pt1, Double_t pt2, Int_t &id3, Int_t &id4, Double_t &pz3, Double_t &pz4, Double_t &pt3, Double_t &pt4); 
+   //Setting the flag for Background transportation while using SetForceDecay()
+    void SetSelectAll(Bool_t selectall) {fSelectAll = selectall;}
 
  protected:
     TString     fFileName;    // Name of the input file
@@ -52,13 +54,15 @@ class AliGenCorrHF : public AliGenMC
     Int_t       fEnergy;      // p-p c.m.s. energy 
     Float_t     fBias;        // Biasing factor
     Int_t       fTrials;      // Number of trials
+    Bool_t      fSelectAll;   // Flag for transportation of Background while using SetForceDecay()
     AliDecayer* fDecayer;     //! Pointer to pythia object for decays
 
  private:
     AliGenCorrHF(const AliGenCorrHF &CorrHF);
     AliGenCorrHF & operator=(const AliGenCorrHF & rhs);
 
-    Double_t* fgIntegral; //! Pointer to array of cumulative sums of wght-s
+    Double_t* fgIntegral;  //! Pointer to array of cumulative sums of wght-s
+       
     static Int_t  fgnptbins;             // =12 Number of bins for the fragm. 
                                          //   function dependence on quark pt
     // Number of the grid bins in deltaphi, y and pt:  18, 30 and 50
@@ -67,8 +71,7 @@ class AliGenCorrHF : public AliGenMC
     static Double_t fgpt[51];            // pt bin coordinates
     static Double_t fgptbmin[12];        // min & max coordinates of pt bins for
     static Double_t fgptbmax[12];        // the fragm. function
-
-    ClassDef(AliGenCorrHF,1)  // Generator using parameterized QQbar & fragm. functions
+    ClassDef(AliGenCorrHF,2)  // Generator using parameterized QQbar & fragm. functions
 };
 #endif
 
index ee8c3ff..9428bb8 100644 (file)
@@ -64,6 +64,7 @@ ClassImp(AliGenParam)
        fBias(0.),
        fTrials(0),
        fDeltaPt(0.01),
+       fSelectAll(kFALSE),
        fDecayer(0)
 {
 // Default constructor
@@ -83,6 +84,7 @@ AliGenParam::AliGenParam(Int_t npart, const AliGenLib * Library,  Int_t param, c
      fBias(0.),
      fTrials(0),
      fDeltaPt(0.01),
+     fSelectAll(kFALSE),
      fDecayer(0)
 {
 // Constructor using number of particles parameterisation id and library
@@ -106,6 +108,7 @@ AliGenParam::AliGenParam(Int_t npart, Int_t param, const char* tname, const char
     fBias(0.),
     fTrials(0),
     fDeltaPt(0.01),
+    fSelectAll(kFALSE),
     fDecayer(0)
 {
 // Constructor using parameterisation id and number of particles
@@ -148,6 +151,7 @@ AliGenParam::AliGenParam(Int_t npart, Int_t param,
      fBias(0.),
      fTrials(0),
      fDeltaPt(0.01),
+     fSelectAll(kFALSE),
      fDecayer(0)
 {
 // Constructor
@@ -413,7 +417,7 @@ void AliGenParam::Generate()
 //
 // children
                      
-                     if ((ChildSelected(TMath::Abs(kf)) || fForceDecay == kAll) && trackIt[i])
+                     if ((ChildSelected(TMath::Abs(kf)) || fForceDecay == kAll || fSelectAll) && trackIt[i])
                      {
                          if (fCutOnChild) {
                              pc[0]=iparticle->Px();
index b376198..37a42ad 100644 (file)
@@ -38,6 +38,8 @@ class AliGenParam : public AliGenMC
     virtual void Init();
     // select particle type
     virtual void SetParam(Int_t param) {fParam = param;}
+    //Setting the flag for Background transportation while using SetForceDecay()
+    void SetSelectAll(Bool_t selectall) {fSelectAll = selectall;}
     // force decay type
     virtual void SetWeighting(Weighting_t flag = kAnalog) {fAnalog = flag;}    
     virtual void SetDeltaPt(Float_t delta=0.01) {fDeltaPt = delta;}
@@ -60,13 +62,14 @@ class AliGenParam : public AliGenMC
     Float_t     fBias;         // Biasing factor
     Int_t       fTrials;       // Number of trials
     Float_t     fDeltaPt;      // pT sampling in steps of fDeltaPt
+    Bool_t      fSelectAll;    // Flag for transportation of Background while using SetForceDecay()
     AliDecayer  *fDecayer;     // ! Pointer to pythia object for decays
 
  private:
     AliGenParam(const AliGenParam &Param);
     AliGenParam & operator=(const AliGenParam & rhs);
 
-    ClassDef(AliGenParam,1) // Generator using parameterised pt- and y-distribution
+    ClassDef(AliGenParam, 2) // Generator using parameterised pt- and y-distribution
 };
 #endif