Add output of VZERO reco directly to multCorr
authorjthaeder <jthaeder@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 6 Nov 2010 18:33:27 +0000 (18:33 +0000)
committerjthaeder <jthaeder@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 6 Nov 2010 18:33:27 +0000 (18:33 +0000)
HLT/global/physics/AliHLTMultiplicityCorrelations.cxx
HLT/global/physics/AliHLTMultiplicityCorrelations.h
HLT/global/physics/AliHLTMultiplicityCorrelationsComponent.cxx

index 4c534ba89fdd4502f1708949136cf119a4b7570c..4be147ae4fc528c5ddfd787635a7104ddc173e5d 100644 (file)
@@ -113,7 +113,8 @@ Int_t AliHLTMultiplicityCorrelations::Initialize() {
  */
 
 //##################################################################################
-Int_t AliHLTMultiplicityCorrelations::ProcessEvent( AliESDEvent *esd, Int_t nSpdClusters) {
+Int_t AliHLTMultiplicityCorrelations::ProcessEvent( AliESDEvent *esd, AliESDVZERO* esdVZERO, 
+                                                   Int_t nSpdClusters) {
   // see header file for class documentation  
 
   Int_t iResult = 0;
@@ -122,6 +123,9 @@ Int_t AliHLTMultiplicityCorrelations::ProcessEvent( AliESDEvent *esd, Int_t nSpd
     HLTWarning("No ESD event.");
     return -1;
   }
+  
+  if ( esdVZERO )
+    fESDVZERO = esdVZERO;
 
   // -- TPC .. To be done before the others
   if (fESDEvent->GetNumberOfTracks() > 0)
index 07f2e9b1dadaa789cc6f1fb47d68bae0b6e1072a..d737fa29d4bc56c5d1c162b78359cfb8e5cfd3ff 100644 (file)
@@ -131,10 +131,10 @@ public:
    */
   
   /** Process current event */
-  Int_t ProcessEvent( AliESDEvent *esd, Int_t nSpdClusters );
+  Int_t ProcessEvent( AliESDEvent *esd, AliESDVZERO* esdVZERO, Int_t nSpdClusters );
 
   Int_t ProcessEvent( AliESDEvent *esd ) {
-    return ProcessEvent(esd, 0);
+    return ProcessEvent(esd, NULL, 0);
   }
 
 
index 37d2155ae982db779ee5523a341df5ba2069166f..77c6b3c46130796987bc943591382f7c4ab5a61e 100644 (file)
@@ -27,7 +27,7 @@ using namespace std;
 
 #include "TMap.h"
 #include "TObjString.h"
-
+#include "AliESDVZERO.h"
 #include "AliESDtrackCuts.h"
 #include "AliHLTMultiplicityCorrelations.h"
 
@@ -85,6 +85,7 @@ void AliHLTMultiplicityCorrelationsComponent::GetInputDataTypes( vector<AliHLTCo
   // see header file for class documentation
   list.push_back(kAliHLTDataTypeESDObject|kAliHLTDataOriginAny);
   list.push_back(kAliHLTDataTypeClusters|kAliHLTDataOriginITSSPD);
+  list.push_back(kAliHLTDataTypeESDContent|kAliHLTDataOriginVZERO);
 }
 
 // #################################################################################
@@ -515,6 +516,18 @@ Int_t AliHLTMultiplicityCorrelationsComponent::DoEvent(const AliHLTComponentEven
     esdEvent->GetStdContent();
   }
 
+  // -- Get VZEROESD object 
+  AliESDVZERO *esdVZERO = NULL;
+  for ( const TObject *iter = GetFirstInputObject(kAliHLTDataTypeESDContent|kAliHLTDataOriginVZERO); 
+       iter != NULL; iter = GetNextInputObject() ) {
+    esdVZERO = dynamic_cast<AliESDVZERO*>(const_cast<TObject*>( iter ) );
+    if( !esdVZERO ){ 
+      HLTWarning("Wrong VZERO ESDEvent object received");
+      iResult = -1;
+      continue;
+    }
+  }
+
   // -- Get SPD clusters
   // ---------------------
   const AliHLTComponentBlockData* iter = NULL;
@@ -531,7 +544,7 @@ Int_t AliHLTMultiplicityCorrelationsComponent::DoEvent(const AliHLTComponentEven
   // -- Process Event
   // ------------------
   if (esdEvent)
-    iResult = fCorrObj->ProcessEvent(esdEvent,totalSpacePoint);
+    iResult = fCorrObj->ProcessEvent(esdEvent,esdVZERO,totalSpacePoint);
 
   if (iResult) {
     HLTError("Error while processing event inside multiplicity correlation object");