]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/AliEmcalJet.cxx
bookkeep pt hard info when generating on-the-fly pythia events
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliEmcalJet.cxx
index c9bfb3c7a314d1f672e47b78076737c8be2fd4d1..8ae3f3ca0e961da819c773bbb98cbbb157840141 100644 (file)
@@ -6,6 +6,9 @@
 
 #include "AliEmcalJet.h"
 
+#include "AliLog.h"
+#include "Riostream.h"
+
 ClassImp(AliEmcalJet)
 
 //__________________________________________________________________________________________________
@@ -21,6 +24,7 @@ AliEmcalJet::AliEmcalJet() :
   fAreaPhi(0),       
   fAreaEmc(-1), 
   fAxisInEmcal(0), 
+  fFlavourTagging(0),
   fMaxCPt(0), 
   fMaxNPt(0), 
   fMCPt(0),
@@ -32,8 +36,11 @@ AliEmcalJet::AliEmcalJet() :
   fTrackIDs(),
   fMatched(2),
   fMatchingType(0),
+  fTaggedJet(0x0),
+  fTagStatus(-1),
   fPtSub(0),
-  fPtVectSub(0)
+  fPtVectSub(0),
+  fTriggers(0)
 {
   // Constructor.
 
@@ -56,6 +63,7 @@ AliEmcalJet::AliEmcalJet(Double_t px, Double_t py, Double_t pz) :
   fAreaPhi(0),       
   fAreaEmc(-1), 
   fAxisInEmcal(0),
+  fFlavourTagging(0),
   fMaxCPt(0), 
   fMaxNPt(0), 
   fMCPt(0),
@@ -67,8 +75,11 @@ AliEmcalJet::AliEmcalJet(Double_t px, Double_t py, Double_t pz) :
   fTrackIDs(),
   fMatched(2),
   fMatchingType(0),
+  fTaggedJet(0x0),
+  fTagStatus(-1),
   fPtSub(0),
-  fPtVectSub(0)
+  fPtVectSub(0),
+  fTriggers(0)
 {    
   // Constructor.
 
@@ -97,6 +108,7 @@ AliEmcalJet::AliEmcalJet(Double_t pt, Double_t eta, Double_t phi, Double_t m) :
   fAreaPhi(0),       
   fAreaEmc(-1), 
   fAxisInEmcal(0),
+  fFlavourTagging(0),
   fMaxCPt(0), 
   fMaxNPt(0),
   fMCPt(0),
@@ -108,8 +120,11 @@ AliEmcalJet::AliEmcalJet(Double_t pt, Double_t eta, Double_t phi, Double_t m) :
   fTrackIDs(),
   fMatched(2),
   fMatchingType(0),
+  fTaggedJet(0x0),
+  fTagStatus(-1),
   fPtSub(0),
-  fPtVectSub(0)
+  fPtVectSub(0),
+  fTriggers(0)
 {
   // Constructor.
 
@@ -135,6 +150,7 @@ AliEmcalJet::AliEmcalJet(const AliEmcalJet &jet) :
   fAreaPhi(jet.fAreaPhi),       
   fAreaEmc(jet.fAreaEmc), 
   fAxisInEmcal(jet.fAxisInEmcal),
+  fFlavourTagging(jet.fFlavourTagging),
   fMaxCPt(jet.fMaxCPt), 
   fMaxNPt(jet.fMaxNPt), 
   fMCPt(jet.fMCPt),
@@ -146,8 +162,11 @@ AliEmcalJet::AliEmcalJet(const AliEmcalJet &jet) :
   fTrackIDs(jet.fTrackIDs),
   fMatched(jet.fMatched),
   fMatchingType(jet.fMatchingType),
+  fTaggedJet(jet.fTaggedJet),
+  fTagStatus(jet.fTagStatus),
   fPtSub(jet.fPtSub),
-  fPtVectSub(jet.fPtVectSub)
+  fPtVectSub(jet.fPtVectSub),
+  fTriggers(jet.fTriggers)
 {
   // Copy constructor.
 
@@ -174,6 +193,7 @@ AliEmcalJet &AliEmcalJet::operator=(const AliEmcalJet &jet)
     fAreaPhi            = jet.fAreaPhi; 
     fAreaEmc            = jet.fAreaEmc; 
     fAxisInEmcal        = jet.fAxisInEmcal; 
+    fFlavourTagging     = jet.fFlavourTagging;
     fMaxCPt             = jet.fMaxCPt; 
     fMaxNPt             = jet.fMaxNPt;
     fMCPt               = jet.fMCPt;
@@ -188,8 +208,11 @@ AliEmcalJet &AliEmcalJet::operator=(const AliEmcalJet &jet)
     fClosestJetsDist[0] = jet.fClosestJetsDist[0];  
     fClosestJetsDist[1] = jet.fClosestJetsDist[1]; 
     fMatched            = jet.fMatched;
+    fTaggedJet          = jet.fTaggedJet;
+    fTagStatus          = jet.fTagStatus;
     fPtSub              = jet.fPtSub;
     fPtVectSub          = jet.fPtVectSub;
+    fTriggers           = jet.fTriggers;
   }
 
   return *this;
@@ -222,7 +245,7 @@ void AliEmcalJet::Print(Option_t* /*option*/) const
 {
   // Print jet information.
 
-  printf("Jet pt=%.2f, eta=%.2f, phi=%.2f, area=%.2f, NEF=%.2f\n", fPt, fEta, fPhi, fArea, fNEF);
+  Printf("Jet pt=%.2f, eta=%.2f, phi=%.2f, area=%.2f, NEF=%.2f", fPt, fEta, fPhi, fArea, fNEF);
 }
 
 //__________________________________________________________________________________________________
@@ -251,6 +274,11 @@ AliVParticle* AliEmcalJet::GetLeadingTrack(TClonesArray *tracks) const
   AliVParticle* maxTrack = 0;
   for (Int_t i = 0; i < GetNumberOfTracks(); i++) {
     AliVParticle *track = TrackAt(i, tracks);
+    if (!track) {
+      AliError(Form("Unable to find jet track %d in collection %s (pos in collection %d, max %d)",
+                   i,tracks->GetName(),TrackAt(i),tracks->GetEntriesFast()));
+      continue;
+    }
     if (!maxTrack || track->Pt() > maxTrack->Pt()) 
       maxTrack = track;
   }
@@ -264,6 +292,11 @@ AliVCluster* AliEmcalJet::GetLeadingCluster(TClonesArray *clusters) const
   AliVCluster* maxCluster = 0;
   for (Int_t i = 0; i < GetNumberOfClusters(); i++) {
     AliVCluster *cluster = ClusterAt(i, clusters);
+    if (!cluster) {
+      AliError(Form("Unable to find jet cluster %d in collection %s (pos in collection %d, max %d)",
+                   i,clusters->GetName(),ClusterAt(i),clusters->GetEntriesFast()));
+      continue;
+    }
     if (!maxCluster || cluster->E() > maxCluster->E()) 
       maxCluster = cluster;
   }