]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Introduce kinematic biasing (etamin, etamax) of jet trigger. Bookkeeping
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 28 Nov 2001 13:51:11 +0000 (13:51 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 28 Nov 2001 13:51:11 +0000 (13:51 +0000)
(number of trials) done in AliGenHijingEventHeader.

EVGEN/AliGenHijing.cxx
EVGEN/AliGenHijing.h
EVGEN/AliGenHijingEventHeader.h

index 9bd097b9daf447a3d6a98261d599f92bc5e6dd68..9233b0aa76697f65228b96c64af163259752e0fc 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.31  2001/11/06 12:30:34  morsch
+Add Boost() method to boost all particles to LHC lab frame. Needed for asymmetric collision systems.
+
 Revision 1.30  2001/10/21 18:35:56  hristov
 Several pointers were set to zero in the default constructors to avoid memory management problems
 
@@ -156,6 +159,8 @@ AliGenHijing::AliGenHijing(Int_t npart)
     SetTarget();
     SetProjectile();
     SetBoostLHC();
+    SetJetEtaRange();
+    
     fKeep       =  0;
     fQuench     =  1;
     fShadowing  =  1;
@@ -268,9 +273,14 @@ void AliGenHijing::Generate()
 // --------------------------------------------------------------------------
       fHijing->GenerateEvent();
       fTrials++;
+      if (fTrigger != kNoTrigger) {
+         if (!CheckTrigger()) continue;
+      }
+
       fHijing->ImportParticles(particles,"All");
       if (fLHC) Boost(particles);
       
+      
       Int_t np = particles->GetEntriesFast();
       printf("\n **************************************************%d\n",np);
       Int_t nc = 0;
@@ -600,11 +610,36 @@ void AliGenHijing::MakeHeader()
                                              fHijing->GetHINT1(38),
                                              fHijing->GetHINT1(39));
     ((AliGenHijingEventHeader*) header)->SetJets(jet1, jet2, jet3, jet4);
+    ((AliGenHijingEventHeader*) header)->SetTrials(fTrials);
 // Event Vertex
     header->SetPrimaryVertex(fEventVertex);
     gAlice->SetGenEventHeader(header);    
 }
 
+Bool_t AliGenHijing::CheckTrigger()
+{
+// Check the kinematic trigger condition
+// 
+    TLorentzVector* jet1 = new TLorentzVector(fHijing->GetHINT1(26), 
+                                             fHijing->GetHINT1(27),
+                                             fHijing->GetHINT1(28),
+                                             fHijing->GetHINT1(29));
+
+    TLorentzVector* jet2 = new TLorentzVector(fHijing->GetHINT1(36), 
+                                             fHijing->GetHINT1(37),
+                                             fHijing->GetHINT1(38),
+                                             fHijing->GetHINT1(39));
+    Double_t eta1      = jet1->Eta();
+    Double_t eta2      = jet2->Eta();
+    Bool_t   triggered = kFALSE;
+    
+    if ((eta1 < fEtaMaxJet && eta1 > fEtaMinJet) ||
+       (eta2 < fEtaMaxJet && eta2 > fEtaMinJet))
+    {
+       triggered = kTRUE;
+    }
+    return triggered;
+}
 
 AliGenHijing& AliGenHijing::operator=(const  AliGenHijing& rhs)
 {
index 4671b5471025dff642249f4bff4d3ff289658760..edf2834fada006ebf6f2b90c3bda5127b3b712ab 100644 (file)
@@ -59,6 +59,8 @@ class AliGenHijing : public AliGenMC
     virtual void    SetRadiation(Int_t flag=3)        {fRadiation  = flag;}    
     virtual void    SetSpectators(Int_t spects=1)     {fSpectators = spects;}
     virtual void    SetPtMinJet(Float_t ptmin)        {fPtMinJet   = ptmin;}
+    virtual void    SetJetEtaRange(Float_t etamin = -20., Float_t etamax = 20.)
+       {fEtaMinJet = etamin; fEtaMaxJet = etamax;}
     virtual void    SetBoostLHC(Int_t flag=0)         {fLHC        = flag;}
     
            
@@ -67,7 +69,9 @@ class AliGenHijing : public AliGenMC
     virtual void EvaluateCrossSections();
     virtual void Boost(TClonesArray* particles);
     virtual TGraph* CrossSection()     {return fDsigmaDb;}
-    virtual TGraph* BinaryCollisions() {return fDnDb;}    
+    virtual TGraph* BinaryCollisions() {return fDnDb;}
+    virtual Bool_t  CheckTrigger();
+    
  protected:
     Bool_t SelectFlavor(Int_t pid);
     void   MakeHeader();
@@ -103,6 +107,8 @@ class AliGenHijing : public AliGenMC
     TGraph*     fDsigmaDb;       // dSigma/db for the system
     TGraph*     fDnDb;           // dNBinaryCollisions/db
     Float_t     fPtMinJet;       // Minimum Pt of triggered Jet
+    Float_t     fEtaMinJet;      // Minimum eta of triggered Jet
+    Float_t     fEtaMaxJet;      // Maximum eta of triggered Jet
     Int_t       fRadiation;      // Flag to switch on/off initial and final state radiation
     
 // ZDC proposal (by Chiara) to store num. of SPECTATORS protons and neutrons
index e9819624320f4ee24294cacc8ad08fb5d7d30783..8179933ee32f986d234665af6da7dfdd01956bcf 100644 (file)
@@ -27,6 +27,9 @@ class AliGenHijingEventHeader : public AliGenEventHeader
   Int_t   NNw()   {return fNNwColl;}
   Int_t   NwN()   {return fNwNColl;}
   Int_t   NwNw()  {return fNwNwColl;}
+  Int_t   Trials() {return fTrials;}
+  
+         
   // Setters
   void SetTotalEnergy(Float_t energy)  {fTotalEnergy=energy;}
   void SetHardScatters(Int_t n)  {fNHardScatters=n;}
@@ -42,6 +45,8 @@ class AliGenHijingEventHeader : public AliGenEventHeader
   void GetJets(TLorentzVector& jet1, TLorentzVector& jet2,
               TLorentzVector& jet3, TLorentzVector& jet4)  
       {jet1 = fJet1; jet2 = fJet2; jet3 = fJetFsr1; jet4 = fJetFsr2;}
+  void SetTrials(Int_t trials) {fTrials = trials;}
+         
 protected:
   Float_t fTotalEnergy;              // Total energy of produced particles
   Int_t   fNHardScatters;            // Number of hard scatterings
@@ -53,12 +58,14 @@ protected:
   Int_t   fNwNwColl;                 // Number of Nwounded-Nwounded collisions
   Int_t   fSpecn;                    // Number of spectators neutrons
   Int_t   fSpecp;                    // Number of spectators protons
+  Int_t   fTrials;                   // Number of trials to fulfill trigger condition
+  
   TLorentzVector  fJet1;             // 4-Momentum-Vector of first   triggered jet  
   TLorentzVector  fJet2;             // 4-Momentum-Vector of second  triggered jet     
   TLorentzVector  fJetFsr1;          // 4-Momentum-Vector of first   triggered jet  
   TLorentzVector  fJetFsr2;          // 4-Momentum-Vector of second  triggered jet     
   
-  ClassDef(AliGenHijingEventHeader,3) // Event header for hijing event
+  ClassDef(AliGenHijingEventHeader,4) // Event header for hijing event
 };
 
 #endif