fTriggerSelectedManually(kFALSE),
fSpecialTriggerName(""),
fSpecialSubTriggerName(""),
- fNSpecialSubTriggerOptions(0)
+ fNSpecialSubTriggerOptions(0),
+ fV0ReaderName("")
{
for(Int_t jj=0;jj<kNCuts;jj++){fCuts[jj]=0;}
fTriggerSelectedManually(ref.fTriggerSelectedManually),
fSpecialTriggerName(ref.fSpecialTriggerName),
fSpecialSubTriggerName(ref.fSpecialSubTriggerName),
- fNSpecialSubTriggerOptions(ref.fNSpecialSubTriggerOptions)
+ fNSpecialSubTriggerOptions(ref.fNSpecialSubTriggerOptions),
+ fV0ReaderName(ref.fV0ReaderName)
{
// Copy Constructor
for(Int_t jj=0;jj<kNCuts;jj++){fCuts[jj]=ref.fCuts[jj];}
if(hCentralityVsNumberOfPrimaryTracks)
hCentralityVsNumberOfPrimaryTracks->Fill(GetCentrality(fInputEvent),
((AliV0ReaderV1*)AliAnalysisManager::GetAnalysisManager()
- ->GetTask("V0ReaderV1"))->GetNumberOfPrimaryTracks());
+ ->GetTask(fV0ReaderName.Data()))->GetNumberOfPrimaryTracks());
fEventQuality = 0;
return kTRUE;
}
return kFALSE;
}
+ if (fV0ReaderName.CompareTo("") == 0){
+ fV0ReaderName = "V0ReaderV1";
+ }
const char *cutSelection = analysisCutSelection.Data();
#define ASSIGNARRAY(i) fCuts[i] = cutSelection[i] - '0'
for(Int_t ii=0;ii<kNCuts;ii++){
else return kFALSE;
}
- Int_t nprimaryTracks = ((AliV0ReaderV1*)AliAnalysisManager::GetAnalysisManager()->GetTask("V0ReaderV1"))->GetNumberOfPrimaryTracks();
+ Int_t nprimaryTracks = ((AliV0ReaderV1*)AliAnalysisManager::GetAnalysisManager()->GetTask(fV0ReaderName.Data()))->GetNumberOfPrimaryTracks();
Int_t PrimaryTracks10[10][2] =
{
{9999,9999}, // 0
if(abs(fVertexZ)>fMaxVertexZ)return kFALSE;
TString periodName = ((AliV0ReaderV1*)AliAnalysisManager::GetAnalysisManager()
- ->GetTask("V0ReaderV1"))->GetPeriodName();
+ ->GetTask(fV0ReaderName.Data()))->GetPeriodName();
if (periodName.CompareTo("LHC11h")==0){
if (abs(fVertexZ-fVertexZSPD) > 0.1) return kFALSE;
}
AliInputEventHandler *fInputHandler=(AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
UInt_t isSelected = AliVEvent::kAny;
- TString periodName = ((AliV0ReaderV1*)AliAnalysisManager::GetAnalysisManager()->GetTask("V0ReaderV1"))->GetPeriodName();
+ TString periodName = ((AliV0ReaderV1*)AliAnalysisManager::GetAnalysisManager()->GetTask(fV0ReaderName.Data()))->GetPeriodName();
// cout << periodName.Data() << endl;
if (fInputHandler==NULL) return kFALSE;
///________________________________________________________________________
void AliConvEventCuts::GetNotRejectedParticles(Int_t rejection, TList *HeaderList, AliVEvent *MCEvent){
- TString periodName = ((AliV0ReaderV1*)AliAnalysisManager::GetAnalysisManager()->GetTask("V0ReaderV1"))->GetPeriodName();
+ TString periodName = ((AliV0ReaderV1*)AliAnalysisManager::GetAnalysisManager()->GetTask(fV0ReaderName.Data()))->GetPeriodName();
if(fNotRejectedStart){
if(hCentralityVsNumberOfPrimaryTracks)
hCentralityVsNumberOfPrimaryTracks->Fill(GetCentrality(InputEvent),
((AliV0ReaderV1*)AliAnalysisManager::GetAnalysisManager()
- ->GetTask("V0ReaderV1"))->GetNumberOfPrimaryTracks());
+ ->GetTask(fV0ReaderName.Data()))->GetNumberOfPrimaryTracks());
return 0;
}
Int_t * GetAcceptedHeaderEnd(){return fNotRejectedEnd;}
TList* GetAcceptedHeader(){return fHeaderList;}
+
// Eta shift Setting
void SetEtaShift(Double_t etaShift) {
fEtaShift = etaShift;
Bool_t SetSelectSpecialTrigger(Int_t selectSpecialTrigger);
Bool_t SetSelectSubTriggerClass (Int_t selectSpecialSubTriggerClass);
Bool_t SetRejectExtraSignalsCut(Int_t extraSignal);
+ void SetV0ReaderName(TString name) {fV0ReaderName = name;}
protected:
TList *fHistograms;
TString fSpecialTriggerName; // Name of the Special Triggers
TString fSpecialSubTriggerName; // Name of the Special Triggers
Int_t fNSpecialSubTriggerOptions;
+ TString fV0ReaderName; // Name of V0Reader
+
private:
- ClassDef(AliConvEventCuts,1)
+ ClassDef(AliConvEventCuts,2)
};
AliAnalysisTask *AddTask_ConversionAODProduction(Int_t dataset=0, Bool_t isMC = kFALSE){
-// Before doing anything, we load the needed library
+ // Before doing anything, we load the needed library
gSystem->Load("libPWGGAGammaConv.so");
// dataset 0: pp
// dataset 1: PbPb
//get the current analysis manager
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
- Error("AddTask_V0ReaderV1", "No analysis manager found.");
- return 0;
+ Error("AddTask_V0ReaderV1", "No analysis manager found.");
+ return 0;
}
//========= Add PID Reponse to ANALYSIS manager ====
TString analysiscutB;
if(dataset == 1){
- // Old cut string, no longer compatible with AliConversionCuts
- // analysiscut="9001770093501132112000010000000000";
- // New cut string as of April 2013
analysiscutEvent = "1000000";
analysiscut= "060084000001500000000";
analysiscutB="160084000001500000000";
analysiscut= "060084000001500000000";
analysiscutB="160084000001500000000";
} else{
- // analysiscut="
analysiscutEvent = "0000000";
analysiscut ="060084001001500000000";
analysiscutB="160084001001500000000";
fV0ReaderB->SetUseAODConversionPhoton(kTRUE);
// fV0ReaderB->CheckAODConsistency();
- AliConvEventCuts *fEventCuts=NULL;
+ AliConvEventCuts *fEventCutsA=NULL;
+ AliConvEventCuts *fEventCutsB=NULL;
if(analysiscutEvent!=""){
- fEventCuts= new AliConvEventCuts(analysiscutEvent.Data(),analysiscutEvent.Data());
- if(fEventCuts->InitializeCutsFromCutString(analysiscutEvent.Data())){
- fV0Reader->SetEventCuts(fEventCuts);
- fV0ReaderB->SetEventCuts(fEventCuts);
+ fEventCutsA= new AliConvEventCuts(analysiscutEvent.Data(),analysiscutEvent.Data());
+ fEventCutsA->SetPreSelectionCutFlag(kTRUE);
+ fEventCutsA->SetV0ReaderName("ConvGammaAODProduction");
+ if(fEventCutsA->InitializeCutsFromCutString(analysiscutEvent.Data())){
+ fV0Reader->SetEventCuts(fEventCutsA);
+ }
+ fEventCutsB= new AliConvEventCuts(analysiscutEvent.Data(),analysiscutEvent.Data());
+ fEventCutsB->SetPreSelectionCutFlag(kTRUE);
+ fEventCutsB->SetV0ReaderName("ConvGammaAODProductionB");
+ if(fEventCutsB->InitializeCutsFromCutString(analysiscutEvent.Data())){
+ fV0ReaderB->SetEventCuts(fEventCutsB);
}
}
}
fV0ReaderB->Init();
-
AliLog::SetGlobalLogLevel(AliLog::kInfo);
//================================================
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
// connect input V0Reader
- //fV0Reader->SelectCollisionCandidates(AliVEvent::kAny);
mgr->AddTask(fV0Reader);
mgr->ConnectInput (fV0Reader,0,cinput);
- //fV0ReaderB->SelectCollisionCandidates(AliVEvent::kAny);
mgr->AddTask(fV0ReaderB);
mgr->ConnectInput (fV0ReaderB,0,cinput);