]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisTaskPIDResponse.cxx
fix a bug where the tree remains empty for data
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskPIDResponse.cxx
index aa29ae132b3a455e4398529aa086cf9e7396dcc5..49af37ba7f9630cb7ae60558e9d2b85c2429299d 100644 (file)
@@ -41,11 +41,13 @@ fOADBPath(),
 fSpecialDetResponse(),
 fPIDResponse(0x0),
 fRun(-1),
-fOldRun(0),
+fOldRun(-1),
 fRecoPass(0),
 fIsTunedOnData(kFALSE),
+fTunedOnDataMask(0),
 fRecoPassTuned(0),
-fUseTPCEtaCorrection(kFALSE)//TODO: In future, default kTRUE  
+fUseTPCEtaCorrection(kFALSE),//TODO: In future, default kTRUE 
+fUseTPCMultiplicityCorrection(kFALSE)//TODO: In future, default kTRUE  
 {
   //
   // Dummy constructor
@@ -61,11 +63,13 @@ fOADBPath(),
 fSpecialDetResponse(),
 fPIDResponse(0x0),
 fRun(-1),
-fOldRun(0),
+fOldRun(-1),
 fRecoPass(0),
 fIsTunedOnData(kFALSE),
+fTunedOnDataMask(0),
 fRecoPassTuned(0),
-fUseTPCEtaCorrection(kFALSE)//TODO: In future, default kTRUE
+fUseTPCEtaCorrection(kFALSE),//TODO: In future, default kTRUE
+fUseTPCMultiplicityCorrection(kFALSE)//TODO: In future, default kTRUE  
 {
   //
   // Default constructor
@@ -105,6 +109,7 @@ void AliAnalysisTaskPIDResponse::UserCreateOutputObjects()
   if (!fOADBPath.IsNull()) fPIDResponse->SetOADBPath(fOADBPath.Data());
 
   if(fIsTunedOnData) fPIDResponse->SetTunedOnData(kTRUE,fRecoPassTuned);
+  if(fTunedOnDataMask != 0) fPIDResponse->SetTunedOnDataMask(fTunedOnDataMask);
 
   if (!fSpecialDetResponse.IsNull()){
     TObjArray *arr=fSpecialDetResponse.Tokenize("; ");
@@ -117,7 +122,7 @@ void AliAnalysisTaskPIDResponse::UserCreateOutputObjects()
       }
     }
     delete arr;
-  }
+  }  
 }
 
 //______________________________________________________________________________
@@ -132,9 +137,11 @@ void AliAnalysisTaskPIDResponse::UserExec(Option_t */*option*/)
   if (fRun!=fOldRun){
     SetRecoInfo();
     fOldRun=fRun;
+    
+    fPIDResponse->SetUseTPCEtaCorrection(fUseTPCEtaCorrection);
+    fPIDResponse->SetUseTPCMultiplicityCorrection(fUseTPCMultiplicityCorrection);
   }
 
-  fPIDResponse->SetUseTPCEtaCorrection(fUseTPCEtaCorrection);
   fPIDResponse->InitialiseEvent(event,fRecoPass);
   AliESDpid *pidresp = dynamic_cast<AliESDpid*>(fPIDResponse);
   if(pidresp && AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()){
@@ -175,6 +182,8 @@ void AliAnalysisTaskPIDResponse::SetRecoInfo()
     fPIDResponse->SetCurrentFile(fileName.Data());
   }
 
+  fPIDResponse->SetCurrentAliRootRev(prodInfo.GetAlirootSvnVersion());
+  
   if (prodInfo.IsMC() == kTRUE) fIsMC=kTRUE;         // protection if user didn't use macro switch
   if ( (prodInfo.IsMC() == kFALSE) && (fIsMC == kFALSE) ) {      // reco pass is needed only for data
     fRecoPass = prodInfo.GetRecoPass();