Added GetCurrentRun(). This is filled correctly in the remote analysis during merging.
authoragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 6 Sep 2010 06:52:45 +0000 (06:52 +0000)
committeragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 6 Sep 2010 06:52:45 +0000 (06:52 +0000)
ANALYSIS/AliPhysicsSelection.cxx
ANALYSIS/AliPhysicsSelection.h

index dc4898a..e87597f 100644 (file)
@@ -997,7 +997,17 @@ Long64_t AliPhysicsSelection::Merge(TCollection* list)
     AliPhysicsSelection* entry = dynamic_cast<AliPhysicsSelection*> (obj);
     if (entry == 0) 
       continue;
-      
+    // Update run number. If this one is not initialized (-1) take the one from 
+    // the next physics selection to be merged with. In case of 2 different run
+    // numbers issue a warning (should physics selections from different runs be 
+    // merged together) A.G.
+    Int_t currentRun = entry->GetCurrentRun();
+    // Nothing to merge with since run number was not initialized.
+    if (currentRun < 0) continue;
+    if (fCurrentRun < 0) fCurrentRun = currentRun;
+    if (fCurrentRun != currentRun)
+       AliWarning(Form("Current run %d not matching the one to be merged with %d", fCurrentRun, currentRun));
+    
     collections[0].Add(&(entry->fTriggerAnalysis));
     if (entry->fHistStatistics[0])
       collections[1].Add(entry->fHistStatistics[0]);
index 11511a9..a86f48e 100644 (file)
@@ -55,6 +55,7 @@ public:
   virtual Bool_t IsSelected(TList*) { return kFALSE; }
   virtual Bool_t IsSelected(TObject*)  {return kFALSE;}
     
+  Int_t  GetCurrentRun() const {return fCurrentRun;}
   UInt_t IsCollisionCandidate(const AliESDEvent* aEsd);
   Bool_t Initialize(Int_t runNumber);