Updates on: 1) ZN debunching cut for pPb/Pbp analysis, 2) TRD trigger checks, 3)...
authorzconesa <zconesa@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Mar 2013 15:49:55 +0000 (15:49 +0000)
committerzconesa <zconesa@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Mar 2013 15:49:55 +0000 (15:49 +0000)
ANALYSIS/AliPhysicsSelection.cxx
ANALYSIS/AliPhysicsSelection.h
ANALYSIS/AliTriggerAnalysis.cxx
ANALYSIS/AliTriggerAnalysis.h
ANALYSIS/macros/BrowseAndFillPhysicsSelectionOADB.C
OADB/AliOADBTriggerAnalysis.cxx
OADB/AliOADBTriggerAnalysis.h
OADB/COMMON/PHYSICSSELECTION/data/physicsSelection.root

index 29814ab..ae35faf 100644 (file)
@@ -528,6 +528,7 @@ UInt_t AliPhysicsSelection::IsCollisionCandidate(const AliESDEvent* aEsd)
       Bool_t znCBG   = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kZNCBG));
 
       Bool_t laserCut = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kTPCLaserWarmUp));
+      Bool_t hvDipCut = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kTPCHVdip));
 
       // Some "macros"
       Bool_t mb1 = (fastOROffline > 0 || v0A || v0C) && (!v0BG);
@@ -611,6 +612,9 @@ UInt_t AliPhysicsSelection::IsCollisionCandidate(const AliESDEvent* aEsd)
        if (laserCut)
          fHistStatistics[iHistStat]->Fill(kStatLaserCut, i);
 
+       if (hvDipCut)
+         fHistStatistics[iHistStat]->Fill(kHVdipCut, i);
+
        //if(ntrig >= 2 && !v0BG) 
        //  fHistStatistics[iHistStat]->Fill(kStatAny2Hits, i);
 
@@ -1014,8 +1018,8 @@ Bool_t AliPhysicsSelection::Initialize(Int_t runNumber)
                                           fTriggerOADB->GetZDCCutRefDeltaCorr(), 
                                           fTriggerOADB->GetZDCCutSigmaSumCorr(),
                                           fTriggerOADB->GetZDCCutSigmaDeltaCorr());
-      triggerAnalysis->SetZNCorrCutParams(fTriggerOADB->GetZDCCutZNATimeCorr(),
-                                         fTriggerOADB->GetZDCCutZNCTimeCorr());
+      triggerAnalysis->SetZNCorrCutParams(fTriggerOADB->GetZDCCutZNATimeCorrMin(),fTriggerOADB->GetZDCCutZNATimeCorrMax(),
+                                         fTriggerOADB->GetZDCCutZNCTimeCorrMin(),fTriggerOADB->GetZDCCutZNCTimeCorrMax());
       fTriggerAnalysis.Add(triggerAnalysis);
     }
 
@@ -1126,6 +1130,7 @@ TH2F * AliPhysicsSelection::BookHistStatistics(const char * tag) {
   h->GetXaxis()->SetBinLabel(kStatT0BG,                 "T0BG");
   h->GetXaxis()->SetBinLabel(kStatT0PileUp,      "T0 PileUp");
   h->GetXaxis()->SetBinLabel(kStatLaserCut,      "TPC Laser Wup Cut");
+  h->GetXaxis()->SetBinLabel(kHVdipCut,          "TPC HV dip Cut");
   h->GetXaxis()->SetBinLabel(kStatV0ABG,        "V0A BG");
   h->GetXaxis()->SetBinLabel(kStatV0CBG,        "V0C BG");
   h->GetXaxis()->SetBinLabel(kStatZDCA,          "ZDCA");
index 15aeb41..8551c50 100644 (file)
@@ -41,7 +41,7 @@ class AliPhysicsSelection : public AliAnalysisCuts
 public:
 
 public:
-  enum {kStatTriggerClass=1,kStatHWTrig,kStatV0ABG,kStatV0CBG,kStatMB1,kStatMB1Prime,kStatLaserCut,kStatFO1,kStatFO2,kStatFO2L1,kStatV0A,kStatV0C, kStatT0BB, kStatT0BG, kStatT0PileUp, kStatZDCA,kStatZDCC,kStatZDCAC,kStatZDCTime,kStatZNABG,kStatZNCBG,kStatV0,kStatV0ZN,kStatOffline,kStatBG, kStatAcceptedPileUp, kStatAccepted};
+  enum {kStatTriggerClass=1,kStatHWTrig,kStatV0ABG,kStatV0CBG,kStatMB1,kStatMB1Prime,kStatLaserCut,kHVdipCut,kStatFO1,kStatFO2,kStatFO2L1,kStatV0A,kStatV0C, kStatT0BB, kStatT0BG, kStatT0PileUp, kStatZDCA,kStatZDCC,kStatZDCAC,kStatZDCTime,kStatZNABG,kStatZNCBG,kStatV0,kStatV0ZN,kStatOffline,kStatBG, kStatAcceptedPileUp, kStatAccepted};
 
 #ifdef VERBOSE_STAT
   enum {kStatRowAllB=0, kStatRowAllAC, kStatRowAllE, kStatRowBG,kStatRowAcc,kStatRowBGFrac,kStatRowAccFrac,kStatRowErrGoodFrac,kStatRowGoodFrac,kStatRowErrGood,kStatRowGood}; // offset wrt fBGStatOffset
index 3c3d62a..fd27745 100644 (file)
@@ -44,6 +44,8 @@
 #include <AliESDFMD.h>
 #include <AliESDVertex.h>
 #include <AliESDtrackCuts.h>
+#include <AliDAQ.h>
+#include <AliESDTrdTrack.h>
 
 ClassImp(AliTriggerAnalysis)
 
@@ -63,10 +65,23 @@ AliTriggerAnalysis::AliTriggerAnalysis() :
   fZDCCutRefDeltaCorr(-2.1),
   fZDCCutSigmaSumCorr(6.0),
   fZDCCutSigmaDeltaCorr(1.2),
-  fZDCCutZNATimeCorr(2.0),
-  fZDCCutZNCTimeCorr(5.0),
+  fZDCCutZNATimeCorrMin(0.0),
+  fZDCCutZNATimeCorrMax(2.0),
+  fZDCCutZNCTimeCorrMin(0.0),
+  fZDCCutZNCTimeCorrMax(5.0),
   fASPDCvsTCut(65),
   fBSPDCvsTCut(4),
+  fTRDptHSE(3.),
+  fTRDpidHSE(144),
+  fTRDptHQU(2.),
+  fTRDpidHQU(164.),
+  fTRDptHEE(3.),
+  fTRDpidHEE(144),
+  fTRDminSectorHEE(6),
+  fTRDmaxSectorHEE(8),
+  fTRDptHJT(3.),
+  fTRDnHJT(3),
+  fUseTRDMatchCut(kFALSE),
   fDoFMD(kTRUE),
   fFMDLowCut(0.2),
   fFMDHitCut(0.5),
@@ -266,6 +281,11 @@ const char* AliTriggerAnalysis::GetTriggerName(Trigger trigger)
     case kCentral : str = "V0 Central"; break;
     case kSemiCentral : str = "V0 Semi-central"; break;
     case kEMCAL : str = "EMCAL"; break;
+    case kTRDHCO : str = "TRD cosmics"; break;
+    case kTRDHJT : str = "TRD Jet"; break;
+    case kTRDHSE : str = "TRD Single Electron"; break;
+    case kTRDHQU : str = "TRD Quarkonia"; break;
+    case kTRDHEE : str = "TRD Dielectron"; break;
     default: str = ""; break;
   }
    
@@ -547,6 +567,12 @@ Int_t AliTriggerAnalysis::EvaluateTrigger(const AliESDEvent* aEsd, Trigger trigg
         AliFatal(Form("Online trigger not available for trigger %d", triggerNoFlags));
       return IsLaserWarmUpTPCEvent(aEsd);
     }
+    case kTPCHVdip:
+    {
+      if (!offline)
+        AliFatal(Form("Online trigger not available for trigger %d", triggerNoFlags));
+      return IsHVdipTPCEvent(aEsd);
+    }
     case kCentral:
     {
       if (offline)
@@ -583,6 +609,46 @@ Int_t AliTriggerAnalysis::EvaluateTrigger(const AliESDEvent* aEsd, Trigger trigg
        decision = kTRUE;
       break;
     }
+  case kTRDHCO:
+    {
+      if(!offline) 
+       AliFatal(Form("Online trigger not available for trigger %d", triggerNoFlags));
+      if(TRDTrigger(aEsd,kTRDHCO))
+       decision = kTRUE;
+      break;
+    }
+  case kTRDHJT:
+    {
+      if(!offline) 
+       AliFatal(Form("Online trigger not available for trigger %d", triggerNoFlags));
+      if(TRDTrigger(aEsd,kTRDHJT))
+       decision = kTRUE;
+      break;
+    }
+  case kTRDHSE:
+    {
+      if(!offline) 
+       AliFatal(Form("Online trigger not available for trigger %d", triggerNoFlags));
+      if(TRDTrigger(aEsd,kTRDHSE))
+       decision = kTRUE;
+      break;
+    }
+  case kTRDHQU:
+    {
+      if(!offline) 
+       AliFatal(Form("Online trigger not available for trigger %d", triggerNoFlags));
+      if(TRDTrigger(aEsd,kTRDHQU))
+       decision = kTRUE;
+      break;
+    }
+  case kTRDHEE:
+    {
+      if(!offline) 
+       AliFatal(Form("Online trigger not available for trigger %d", triggerNoFlags));
+      if(TRDTrigger(aEsd,kTRDHEE))
+       decision = kTRUE;
+      break;
+    }
     default:
     {
       AliFatal(Form("Trigger type %d not implemented", triggerNoFlags));
@@ -623,6 +689,16 @@ Bool_t AliTriggerAnalysis::IsLaserWarmUpTPCEvent(const AliESDEvent* esd)
   return kFALSE;
 }
 
+Bool_t AliTriggerAnalysis::IsHVdipTPCEvent(const AliESDEvent* esd) {
+  //
+  // This function flags events in which the TPC chamber HV is not at its nominal value
+  //
+  if (!esd->IsDetectorOn(AliDAQ::kTPC)) return kTRUE;
+  return kFALSE;
+
+}
+
+
 Bool_t AliTriggerAnalysis::IsOfflineTriggerFired(const AliESDEvent* aEsd, Trigger trigger)
 {
   // checks if an event has been triggered "offline"
@@ -789,6 +865,36 @@ Bool_t AliTriggerAnalysis::IsOfflineTriggerFired(const AliESDEvent* aEsd, Trigge
       if (EMCALCellsTrigger(aEsd))
        decision = kTRUE;
       break;
+    }  
+  case kTRDHCO:
+    {
+      if(TRDTrigger(aEsd,kTRDHCO))
+       decision = kTRUE;
+      break;
+    }
+  case kTRDHJT:
+    {
+      if(TRDTrigger(aEsd,kTRDHJT))
+       decision = kTRUE;
+      break;
+    }
+  case kTRDHSE:
+    {
+      if(TRDTrigger(aEsd,kTRDHSE))
+       decision = kTRUE;
+      break;
+    }
+  case kTRDHQU:
+    {
+      if(TRDTrigger(aEsd,kTRDHQU))
+       decision = kTRUE;
+      break;
+    }
+  case kTRDHEE:
+    {
+      if(TRDTrigger(aEsd,kTRDHEE))
+       decision = kTRUE;
+      break;
     }
   default:
       {
@@ -1446,6 +1552,8 @@ Bool_t AliTriggerAnalysis::ZDCTimeBGTrigger(const AliESDEvent *aEsd, AliceSide s
   AliESDZDC *zdcData = aEsd->GetESDZDC();
   Bool_t zna = kFALSE;
   Bool_t znc = kFALSE;
+  Bool_t znabadhit = kFALSE;
+  Bool_t zncbadhit = kFALSE;
 
   Float_t tdcC=999, tdcCcorr=999, tdcA=999, tdcAcorr=999;
   for(Int_t i = 0; i < 4; ++i) {
@@ -1453,6 +1561,7 @@ Bool_t AliTriggerAnalysis::ZDCTimeBGTrigger(const AliESDEvent *aEsd, AliceSide s
       znc = kTRUE;
       tdcC = 0.025*(zdcData->GetZDCTDCData(10,i)-zdcData->GetZDCTDCData(14,i));
       tdcCcorr = zdcData->GetZDCTDCCorrected(10,i);
+      if((TMath::Abs(tdcCcorr)<fZDCCutZNCTimeCorrMax) && (TMath::Abs(tdcCcorr)>fZDCCutZNCTimeCorrMin)) zncbadhit = kTRUE;
     }
   }
   for(Int_t j = 0; j < 4; ++j) {
@@ -1460,6 +1569,7 @@ Bool_t AliTriggerAnalysis::ZDCTimeBGTrigger(const AliESDEvent *aEsd, AliceSide s
       zna = kTRUE;
       tdcA = 0.025*(zdcData->GetZDCTDCData(12,j)-zdcData->GetZDCTDCData(14,j));
       tdcAcorr = zdcData->GetZDCTDCCorrected(12,j);
+      if((TMath::Abs(tdcAcorr)<fZDCCutZNATimeCorrMax) && (TMath::Abs(tdcAcorr)>fZDCCutZNATimeCorrMin)) znabadhit = kTRUE;
     }
   }
 
@@ -1469,8 +1579,8 @@ Bool_t AliTriggerAnalysis::ZDCTimeBGTrigger(const AliESDEvent *aEsd, AliceSide s
     return kFALSE;
   }
 
-  Bool_t znabg = (zna && (TMath::Abs(tdcAcorr)>fZDCCutZNATimeCorr));
-  Bool_t zncbg = (znc && (TMath::Abs(tdcCcorr)>fZDCCutZNCTimeCorr));
+  Bool_t znabg = (zna && znabadhit);
+  Bool_t zncbg = (znc && zncbadhit);
 
   // Printf("Checking ZN background (time) for run %d, A = %d, time=%2.2f, C = %d, time=%2.2f",runNumber,(Int_t)zna,tdcAcorr,(Int_t)znc,tdcCcorr);
   // Printf("Checking ZN background (time) for run %d, A-BG = %d, C-BG = %d",runNumber,(Int_t)znabg,(Int_t)zncbg);
@@ -1863,3 +1973,90 @@ Bool_t AliTriggerAnalysis::EMCALCellsTrigger(const AliESDEvent *aEsd)
 
   return isFired;
 }
+
+//__________________________________________________________________________________________
+Bool_t AliTriggerAnalysis::TRDTrigger(const AliESDEvent *esd, Trigger trigger)
+{
+  // evaluate the TRD trigger conditions,
+  // so far HCO, HSE, HQU, HJT, HEE
+
+  Bool_t isFired = kFALSE;
+
+  if(trigger!=kTRDHCO && trigger!=kTRDHJT && trigger!=kTRDHSE && trigger!=kTRDHQU && trigger!=kTRDHEE) {
+    AliWarning("Beware you are erroneously trying to use this function (wrong trigger)");
+    return isFired;
+  }
+
+  if (!esd) {
+    AliErrorClass("ESD event pointer is null");
+    return isFired;
+  }
+  
+  Int_t nTrdTracks = esd->GetNumberOfTrdTracks();
+  
+  if (nTrdTracks > 0 && (trigger==kTRDHCO) ) { 
+    isFired = kTRUE;
+    return isFired;
+  }
+
+  if(trigger!=kTRDHJT) {
+    for (Int_t iTrack = 0; iTrack < nTrdTracks; ++iTrack) {
+      
+      AliESDTrdTrack *trdTrack = esd->GetTrdTrack(iTrack);   
+      if (!trdTrack) continue;
+      if (fUseTRDMatchCut && !trdTrack->GetTrackMatch()) continue;
+      
+      AliESDtrack *match = dynamic_cast<AliESDtrack*>(trdTrack->GetTrackMatch());
+      AliDebugClass(3, Form("GTU track %2i with pt = %5.2f has match: %p (pt = %5.2f)",
+                           iTrack, trdTrack->Pt(), match, match ? match->Pt() : 0));
+      
+      // for the electron triggers we only consider matched tracks
+      if(trigger==kTRDHQU)
+       if ( (TMath::Abs(trdTrack->Pt()) > fTRDptHQU) && (trdTrack->GetPID() > fTRDpidHQU) ) { 
+         isFired = kTRUE;
+         return isFired;
+       }
+
+      if(trigger==kTRDHSE)
+       if ( (TMath::Abs(trdTrack->Pt()) > fTRDptHSE) && (trdTrack->GetPID() > fTRDpidHSE) ) { 
+         isFired = kTRUE;
+         return isFired;
+       }
+      
+      if(trigger==kTRDHEE)
+       if ( (trdTrack->GetSector() >= fTRDminSectorHEE) && (trdTrack->GetSector() <= fTRDmaxSectorHEE) &&
+            (TMath::Abs(trdTrack->Pt()) > fTRDptHSE) && (trdTrack->GetPID() > fTRDpidHSE) ) { 
+         isFired = kTRUE;
+         return isFired;
+       }
+
+    }
+  } else if(trigger==kTRDHJT) {
+
+    Int_t nTracks[90] = { 0 }; // stack-wise counted number of tracks above pt threshold
+
+    for (Int_t iTrack = 0; iTrack < nTrdTracks; ++iTrack) {
+      
+      AliESDTrdTrack *trdTrack = esd->GetTrdTrack(iTrack);    
+      if (!trdTrack) continue;
+      
+      Int_t globalStack = 5*trdTrack->GetSector() + trdTrack->GetStack();
+      
+      // stack-wise counting of tracks above pt threshold for jet trigger
+      if (TMath::Abs(trdTrack->GetPt()) >= fTRDptHJT) {
+       ++nTracks[globalStack];
+      }
+    }
+
+    // check if HJT condition is fulfilled in any stack
+    for (Int_t iStack = 0; iStack < 90; iStack++) {
+      if (nTracks[iStack] >= fTRDnHJT) {
+       isFired = kTRUE;
+       break;
+      }
+    }
+
+  }
+
+  return isFired;
+}
index b46930a..4dcea23 100644 (file)
@@ -28,7 +28,8 @@ class AliTriggerAnalysis : public TObject
     enum Trigger { kAcceptAll = 1, kMB1 = 2, kMB2, kMB3, kSPDGFO, kSPDGFOBits, kV0A, kV0C, kV0OR, kV0AND, 
                   kV0ABG, kV0CBG, kZDC, kZDCA, kZDCC, kZNA, kZNC, kZNABG, kZNCBG, kFMDA, kFMDC, kFPANY, kNSD1, kMB1Prime, 
                   kSPDGFOL0, kSPDGFOL1, kZDCTDCA, kZDCTDCC, kZDCTime, kCTPV0A, kCTPV0C, kTPCLaserWarmUp, kSPDClsVsTrkBG,
-                  kCentral,kSemiCentral, kT0, kT0BG, kT0Pileup, kEMCAL,
+                  kCentral,kSemiCentral, kT0, kT0BG, kT0Pileup, kEMCAL,kTPCHVdip,
+                  kTRDHCO, kTRDHJT, kTRDHSE, kTRDHQU, kTRDHEE,
                   kStartOfFlags = 0x0100, kOfflineFlag = 0x8000, kOneParticle = 0x10000, kOneTrack = 0x20000}; // MB1, MB2, MB3 definition from ALICE-INT-2005-025
     enum AliceSide { kASide = 1, kCSide, kCentralBarrel };
     enum V0Decision { kV0Invalid = -1, kV0Empty = 0, kV0BB, kV0BG, kV0Fake };
@@ -70,6 +71,8 @@ class AliTriggerAnalysis : public TObject
     static const char* GetTriggerName(Trigger trigger);
     
     Bool_t IsLaserWarmUpTPCEvent(const AliESDEvent* esd);
+       Bool_t IsHVdipTPCEvent(const AliESDEvent* esd);
+    Bool_t TRDTrigger(const AliESDEvent* esd, Trigger trigger);
     
     void FillHistograms(const AliESDEvent* aEsd);
     void FillTriggerClasses(const AliESDEvent* aEsd);
@@ -84,8 +87,19 @@ class AliTriggerAnalysis : public TObject
     void SetDoFMD(Bool_t flag = kTRUE) {fDoFMD = flag;}
     void SetZDCCutParams(Float_t refSum, Float_t refDelta, Float_t sigmaSum, Float_t sigmaDelta) { fZDCCutRefSum = refSum; fZDCCutRefDelta = refDelta; fZDCCutSigmaSum = sigmaSum; fZDCCutSigmaDelta = sigmaDelta; }
     void SetCorrZDCCutParams(Float_t refSum, Float_t refDelta, Float_t sigmaSum, Float_t sigmaDelta) { fZDCCutRefSumCorr = refSum; fZDCCutRefDeltaCorr = refDelta; fZDCCutSigmaSumCorr = sigmaSum; fZDCCutSigmaDeltaCorr = sigmaDelta; }
-    void SetZNCorrCutParams(Float_t znaTimeCorr, Float_t zncTimeCorr)
-    { fZDCCutZNATimeCorr = znaTimeCorr; fZDCCutZNCTimeCorr = zncTimeCorr; }
+    void SetZNCorrCutParams(Float_t znaTimeCorrMin, Float_t znaTimeCorrMax, Float_t zncTimeCorrMin, Float_t zncTimeCorrMax)
+    { fZDCCutZNATimeCorrMin = znaTimeCorrMin; fZDCCutZNATimeCorrMax = znaTimeCorrMax; 
+      fZDCCutZNCTimeCorrMin = zncTimeCorrMin; fZDCCutZNCTimeCorrMax = zncTimeCorrMax; }
+
+    void SetTRDTriggerParameters(Float_t ptHSE, UChar_t pidHSE, Float_t ptHQU, UChar_t pidHQU, Float_t ptHEE, UChar_t pidHEE, UChar_t minSectorHEE, UChar_t maxSectorHEE, Float_t ptHJT, UChar_t nHJT) {
+      fTRDptHSE = ptHSE; fTRDpidHSE = pidHSE;
+      fTRDptHQU = ptHQU; fTRDpidHQU = pidHQU;
+      fTRDptHEE = ptHEE; fTRDpidHEE = pidHEE;
+      fTRDminSectorHEE = minSectorHEE; fTRDmaxSectorHEE = maxSectorHEE;
+      fTRDptHJT = ptHJT; fTRDnHJT = nHJT;
+    }
+    void SetUseTRDMatchCut(Bool_t flag){ fUseTRDMatchCut=flag; }
+    Bool_t GetUseTRDMatchCut(){ return fUseTRDMatchCut; }
 
     Int_t GetSPDGFOThreshhold() const { return fSPDGFOThreshold; }
     Float_t GetV0TimeOffset() const { return fV0TimeOffset; }
@@ -135,13 +149,26 @@ class AliTriggerAnalysis : public TObject
     Float_t fZDCCutSigmaSumCorr;    // Corrected ZDC time cut configuration
     Float_t fZDCCutSigmaDeltaCorr;  // Corrected ZDC time cut configuration
 
-    Float_t fZDCCutZNATimeCorr;     // Corrected ZNA time cut configuration
-    Float_t fZDCCutZNCTimeCorr;     // Corrected ZNA time cut configuration
+    Float_t fZDCCutZNATimeCorrMin;  // Corrected ZNA time cut configuration
+    Float_t fZDCCutZNATimeCorrMax;  // Corrected ZNA time cut configuration
+    Float_t fZDCCutZNCTimeCorrMin;  // Corrected ZNA time cut configuration
+    Float_t fZDCCutZNCTimeCorrMax;  // Corrected ZNA time cut configuration
 
     Float_t fASPDCvsTCut; // constant for the linear cut in SPD clusters vs tracklets
     Float_t fBSPDCvsTCut; // slope for the linear cut in SPD  clusters vs tracklets
 
-
+    // Variables for the TRD triggers
+    Float_t fTRDptHSE;         // pt threshold for HSE trigger
+    UChar_t fTRDpidHSE;                // PID threshold for HSE trigger
+    Float_t fTRDptHQU;         // pt threshold for HQU trigger
+    UChar_t fTRDpidHQU;                // PID threshold for HQU trigger
+    Float_t fTRDptHEE;         // pt threshold for HEE trigger
+    UChar_t fTRDpidHEE;                // PID threshold for HEE trigger
+    UChar_t fTRDminSectorHEE;  // min sector for HEE trigger
+    UChar_t fTRDmaxSectorHEE;  // max sector for HEE trigger
+    Float_t fTRDptHJT;         // pt threshold for HJT trigger
+    UChar_t fTRDnHJT;          // no of track threshold for HJT trigger
+    Bool_t  fUseTRDMatchCut;    // flag to decide whether to use or not the matching cut
 
     Bool_t  fDoFMD;                 // If false, skips the FMD (physics selection runs much faster)
     Float_t fFMDLowCut;                    // 
@@ -168,7 +195,7 @@ class AliTriggerAnalysis : public TObject
 
     Bool_t fTPCOnly;         // flag to set whether TPC only tracks have to be used for the offline trigger 
 
-    ClassDef(AliTriggerAnalysis, 19)
+    ClassDef(AliTriggerAnalysis, 20)
     
   private:
     AliTriggerAnalysis(const AliTriggerAnalysis&);
index 8ef6f57..489e7e5 100644 (file)
@@ -1287,7 +1287,7 @@ void BrowseAndFillPhysicsSelectionOADB(Bool_t fill = kFALSE) {
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kMB | AliVEvent::kFastOnly,"+CINT1-E-NOPF-FASTNOTRD -CINT1-E-NOPF-ALLNOTRD","E", triggerCount);  
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kMB | AliVEvent::kFastOnly,"+CINT1-ACE-NOPF-FASTNOTRD -CINT1-ACE-NOPF-ALLNOTRD","ACE", triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"SPDGFO >= 1 || V0A || V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(SPDGFO >= 1 || V0A || V0C) && !V0ABG && !V0CBG  && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(SPDGFO >= 1 || V0A || V0C) && !V0ABG && !V0CBG  && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kINT7,"+CINT7-B-NOPF-ALLNOTRD","B", triggerCount);
@@ -1301,13 +1301,12 @@ void BrowseAndFillPhysicsSelectionOADB(Bool_t fill = kFALSE) {
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kINT7 | AliVEvent::kFastOnly,"+CINT7-E-NOPF-FASTNOTRD -CINT7-E-NOPF-ALLNOTRD","E", triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kINT7 | AliVEvent::kFastOnly,"+CINT7-ACE-NOPF-FASTNOTRD -CINT7-ACE-NOPF-ALLNOTRD","ACE", triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  //  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kCentral,"+CVLN-B-NOPF-ALLNOTRD","B", triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kEMC7,"+CEMC7-B-NOPF-[ALL|CENT]NOTRD", "B", triggerCount);
@@ -1315,7 +1314,7 @@ void BrowseAndFillPhysicsSelectionOADB(Bool_t fill = kFALSE) {
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kEMC7 | AliVEvent::kFastOnly,"+CEMC7-B-NOPF-FASTNOTRD -CEMC7-B-NOPF-[ALL|CENT]NOTRD", "B", triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kEMC7 | AliVEvent::kFastOnly,"+CEMC7-ACE-NOPF-FASTNOTRD -CEMC7-ACE-NOPF-[ALL|CENT]NOTRD", "ACE", triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;  
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kEMCEGA,"+CEMC7EG1-B-NOPF-[ALL|CENT]NOTRD,CEMC7EG2-B-NOPF-[ALL|CENT]NOTRD","B",  triggerCount);
@@ -1323,7 +1322,7 @@ void BrowseAndFillPhysicsSelectionOADB(Bool_t fill = kFALSE) {
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kEMCEGA | AliVEvent::kFastOnly,"+CEMC7EG1-B-NOPF-FASTNOTRD,CEMC7EG2-B-NOPF-FASTNOTRD -CEMC7EG1-B-NOPF-[ALL|CENT]NOTRD,CEMC7EG2-B-NOPF-[ALL|CENT]NOTRD","B",  triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kEMCEGA | AliVEvent::kFastOnly,"+CEMC7EG1-ACE-NOPF-FASTNOTRD,CEMC7EG2-ACE-NOPF-FASTNOTRD -CEMC7EG1-ACE-NOPF-[ALL|CENT]NOTRD,CEMC7EG2-ACE-NOPF-[ALL|CENT]NOTRD","ACE",triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;  
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kEMCEJE,"+CEMC7EJ1-B-NOPF-[ALL|CENT]NOTRD,CEMC7EJ2-B-NOPF-[ALL|CENT]NOTRD","B",  triggerCount);
@@ -1331,43 +1330,43 @@ void BrowseAndFillPhysicsSelectionOADB(Bool_t fill = kFALSE) {
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kEMCEJE | AliVEvent::kFastOnly,"+CEMC7EJ1-B-NOPF-FASTNOTRD,CEMC7EJ2-B-NOPF-FASTNOTRD -CEMC7EJ1-B-NOPF-[ALL|CENT]NOTRD,CEMC7EJ2-B-NOPF-[ALL|CENT]NOTRD","B",  triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kEMCEJE | AliVEvent::kFastOnly,"+CEMC7EJ1-ACE-NOPF-FASTNOTRD,CEMC7EJ2-ACE-NOPF-FASTNOTRD -CEMC7EJ1-ACE-NOPF-[ALL|CENT]NOTRD,CEMC7EJ2-ACE-NOPF-[ALL|CENT]NOTRD","ACE",triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;  
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kPHI7,"+CPHI7-B-NOPF-[ALL|CENT]NOTRD","B",triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kPHI7,"+CPHI7-ACE-NOPF-[ALL|CENT]NOTRD","ACE",triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG  && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !TPCLaserWarmUp");
 
   triggerCount++;  
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kMUS7,"+CMSL7-B-NOPF-MUON,CMSL7-B-NOPF-ALLNOTRD","B",       triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kMUS7,"+CMSL7-ACE-NOPF-MUON,CMSL7-ACE-NOPF-ALLNOTRD","ACE", triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG  && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;  
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kMUSH7,"+CMSH7-B-NOPF-MUON","B",       triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kMUSH7,"+CMSH7-ACE-NOPF-MUON","ACE", triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG  && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG  && !TPCLaserWarmUp");
 
   triggerCount++;    
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kMUL7,"+CMLL7-B-NOPF-MUON","B",    triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kMUL7,"+CMLL7-ACE-NOPF-MUON","ACE",triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG  && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;    
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kMUU7,"+CMUL7-B-NOPF-MUON","B",    triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kMUU7,"+CMUL7-ACE-NOPF-MUON","ACE",triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG  && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kZED,"+C1ZED-B-NOPF-[ALL|CENT]NOTRD", "B",   triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kZED,"+C1ZED-ACE-NOPF-[ALL|CENT]NOTRD","ACE",triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"1");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(ZDCTDCA || ZDCTDCC) && !V0ABG && !V0CBG && !ZNABG && !ZNCBG && !TPCLaserWarmUp && !SPDClsVsTrkBG");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(ZDCTDCA || ZDCTDCC) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp && !SPDClsVsTrkBG");
 
   triggerCount++;
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kTRD,"+CINT7WUHJT-B-NOPF-[ALL|CENT]", "B",   triggerCount);
@@ -1375,7 +1374,7 @@ void BrowseAndFillPhysicsSelectionOADB(Bool_t fill = kFALSE) {
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHJT-B-NOPF-FAST -CINT7WUHJT-B-NOPF-[ALL|CENT]", "B",   triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHJT-ACE-NOPF-FAST -CINT7WUHJT-ACE-NOPF-[ALL|CENT]","ACE",triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG  && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kTRD,"+CINT7WUHSE-B-NOPF-[ALL|CENT]", "B",   triggerCount);
@@ -1383,7 +1382,7 @@ void BrowseAndFillPhysicsSelectionOADB(Bool_t fill = kFALSE) {
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHSE-B-NOPF-FAST -CINT7WUHSE-B-NOPF-[ALL|CENT]", "B",   triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHSE-ACE-NOPF-FAST -CINT7WUHSE-ACE-NOPF-[ALL|CENT]","ACE",triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG  && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kTRD,"+CINT7WUHQU-B-NOPF-[ALL|CENT]", "B",   triggerCount);
@@ -1391,21 +1390,156 @@ void BrowseAndFillPhysicsSelectionOADB(Bool_t fill = kFALSE) {
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHQU-B-NOPF-FAST -CINT7WUHQU-B-NOPF-[ALL|CENT]", "B",   triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHQU-ACE-NOPF-FAST -CINT7WUHQU-ACE-NOPF-[ALL|CENT]","ACE",triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG  && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kTRD,"+CEMC7WUHEE-B-NOPF-CENT", "B",   triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kTRD,"+CEMC7WUHEE-ACE-NOPF-CENT","ACE",triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !ZNCBG && !TPCLaserWarmUp");
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp");
 
   triggerCount++;
   oadbLHC13b->AddCollisionTriggerClass   ( AliVEvent::kHighMult,"+CSHM7-B-NOPF-ALLNOTRD","B",   triggerCount);
   oadbLHC13b->AddBGTriggerClass          ( AliVEvent::kHighMult,"+CSHM7-ACE-NOPF-ALLNOTRD","ACE",   triggerCount);
   oadbLHC13b->SetHardwareTrigger         ( triggerCount,"SPDGFOL1 >= 10 && (V0A && V0C)");                                         //<------------ FIX ME : SPDFO threshold
-  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(SPDGFOL1 >= 10 && V0A && V0C) && !V0ABG && !V0CBG  && !ZNABG && !ZNCBG && !TPCLaserWarmUp"); //<------------ FIX ME : SPDFO threshold
+  oadbLHC13b->SetOfflineTrigger          ( triggerCount,"(SPDGFOL1 >= 10 && V0A && V0C) && !V0ABG && !V0CBG && !ZNABG && !TPCLaserWarmUp"); //<------------ FIX ME : SPDFO threshold
 
-  oadbContPS->AppendObject(oadbLHC13b, 194713, 197411);
+  oadbContPS->AppendObject(oadbLHC13b, 194713, 196345);
+
+  // 
+  // Changing the ZN background rejection side for Pbp collisions (LHC13f)
+  //
+  AliOADBPhysicsSelection * oadbLHC13f = new AliOADBPhysicsSelection("oadbLHC13f");
+
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kMB,"+CINT1-B-NOPF-ALLNOTRD","B", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMB,"+CINT1-A-NOPF-ALLNOTRD","A", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMB,"+CINT1-C-NOPF-ALLNOTRD","C", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMB,"+CINT1-E-NOPF-ALLNOTRD","E", triggerCount);  
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMB,"+CINT1-ACE-NOPF-ALLNOTRD","ACE", triggerCount);  
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kMB | AliVEvent::kFastOnly,"+CINT1-B-NOPF-FASTNOTRD -CINT1-B-NOPF-ALLNOTRD","B", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMB | AliVEvent::kFastOnly,"+CINT1-A-NOPF-FASTNOTRD -CINT1-A-NOPF-ALLNOTRD","A", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMB | AliVEvent::kFastOnly,"+CINT1-C-NOPF-FASTNOTRD -CINT1-C-NOPF-ALLNOTRD","C", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMB | AliVEvent::kFastOnly,"+CINT1-E-NOPF-FASTNOTRD -CINT1-E-NOPF-ALLNOTRD","E", triggerCount);  
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMB | AliVEvent::kFastOnly,"+CINT1-ACE-NOPF-FASTNOTRD -CINT1-ACE-NOPF-ALLNOTRD","ACE", triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"SPDGFO >= 1 || V0A || V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(SPDGFO >= 1 || V0A || V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kINT7,"+CINT7-B-NOPF-ALLNOTRD","B", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kINT7,"+CINT7-A-NOPF-ALLNOTRD","A", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kINT7,"+CINT7-C-NOPF-ALLNOTRD","C", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kINT7,"+CINT7-E-NOPF-ALLNOTRD","E", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kINT7,"+CINT7-ACE-NOPF-ALLNOTRD","ACE", triggerCount);
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kINT7 | AliVEvent::kFastOnly,"+CINT7-B-NOPF-FASTNOTRD -CINT7-B-NOPF-ALLNOTRD","B", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kINT7 | AliVEvent::kFastOnly,"+CINT7-A-NOPF-FASTNOTRD -CINT7-A-NOPF-ALLNOTRD","A", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kINT7 | AliVEvent::kFastOnly,"+CINT7-C-NOPF-FASTNOTRD -CINT7-C-NOPF-ALLNOTRD","C", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kINT7 | AliVEvent::kFastOnly,"+CINT7-E-NOPF-FASTNOTRD -CINT7-E-NOPF-ALLNOTRD","E", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kINT7 | AliVEvent::kFastOnly,"+CINT7-ACE-NOPF-FASTNOTRD -CINT7-ACE-NOPF-ALLNOTRD","ACE", triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kCentral,"+CVLN-B-NOPF-ALLNOTRD","B", triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kEMC7,"+CEMC7-B-NOPF-[ALL|CENT]NOTRD", "B", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kEMC7,"+CEMC7-ACE-NOPF-[ALL|CENT]NOTRD", "ACE", triggerCount);
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kEMC7 | AliVEvent::kFastOnly,"+CEMC7-B-NOPF-FASTNOTRD -CEMC7-B-NOPF-[ALL|CENT]NOTRD", "B", triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kEMC7 | AliVEvent::kFastOnly,"+CEMC7-ACE-NOPF-FASTNOTRD -CEMC7-ACE-NOPF-[ALL|CENT]NOTRD", "ACE", triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;  
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kEMCEGA,"+CEMC7EG1-B-NOPF-[ALL|CENT]NOTRD,CEMC7EG2-B-NOPF-[ALL|CENT]NOTRD","B",  triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kEMCEGA,"+CEMC7EG1-ACE-NOPF-[ALL|CENT]NOTRD,CEMC7EG2-ACE-NOPF-[ALL|CENT]CENTNOTRD","ACE",triggerCount);
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kEMCEGA | AliVEvent::kFastOnly,"+CEMC7EG1-B-NOPF-FASTNOTRD,CEMC7EG2-B-NOPF-FASTNOTRD -CEMC7EG1-B-NOPF-[ALL|CENT]NOTRD,CEMC7EG2-B-NOPF-[ALL|CENT]NOTRD","B",  triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kEMCEGA | AliVEvent::kFastOnly,"+CEMC7EG1-ACE-NOPF-FASTNOTRD,CEMC7EG2-ACE-NOPF-FASTNOTRD -CEMC7EG1-ACE-NOPF-[ALL|CENT]NOTRD,CEMC7EG2-ACE-NOPF-[ALL|CENT]NOTRD","ACE",triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;  
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kEMCEJE,"+CEMC7EJ1-B-NOPF-[ALL|CENT]NOTRD,CEMC7EJ2-B-NOPF-[ALL|CENT]NOTRD","B",  triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kEMCEJE,"+CEMC7EJ1-ACE-NOPF-[ALL|CENT]NOTRD,CEMC7EJ2-ACE-NOPF-[ALL|CENT]NOTRD","ACE",triggerCount);
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kEMCEJE | AliVEvent::kFastOnly,"+CEMC7EJ1-B-NOPF-FASTNOTRD,CEMC7EJ2-B-NOPF-FASTNOTRD -CEMC7EJ1-B-NOPF-[ALL|CENT]NOTRD,CEMC7EJ2-B-NOPF-[ALL|CENT]NOTRD","B",  triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kEMCEJE | AliVEvent::kFastOnly,"+CEMC7EJ1-ACE-NOPF-FASTNOTRD,CEMC7EJ2-ACE-NOPF-FASTNOTRD -CEMC7EJ1-ACE-NOPF-[ALL|CENT]NOTRD,CEMC7EJ2-ACE-NOPF-[ALL|CENT]NOTRD","ACE",triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;  
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kPHI7,"+CPHI7-B-NOPF-[ALL|CENT]NOTRD","B",triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kPHI7,"+CPHI7-ACE-NOPF-[ALL|CENT]NOTRD","ACE",triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !TPCLaserWarmUp");
+
+  triggerCount++;  
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kMUS7,"+CMSL7-B-NOPF-MUON,CMSL7-B-NOPF-ALLNOTRD","B",       triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMUS7,"+CMSL7-ACE-NOPF-MUON,CMSL7-ACE-NOPF-ALLNOTRD","ACE", triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;  
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kMUSH7,"+CMSH7-B-NOPF-MUON","B",       triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMUSH7,"+CMSH7-ACE-NOPF-MUON","ACE", triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;    
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kMUL7,"+CMLL7-B-NOPF-MUON","B",    triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMUL7,"+CMLL7-ACE-NOPF-MUON","ACE",triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;    
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kMUU7,"+CMUL7-B-NOPF-MUON","B",    triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kMUU7,"+CMUL7-ACE-NOPF-MUON","ACE",triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kZED,"+C1ZED-B-NOPF-[ALL|CENT]NOTRD", "B",   triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kZED,"+C1ZED-ACE-NOPF-[ALL|CENT]NOTRD","ACE",triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"1");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(ZDCTDCA || ZDCTDCC) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp && !SPDClsVsTrkBG");
+
+  triggerCount++;
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kTRD,"+CINT7WUHJT-B-NOPF-[ALL|CENT]", "B",   triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kTRD,"+CINT7WUHJT-ACE-NOPF-[ALL|CENT]","ACE",triggerCount);
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHJT-B-NOPF-FAST -CINT7WUHJT-B-NOPF-[ALL|CENT]", "B",   triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHJT-ACE-NOPF-FAST -CINT7WUHJT-ACE-NOPF-[ALL|CENT]","ACE",triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kTRD,"+CINT7WUHSE-B-NOPF-[ALL|CENT]", "B",   triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kTRD,"+CINT7WUHSE-ACE-NOPF-[ALL|CENT]","ACE",triggerCount);
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHSE-B-NOPF-FAST -CINT7WUHSE-B-NOPF-[ALL|CENT]", "B",   triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHSE-ACE-NOPF-FAST -CINT7WUHSE-ACE-NOPF-[ALL|CENT]","ACE",triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kTRD,"+CINT7WUHQU-B-NOPF-[ALL|CENT]", "B",   triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kTRD,"+CINT7WUHQU-ACE-NOPF-[ALL|CENT]","ACE",triggerCount);
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHQU-B-NOPF-FAST -CINT7WUHQU-B-NOPF-[ALL|CENT]", "B",   triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kTRD | AliVEvent::kFastOnly,"+CINT7WUHQU-ACE-NOPF-FAST -CINT7WUHQU-ACE-NOPF-[ALL|CENT]","ACE",triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kTRD,"+CEMC7WUHEE-B-NOPF-CENT", "B",   triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kTRD,"+CEMC7WUHEE-ACE-NOPF-CENT","ACE",triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"V0A && V0C");
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp");
+
+  triggerCount++;
+  oadbLHC13f->AddCollisionTriggerClass   ( AliVEvent::kHighMult,"+CSHM7-B-NOPF-ALLNOTRD","B",   triggerCount);
+  oadbLHC13f->AddBGTriggerClass          ( AliVEvent::kHighMult,"+CSHM7-ACE-NOPF-ALLNOTRD","ACE",   triggerCount);
+  oadbLHC13f->SetHardwareTrigger         ( triggerCount,"SPDGFOL1 >= 10 && (V0A && V0C)");                                         //<------------ FIX ME : SPDFO threshold
+  oadbLHC13f->SetOfflineTrigger          ( triggerCount,"(SPDGFOL1 >= 10 && V0A && V0C) && !V0ABG && !V0CBG && !ZNCBG && !TPCLaserWarmUp"); //<------------ FIX ME : SPDFO threshold
+
+  oadbContPS->AppendObject(oadbLHC13f, 196346, 197411);
 
 
   //
@@ -1523,11 +1657,11 @@ void BrowseAndFillPhysicsSelectionOADB(Bool_t fill = kFALSE) {
   oadbContTriggerAnalysis->AppendObject(oadbTrigAnalysisZDC6, 138924, 139517);  
 
   AliOADBTriggerAnalysis * oadbTrigAnalysisZDC7 = new AliOADBTriggerAnalysis("ZDCCut7");
-  oadbTrigAnalysisZDC7->SetZNCorrParameters(2.0,5.0);
+  oadbTrigAnalysisZDC7->SetZNCorrParameters(2.0,100,5.,100);
   oadbContTriggerAnalysis->AppendObject(oadbTrigAnalysisZDC7, 194713, 196345);
 
   AliOADBTriggerAnalysis * oadbTrigAnalysisZDC8 = new AliOADBTriggerAnalysis("ZDCCut8");
-  oadbTrigAnalysisZDC8->SetZNCorrParameters(5.0,2.0);
+  oadbTrigAnalysisZDC8->SetZNCorrParameters(5.0,100,2.0,100);
   oadbContTriggerAnalysis->AppendObject(oadbTrigAnalysisZDC8, 196346, 197411);
 
   oadbTrigAnalysisZDC1->Print();
index 4a53a81..bca6b2d 100644 (file)
@@ -18,20 +18,23 @@ AliOADBTriggerAnalysis::AliOADBTriggerAnalysis() : TNamed("AliOADBTriggerAnalysi
   fZDCCutRefDeltaCorr(-2.1),
   fZDCCutSigmaSumCorr(6.0),
   fZDCCutSigmaDeltaCorr(1.2),
-  fZDCCutZNATimeCorr(2.0),
-  fZDCCutZNCTimeCorr(5.0)
+  fZDCCutZNATimeCorrMin(2.0),
+  fZDCCutZNATimeCorrMax(100.0),
+  fZDCCutZNCTimeCorrMin(5.0),
+  fZDCCutZNCTimeCorrMax(100.0)
 {
   // default ctor
-
-  
 }
+
 AliOADBTriggerAnalysis::AliOADBTriggerAnalysis(char* name) : TNamed(name, "OADB object storing trigger analysis settings"), 
   fZDCCutRefSumCorr(-65.5),
   fZDCCutRefDeltaCorr(-2.1),
   fZDCCutSigmaSumCorr(6.0),
   fZDCCutSigmaDeltaCorr(1.2),
-  fZDCCutZNATimeCorr(2.0),
-  fZDCCutZNCTimeCorr(5.0)
+  fZDCCutZNATimeCorrMin(2.0),
+  fZDCCutZNATimeCorrMax(100.0),
+  fZDCCutZNCTimeCorrMin(5.0),
+  fZDCCutZNCTimeCorrMax(100.0)
 {
   // ctor
   // Init();
@@ -60,22 +63,28 @@ void AliOADBTriggerAnalysis::Browse(TBrowser *b)
   static TObjString * strZDCCutRefDeltaCorr   =0;  
   static TObjString * strZDCCutSigmaSumCorr   =0;  
   static TObjString * strZDCCutSigmaDeltaCorr =0;
-  static TObjString * strZDCCutZNATimeCorr    =0;
-  static TObjString * strZDCCutZNCTimeCorr    =0;
+  static TObjString * strZDCCutZNATimeCorrMin =0;
+  static TObjString * strZDCCutZNATimeCorrMax =0;
+  static TObjString * strZDCCutZNCTimeCorrMin =0;
+  static TObjString * strZDCCutZNCTimeCorrMax =0;
 
   if(strZDCCutRefSumCorr     ) delete strZDCCutRefSumCorr     ;
   if(strZDCCutRefDeltaCorr   ) delete strZDCCutRefDeltaCorr   ;
   if(strZDCCutSigmaSumCorr   ) delete strZDCCutSigmaSumCorr   ;
   if(strZDCCutSigmaDeltaCorr ) delete strZDCCutSigmaDeltaCorr ;
-  if(strZDCCutZNATimeCorr    ) delete strZDCCutZNATimeCorr    ;
-  if(strZDCCutZNCTimeCorr    ) delete strZDCCutZNCTimeCorr    ;
+  if(strZDCCutZNATimeCorrMin ) delete strZDCCutZNATimeCorrMin ;
+  if(strZDCCutZNATimeCorrMax ) delete strZDCCutZNATimeCorrMax ;
+  if(strZDCCutZNCTimeCorrMin ) delete strZDCCutZNCTimeCorrMin ;
+  if(strZDCCutZNCTimeCorrMax ) delete strZDCCutZNCTimeCorrMax ;
   
   strZDCCutRefSumCorr     = new TObjString(Form("ZDCCutRefSumCorr     %f", fZDCCutRefSumCorr    )); 
   strZDCCutRefDeltaCorr   = new TObjString(Form("ZDCCutRefDeltaCorr   %f", fZDCCutRefDeltaCorr  )); 
   strZDCCutSigmaSumCorr   = new TObjString(Form("ZDCCutSigmaSumCorr   %f", fZDCCutSigmaSumCorr  )); 
   strZDCCutSigmaDeltaCorr = new TObjString(Form("ZDCCutSigmaDeltaCorr %f", fZDCCutSigmaDeltaCorr)); 
-  strZDCCutZNATimeCorr    = new TObjString(Form("ZDCCutZNATimeCorr    %f", fZDCCutZNATimeCorr   ));
-  strZDCCutZNCTimeCorr    = new TObjString(Form("ZDCCutZNCTimeCorr    %f", fZDCCutZNCTimeCorr   ));
+  strZDCCutZNATimeCorrMin = new TObjString(Form("ZDCCutZNATimeCorrMin %f", fZDCCutZNATimeCorrMin));
+  strZDCCutZNATimeCorrMax = new TObjString(Form("ZDCCutZNATimeCorrMax %f", fZDCCutZNATimeCorrMax));
+  strZDCCutZNCTimeCorrMin = new TObjString(Form("ZDCCutZNCTimeCorrMin %f", fZDCCutZNCTimeCorrMin));
+  strZDCCutZNCTimeCorrMax = new TObjString(Form("ZDCCutZNCTimeCorrMax %f", fZDCCutZNCTimeCorrMax));
 
   if (b) {
     // Creates a folder for each beam type containing the list of corresponding bx ids
@@ -83,8 +92,10 @@ void AliOADBTriggerAnalysis::Browse(TBrowser *b)
     b->Add(strZDCCutRefDeltaCorr  );
     b->Add(strZDCCutSigmaSumCorr  );
     b->Add(strZDCCutSigmaDeltaCorr);
-    b->Add(strZDCCutZNATimeCorr   );
-    b->Add(strZDCCutZNCTimeCorr   );
+    b->Add(strZDCCutZNATimeCorrMin);
+    b->Add(strZDCCutZNATimeCorrMax);
+    b->Add(strZDCCutZNCTimeCorrMin);
+    b->Add(strZDCCutZNCTimeCorrMax);
   }     
   else
     TObject::Browse(b);
@@ -98,8 +109,10 @@ void AliOADBTriggerAnalysis::Print(Option_t* option) const {
   cout << " - ZDCCutRefDeltaCorr   "<< fZDCCutRefDeltaCorr   << endl;
   cout << " - ZDCCutSigmaSumCorr   "<< fZDCCutSigmaSumCorr   << endl;
   cout << " - ZDCCutSigmaDeltaCorr "<< fZDCCutSigmaDeltaCorr << endl;
-  cout << " - ZDCCutZNATimeCorr    "<< fZDCCutZNATimeCorr    << endl;
-  cout << " - ZDCCutZNCTimeCorr    "<< fZDCCutZNCTimeCorr    << endl;
+  cout << " - ZDCCutZNATimeCorrMin "<< fZDCCutZNATimeCorrMin << endl;
+  cout << " - ZDCCutZNATimeCorrMax "<< fZDCCutZNATimeCorrMax << endl;
+  cout << " - ZDCCutZNCTimeCorrMin "<< fZDCCutZNCTimeCorrMin << endl;
+  cout << " - ZDCCutZNCTimeCorrMax "<< fZDCCutZNCTimeCorrMax << endl;
   cout << option << endl;
 
 }
index d2a6494..116cdde 100644 (file)
@@ -28,13 +28,16 @@ class AliOADBTriggerAnalysis : public TNamed {
   Float_t GetZDCCutRefDeltaCorr()   { return fZDCCutRefDeltaCorr;   }   
   Float_t GetZDCCutSigmaSumCorr()   { return fZDCCutSigmaSumCorr;   }   
   Float_t GetZDCCutSigmaDeltaCorr() { return fZDCCutSigmaDeltaCorr; }  
-  Float_t GetZDCCutZNATimeCorr()    { return fZDCCutZNATimeCorr;    }
-  Float_t GetZDCCutZNCTimeCorr()    { return fZDCCutZNCTimeCorr;    }
+  Float_t GetZDCCutZNATimeCorrMax() { return fZDCCutZNATimeCorrMax; }
+  Float_t GetZDCCutZNATimeCorrMin() { return fZDCCutZNATimeCorrMin; }
+  Float_t GetZDCCutZNCTimeCorrMax() { return fZDCCutZNCTimeCorrMax; }
+  Float_t GetZDCCutZNCTimeCorrMin() { return fZDCCutZNCTimeCorrMin; }
   // Setters
   void SetZDCCorrParameters(Float_t sumCorr, Float_t deltaCorr, Float_t sigmaSumCorr, Float_t sigmaDeltaCorr) 
   { fZDCCutRefSumCorr = sumCorr; fZDCCutRefDeltaCorr = deltaCorr; fZDCCutSigmaSumCorr = sigmaSumCorr; fZDCCutSigmaDeltaCorr = sigmaDeltaCorr;}
-  void SetZNCorrParameters(Float_t znaTimeCorr, Float_t zncTimeCorr)
-  { fZDCCutZNATimeCorr = znaTimeCorr; fZDCCutZNCTimeCorr = zncTimeCorr; }
+  void SetZNCorrParameters(Float_t znaTimeCorrMin, Float_t znaTimeCorrMax, Float_t zncTimeCorrMin, Float_t zncTimeCorrMax)
+  { fZDCCutZNATimeCorrMin = znaTimeCorrMin; fZDCCutZNATimeCorrMax = znaTimeCorrMax; 
+    fZDCCutZNCTimeCorrMin = zncTimeCorrMin; fZDCCutZNCTimeCorrMax = zncTimeCorrMax;}
   // Browse
   virtual Bool_t       IsFolder() const { return kTRUE; }
   void Browse(TBrowser *b);
@@ -47,14 +50,16 @@ class AliOADBTriggerAnalysis : public TNamed {
   Float_t fZDCCutRefDeltaCorr;    // Corrected ZDC time cut configuration
   Float_t fZDCCutSigmaSumCorr;    // Corrected ZDC time cut configuration
   Float_t fZDCCutSigmaDeltaCorr;  // Corrected ZDC time cut configuration  
-  Float_t fZDCCutZNATimeCorr;     // Corrected ZNA time cut configuration
-  Float_t fZDCCutZNCTimeCorr;     // Corrected ZNC time cut configuration
+  Float_t fZDCCutZNATimeCorrMin;  // Corrected ZNA minimum time cut configuration
+  Float_t fZDCCutZNATimeCorrMax;  // Corrected ZNA maximum time cut configuration
+  Float_t fZDCCutZNCTimeCorrMin;   // Corrected ZNC minimum time cut configuration
+  Float_t fZDCCutZNCTimeCorrMax;   // Corrected ZNC maximum time cut configuration
 
   AliOADBTriggerAnalysis(const AliOADBTriggerAnalysis& cont);  // not implemented
   AliOADBTriggerAnalysis& operator=(const AliOADBTriggerAnalysis& cont); // not implemented
 
 
-  ClassDef(AliOADBTriggerAnalysis, 2);
+  ClassDef(AliOADBTriggerAnalysis, 3);
 };
 
 #endif
index 605eca2..17dd35c 100644 (file)
Binary files a/OADB/COMMON/PHYSICSSELECTION/data/physicsSelection.root and b/OADB/COMMON/PHYSICSSELECTION/data/physicsSelection.root differ