Add quenching information to header.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 1 Jul 2004 07:10:53 +0000 (07:10 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 1 Jul 2004 07:10:53 +0000 (07:10 +0000)
PYTHIA6/AliGenPythiaEventHeader.cxx
PYTHIA6/AliGenPythiaEventHeader.h

index 27e140d17d14012d006b63905b2733cc3b8c5ef6..8ad8a6515d468cc7eed755bff1f6b33eed10aa39 100644 (file)
@@ -23,13 +23,22 @@ ClassImp(AliGenPythiaEventHeader);
 AliGenPythiaEventHeader::AliGenPythiaEventHeader()
 {
 // Default Constructor
-    fNJets = 0;
+    fNJets   = 0;
+    fNUQJets = 0;
+    for (Int_t i = 0; i < 4; i++) fZquench[i] = 0.;
+    fXJet = -1.;
+    fYJet = -1.;
 }
 
 AliGenPythiaEventHeader::AliGenPythiaEventHeader(const char* name):AliGenEventHeader(name)
 {
 // Constructor
-    fNJets = 0;
+    fNJets   = 0;
+    fNUQJets = 0;
+    for (Int_t i = 0; i < 4; i++) fZquench[i] = 0.;
+    fXJet = -1.;
+    fYJet = -1.;
+
 }
 
 void AliGenPythiaEventHeader::AddJet(Float_t px, Float_t py, Float_t pz, Float_t e)
@@ -48,6 +57,38 @@ void AliGenPythiaEventHeader::AddJet(Float_t px, Float_t py, Float_t pz, Float_t
     }
 }
 
+void AliGenPythiaEventHeader::AddUQJet(Float_t px, Float_t py, Float_t pz, Float_t e)
+{
+//
+//  Add a jet 
+//
+    if (fNUQJets < 10) {
+       fUQJets[0][fNUQJets] = px;
+       fUQJets[1][fNUQJets] = py;
+       fUQJets[2][fNUQJets] = pz;
+       fUQJets[3][fNUQJets] = e;
+       fNUQJets++;
+    } else {
+       printf("\nWarning: More than 10 jets triggered !!\n");
+    }
+}
+
+void AliGenPythiaEventHeader::SetZQuench(Double_t z[4])
+{
+    //
+    // Set quenching fraction
+    //
+    for (Int_t i = 0; i < 4; i++) fZquench[i] = z[i];
+}
+
+void AliGenPythiaEventHeader::GetZQuench(Double_t z[4])
+{
+    //
+    // Get quenching fraction
+    //
+    for (Int_t i = 0; i < 4; i++) z[i] = fZquench[i];
+}
+
 void AliGenPythiaEventHeader::TriggerJet(Int_t i, Float_t p[4])
 {
 //
@@ -62,3 +103,28 @@ void AliGenPythiaEventHeader::TriggerJet(Int_t i, Float_t p[4])
        p[3] = fJets[3][i];
     }
 }
+
+void AliGenPythiaEventHeader::UQJet(Int_t i, Float_t p[4])
+{
+//
+// Give back jet #i
+//
+    if (i >= fNUQJets) {
+       printf("\nWarning: Unquenched Jets, index out of Range!!\n");
+    } else {
+       p[0] = fUQJets[0][i];
+       p[1] = fUQJets[1][i];
+       p[2] = fUQJets[2][i];
+       p[3] = fUQJets[3][i];
+    }
+}
+
+void AliGenPythiaEventHeader::SetXYJet(Double_t x, Double_t y)
+{
+
+//
+//  Add jet production point
+//
+    fXJet = x; 
+    fYJet = y; 
+}
index c181d017c9e65b35134ae37495b9a7e47980858e..4bb49a66784ed0167306bf3e49cf5adedd68ac2c 100644 (file)
@@ -16,22 +16,34 @@ class AliGenPythiaEventHeader : public AliGenEventHeader
     AliGenPythiaEventHeader(const char* name);
     virtual ~AliGenPythiaEventHeader() {}
     // Getters
-    Int_t ProcessType()  {return fProcessType;}
+    Int_t    ProcessType()  {return fProcessType;}
     // Setters
-    void  SetProcessType(Int_t type)  {fProcessType = type;}
-    Int_t Trials() {return fTrials;}
-    void  SetTrials(Int_t trials) {fTrials = trials;}
-    void  AddJet(Float_t px, Float_t py, Float_t pz, Float_t e);
-    Int_t NTriggerJets() {return fNJets;}
-    void  TriggerJet(Int_t i, Float_t p[4]);
+    void     SetProcessType(Int_t type)  {fProcessType = type;}
+    Int_t    Trials() {return fTrials;}
+    void     SetTrials(Int_t trials) {fTrials = trials;}
+    void     AddJet(Float_t px, Float_t py, Float_t pz, Float_t e);
+    void     AddUQJet(Float_t px, Float_t py, Float_t pz, Float_t e);
+    Int_t    NTriggerJets() {return fNJets;}
+    Int_t    NUQTriggerJets() {return fNUQJets;}
+    void     TriggerJet(Int_t i, Float_t p[4]);
+    void     UQJet(Int_t i, Float_t p[4]);
+    Double_t GetXJet() {return fXJet;}
+    Double_t GetYJet() {return fYJet;}    
+    void     SetXYJet(Double_t x, Double_t y); 
+    void     SetZQuench(Double_t z[4]);
+    void     GetZQuench(Double_t z[4]);
     
-         
 protected:
-    Int_t   fProcessType;               // PYTHIA process id for this event 
-    Int_t   fTrials;                    // Number of trials to fulfill trigger condition
-    Int_t   fNJets;                     // Number of triggered jets
-    Float_t fJets[4][10];               // Trigger jets   
-    ClassDef(AliGenPythiaEventHeader,2) // Event header for Pythia event
+    Int_t    fProcessType;               // PYTHIA process id for this event 
+    Int_t    fTrials;                    // Number of trials to fulfill trigger condition
+    Int_t    fNJets;                     // Number of triggered jets
+    Int_t    fNUQJets;                   // Number of unquenched
+    Double_t fXJet;                      // Jet production point (x)
+    Double_t fYJet;                      // Jet production point (y)
+    Float_t  fJets[4][10];               // Trigger jets
+    Float_t  fUQJets[4][10];             // Unquenched trigger jets
+    Double_t fZquench[4];                // Quenching fraction
+    ClassDef(AliGenPythiaEventHeader,3)  // Event header for Pythia event
 };