fAODOmega(NULL),
fAODBranchName("GammaConv"),
fOutputAODClassName("AliAODConversionParticle"),
+ fKFCreateAOD(kTRUE),
fKFForceAOD(kFALSE),
fKFDeltaAODFileName(""),
fDoNeutralMesonV0MCCheck(kFALSE),
fAODOmega(NULL),
fAODBranchName("GammaConv"),
fOutputAODClassName("AliAODConversionParticle"),
+ fKFCreateAOD(kTRUE),
fKFForceAOD(kFALSE),
fKFDeltaAODFileName(""),
fDoNeutralMesonV0MCCheck(kFALSE),
//Fill Gamma AOD
- FillAODWithConversionGammas() ;
-
+ if(fKFCreateAOD) {
+ FillAODWithConversionGammas() ;
+ }
+
+
// Process reconstructed gammas
if(fDoNeutralMeson == kTRUE){
ProcessGammasForNeutralMesonAnalysis();
Double_t lowMassPi0=0.1;
Double_t highMassPi0=0.15;
- if (massTwoGammaCandidate > lowMassPi0 && massTwoGammaCandidate < highMassPi0 ){
+ if ( fKFCreateAOD && (massTwoGammaCandidate > lowMassPi0) && (massTwoGammaCandidate < highMassPi0) ){
new((*fKFReconstructedPi0sTClone)[fKFReconstructedPi0sTClone->GetEntriesFast()]) AliKFParticle(*twoGammaCandidate);
fGammav1.push_back(firstGammaIndex);
fGammav2.push_back(secondGammaIndex);
void AliAnalysisTaskGammaConversion::UserCreateOutputObjects()
{
- //AOD
- if(!fAODGamma) fAODGamma = new TClonesArray(fOutputAODClassName.Data(), 0);
- else fAODGamma->Delete();
- fAODGamma->SetName(Form("%s_gamma", fAODBranchName.Data()));
- if(!fAODPi0) fAODPi0 = new TClonesArray(fOutputAODClassName.Data(), 0);
- else fAODPi0->Delete();
- fAODPi0->SetName(Form("%s_Pi0", fAODBranchName.Data()));
-
- if(!fAODOmega) fAODOmega = new TClonesArray(fOutputAODClassName.Data(), 0);
- else fAODOmega->Delete();
- fAODOmega->SetName(Form("%s_Omega", fAODBranchName.Data()));
-
- //If delta AOD file name set, add in separate file. Else add in standard aod file.
- if(fKFDeltaAODFileName.Length() > 0) {
- AddAODBranch("TClonesArray", &fAODGamma, fKFDeltaAODFileName.Data());
- AddAODBranch("TClonesArray", &fAODPi0, fKFDeltaAODFileName.Data());
- AddAODBranch("TClonesArray", &fAODOmega, fKFDeltaAODFileName.Data());
- AliAnalysisManager::GetAnalysisManager()->RegisterExtraFile(fKFDeltaAODFileName.Data());
- } else {
- AddAODBranch("TClonesArray", &fAODGamma);
- AddAODBranch("TClonesArray", &fAODPi0);
- AddAODBranch("TClonesArray", &fAODOmega);
+ if(fKFCreateAOD) {
+
+ //AOD
+ if(!fAODGamma) fAODGamma = new TClonesArray(fOutputAODClassName.Data(), 0);
+ else fAODGamma->Delete();
+ fAODGamma->SetName(Form("%s_gamma", fAODBranchName.Data()));
+
+ if(!fAODPi0) fAODPi0 = new TClonesArray(fOutputAODClassName.Data(), 0);
+ else fAODPi0->Delete();
+ fAODPi0->SetName(Form("%s_Pi0", fAODBranchName.Data()));
+
+ if(!fAODOmega) fAODOmega = new TClonesArray(fOutputAODClassName.Data(), 0);
+ else fAODOmega->Delete();
+ fAODOmega->SetName(Form("%s_Omega", fAODBranchName.Data()));
+
+ //If delta AOD file name set, add in separate file. Else add in standard aod file.
+ if(GetDeltaAODFileName().Length() > 0) {
+ AddAODBranch("TClonesArray", &fAODGamma, GetDeltaAODFileName().Data());
+ AddAODBranch("TClonesArray", &fAODPi0, GetDeltaAODFileName().Data());
+ AddAODBranch("TClonesArray", &fAODOmega, GetDeltaAODFileName().Data());
+ AliAnalysisManager::GetAnalysisManager()->RegisterExtraFile(GetDeltaAODFileName().Data());
+ } else {
+ AddAODBranch("TClonesArray", &fAODGamma);
+ AddAODBranch("TClonesArray", &fAODPi0);
+ AddAODBranch("TClonesArray", &fAODOmega);
+ }
}
// Create the output container
Double_t GetMCOpeningAngle(const TParticle* const daughter0,const TParticle* const daughter1) const;
void CheckV0Efficiency();
void SetDeltaAODFileName(TString fn) { fKFDeltaAODFileName = fn; };
-
+ void SetCreateAOD(Bool_t doAod) { fKFCreateAOD = doAod; };
+ TString GetDeltaAODFileName() const { return fKFDeltaAODFileName; };
//////////////////Chi_c Analysis////////////////////////////
void GetPID(const AliESDtrack *track, Stat_t &pid, Stat_t &weight);
double GetSigmaToVertex(const AliESDtrack* t);
TClonesArray * fAODOmega; //TTClonesArray for omegas to put in AOD
TString fAODBranchName; // New AOD branch name
TString fOutputAODClassName; //Class to use for the AOD
+ Bool_t fKFCreateAOD; //Create the AOD tclones? (regardless if storing or not)
Bool_t fKFForceAOD; //Set the Analysis Manager FillAOD variable to true every event
TString fKFDeltaAODFileName; //! File name for delta AOD (if any)
Int_t fUseMultiplicityBin;
Int_t fUseCentrality;
Int_t fUseCentralityBin;
- ClassDef(AliAnalysisTaskGammaConversion, 16); // Analysis task for gamma conversions
+ ClassDef(AliAnalysisTaskGammaConversion, 17); // Analysis task for gamma conversions
};
#endif //ALIANALYSISTASKGAMMA_H
//gammaconversion->SetOutputAODClassName("AliGammaConversionAODObject");
if( kGCrunOnTrain ) {
-
+
AliAODHandler * aodHandler = dynamic_cast<AliAODHandler*>(mgr->GetOutputEventHandler());
if(!aodHandler) {
::Error("This task requires an AOD handler");
- return -1;
+ return NULL;
}
-
+
gammaconversion->SetDeltaAODFileName(kGCDeltaAODFilename);
if(kGCDeltaAODFilename.Length() > 0) {
} else {
if(kGCDeltaAODFilename.Length() == 0 ) {
cout << "Error:: Need a file name for the AOD"<<endl;
- return;
+ return NULL;
}
AliAODHandler* aodHandler = new AliAODHandler();
aodHandler->SetOutputFileName(kGCDeltaAODFilename);
aodHandler->SetCreateNonStandardAOD();
mgr->SetOutputEventHandler(aodHandler);
}
+ } else {
+ gammaconversion->SetCreateAOD(kFALSE);
}
// Connect I/O to the task
mgr->ConnectInput (gammaconversion, 0, cinput1);
if(mgr->GetCommonOutputContainer())
mgr->ConnectOutput(gammaconversion, 0, mgr->GetCommonOutputContainer());
-
+
mgr->ConnectOutput(gammaconversion, 1, coutput2);
mgr->ConnectOutput(gammaconversion, 2, coutput3);
-
+
if(kGCRunGammaJetTask) {
AliAnalysisTaskGammaJet * gammaJetTask = new AliAnalysisTaskGammaJet("GammaJetTask");
if(kGCrunOnTrain) {