]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/EMCAL/AliEmcalTriggerPatchInfo.h
add comment for setters which could be removed since already done in InitParameters...
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalTriggerPatchInfo.h
index ced92f1d37eb4910ce79dcde1551d4249de3995e..b3839bc2c3934154ff16dda16f0b44aad692e76e 100644 (file)
@@ -10,6 +10,9 @@
 #include "AliEMCALTriggerTypes.h"
 #include "AliEmcalTriggerSetupInfo.h"
 
+class AliEMCALGeometry;
+class TArrayI;
+
 class AliEmcalTriggerPatchInfo: public TObject {
  public:
   AliEmcalTriggerPatchInfo();
@@ -30,10 +33,17 @@ class AliEmcalTriggerPatchInfo: public TObject {
   Int_t    GetADCAmp() const { return fADCAmp; }
   Double_t GetADCAmpGeVRough() const { return (Double_t)fADCAmp * kEMCL1ADCtoGeV; }
   Int_t    GetTriggerBits() const { return fTriggerBits; }
+  Int_t    GetEdgeCellX() const { return fEdgeCell[0]; }
+  Int_t    GetEdgeCellY() const { return fEdgeCell[1]; }
+  void     GetCellIndices( AliEMCALGeometry *geom, TArrayI *cells );
   
-  Bool_t   IsJetLow() const { return (Bool_t)((fTriggerBits >> (kTriggerTypeEnd + kL1JetLow))&1); }
-  Bool_t   IsJetHigh() const { return (Bool_t)((fTriggerBits >> (kTriggerTypeEnd + kL1JetHigh))&1); }
-  Bool_t   IsMainTrigger() const { return (Bool_t)((fTriggerBits >> 24)&1); }
+  Bool_t   IsJetLow() const { return (Bool_t)((fTriggerBits >> (fOffSet + kL1JetLow))&(!(fTriggerBits >> 25))&1); }
+  Bool_t   IsJetHigh() const { return (Bool_t)((fTriggerBits >> (fOffSet + kL1JetHigh))&(!(fTriggerBits >> 25))&1); }
+  Bool_t   IsMainTrigger() const { return (Bool_t)((fTriggerBits >> 24)&(!(fTriggerBits >> 25))&1); }
+  Bool_t   IsJetLowSimple() const { return (Bool_t)((fTriggerBits >> (fOffSet + kL1JetLow))&(fTriggerBits >> 25)&1); }
+  Bool_t   IsJetHighSimple() const { return (Bool_t)((fTriggerBits >> (fOffSet + kL1JetHigh))&(fTriggerBits >> 25)&1); }
+  Bool_t   IsMainTriggerSimple() const { return (Bool_t)((fTriggerBits >> 24)&(fTriggerBits >> 25)&1); }
+  Bool_t   IsOfflineSimple() const { return (Bool_t)((fTriggerBits >> 25)&1); }
   
   void SetCenterGeo( TVector3 &v, Double_t e ) { SetLorentzVector( fCenterGeo, v, e ); }
   void SetCenterGeo( TLorentzVector &v ) { fCenterGeo = v; }
@@ -44,11 +54,14 @@ class AliEmcalTriggerPatchInfo: public TObject {
   void SetEdge2( TLorentzVector &v ) { fEdge2 = v; }
   void SetEdge2( TVector3 &v, Double_t e ) { SetLorentzVector( fEdge2, v, e ); }
   void SetADCAmp( Int_t a ) { fADCAmp = a; }
+  void SetEdgeCell( Int_t x, Int_t y ) { fEdgeCell[0] = x; fEdgeCell[1] = y; }
 
   void SetLorentzVector( TLorentzVector &lv, TVector3 &v, Double_t e );
 
   void SetTriggerBits( Int_t i ) { fTriggerBits = i; }
 
+  void SetOffSet(Int_t i)        { fOffSet      = i; }
+
 
  protected:
   TLorentzVector   &GetLorentzVector(const Double_t *vertex = 0)  const;
@@ -59,7 +72,9 @@ class AliEmcalTriggerPatchInfo: public TObject {
   TLorentzVector    fEdge2;                         // min eta/ max phi edge
   Int_t             fADCAmp;                        // online ADC amplitude
   Int_t             fTriggerBits;                   //trigger bit mask
+  Int_t             fEdgeCell[2];                   // cell "bottom lower" edge (min phi, max eta)
+  Int_t             fOffSet;                        // offset of bit (different in data and MC)
 
-  ClassDef(AliEmcalTriggerPatchInfo, 1) // Emcal particle class
+  ClassDef(AliEmcalTriggerPatchInfo, 4) // Emcal particle class
 };
 #endif