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)
}
}
+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])
{
//
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;
+}
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
};