#include "AliGammaConversionBGHandler.h"
#include "AliESDCaloCluster.h" // for combining PHOS and GammaConv
#include "AliKFVertex.h"
+#include <AliMCEventHandler.h>
class AliESDTrackCuts;
class AliCFContainer;
class AliCFManager;
// Write warning here cuts and so on are default if this ever happens
}
+ if (fMCEvent ) {
+ // To avoid crashes due to unzip errors. Sometimes the trees are not there.
+
+ AliMCEventHandler* mcHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
+ if (!mcHandler){ AliError("Could not retrive MC event handler!"); return; }
+ if (!mcHandler->InitOk() ) return;
+ if (!mcHandler->TreeK() ) return;
+ if (!mcHandler->TreeTR() ) return;
+ }
+
fV0Reader->SetInputAndMCEvent(InputEvent(), MCEvent());
fV0Reader->Initialize();
while(fV0Reader->NextV0()){
nSurvivingV0s++;
-
+
+ TVector3 vtxConv(fV0Reader->GetX(),fV0Reader->GetY(), fV0Reader->GetZ());
+
//-------------------------- filling v0 information -------------------------------------
fHistograms->FillHistogram("ESD_Conversion_R", fV0Reader->GetXYRadius());
fHistograms->FillHistogram("ESD_Conversion_ZR", fV0Reader->GetZ(),fV0Reader->GetXYRadius());
fHistograms->FillHistogram("ESD_Conversion_XY", fV0Reader->GetX(),fV0Reader->GetY());
fHistograms->FillHistogram("ESD_Conversion_OpeningAngle", fV0Reader->GetOpeningAngle());
-
+
+ // Specific histograms for beam pipe studies
+ if( TMath::Abs(fV0Reader->GetZ()) < fV0Reader->GetLineCutZValue() ){
+ fHistograms->FillHistogram("ESD_Conversion_XY_BeamPipe", fV0Reader->GetX(),fV0Reader->GetY());
+ fHistograms->FillHistogram("ESD_Conversion_RPhi_BeamPipe", vtxConv.Phi(),fV0Reader->GetXYRadius());
+ }
+
+
fHistograms->FillHistogram("ESD_E_Energy", fV0Reader->GetNegativeTrackEnergy());
fHistograms->FillHistogram("ESD_E_Pt", fV0Reader->GetNegativeTrackPt());
fHistograms->FillHistogram("ESD_E_Eta", fV0Reader->GetNegativeTrackEta());
Int_t phiBin = fHistograms->GetPhiBin(fV0Reader->GetNegativeTrackPhi());
Double_t rFMD=30;
- TVector3 vtxConv(fV0Reader->GetX(),fV0Reader->GetY(), fV0Reader->GetZ());
+
// Double_t motherCandidateEta= fV0Reader->GetMotherCandidateEta();
//Svein
Bool_t kGCRunGammaJetTask = kFALSE;
/** ---------------------------------- define cuts here ------------------------------------*/
-TString kGCAnalysisCutSelectionId="900356200010031"; // do not change here, use -set-cut-selection in argument instead
+TString kGCAnalysisCutSelectionId="900356200010030"; // do not change here, use -set-cut-selection in argument instead
Int_t kGCNEventsForBGCalculation=10;
Bool_t kGCplotESDConversionR = kTRUE;
Bool_t kGCplotESDConversionZR = kTRUE;
Bool_t kGCplotESDConversionXY = kTRUE;
+Bool_t kGCplotESDConversionXYBeamPipe = kTRUE;
+Bool_t kGCplotESDConversionRPhiBeamPipe = kTRUE;
Bool_t kGCplotESDConversionOpeningAngle = kTRUE;
Bool_t kGCplotESDConvGammaCosPointingAngle = kTRUE;
Bool_t kGCplotESDConvGammaDcaDaugthers = kTRUE;
Double_t kGCfirstYBinXY = -200.;
Double_t kGClastYBinXY = 200.;
+//XY-plots-BeamPipe
+Int_t kGCnXBinsXYBP = 200;
+Double_t kGCfirstXBinXYBP = -10.;
+Double_t kGClastXBinXYBP = 10.;
+Int_t kGCnYBinsXYBP = 200;
+Double_t kGCfirstYBinXYBP = -10.;
+Double_t kGClastYBinXYBP = 10.;
+
+//Rphi-plots-BeamPipe
+Int_t kGCnXBinsRPhiBP = 200;
+Double_t kGCfirstXBinRPhiBP = -TMath::Pi();
+Double_t kGClastXBinRPhiBP = TMath::Pi();
+Int_t kGCnYBinsRPhiBP = 200;
+Double_t kGCfirstYBinRPhiBP = 0.;
+Double_t kGClastYBinRPhiBP = 10.;
+
+
+
//OpenAngle-plots
Int_t kGCnXBinsOpeningAngle = 400;
Double_t kGCfirstXBinOpeningAngle = 0.;
if(kGCplotESDConversionR == kTRUE){ histograms->AddHistogram("ESD_Conversion_R" ,"" , kGCnXBinsR, kGCfirstXBinR, kGClastXBinR, "", "");}
if(kGCplotESDConversionZR == kTRUE){ histograms->AddHistogram("ESD_Conversion_ZR" ,"" , kGCnXBinsZR, kGCfirstXBinZR, kGClastXBinZR, kGCnYBinsZR, kGCfirstYBinZR, kGClastYBinZR, "", "");}
if(kGCplotESDConversionXY == kTRUE){ histograms->AddHistogram("ESD_Conversion_XY" ,"" , kGCnXBinsXY, kGCfirstXBinXY, kGClastXBinXY, kGCnYBinsXY, kGCfirstYBinXY, kGClastYBinXY, "", "");}
+ if(kGCplotESDConversionXYBeamPipe == kTRUE){ histograms->AddHistogram("ESD_Conversion_XY_BeamPipe" ,"" , kGCnXBinsXYBP, kGCfirstXBinXYBP, kGClastXBinXYBP, kGCnYBinsXYBP, kGCfirstYBinXYBP, kGClastYBinXYBP, "", "");}
+ if(kGCplotESDConversionRPhiBeamPipe == kTRUE){ histograms->AddHistogram("ESD_Conversion_RPhi_BeamPipe" ,"" , kGCnXBinsRPhiBP, kGCfirstXBinRPhiBP, kGClastXBinRPhiBP, kGCnYBinsRPhiBP, kGCfirstYBinRPhiBP, kGClastYBinRPhiBP, "", "");}
if(kGCplotESDConversionOpeningAngle == kTRUE){ histograms->AddHistogram("ESD_Conversion_OpeningAngle" ,"" , kGCnXBinsOpeningAngle, kGCfirstXBinOpeningAngle, kGClastXBinOpeningAngle, "", "");}
if(kGCplotESDConvGammaCosPointingAngle == kTRUE){ histograms->AddHistogram("ESD_ConvGamma_CosPointingAngle" ,"" , kGCnXBinsCosPointingAngle, kGCfirstXBinCosPointingAngle, kGClastXBinCosPointingAngle, "", "");}