void SetAODTrackCutFilterBit(Int_t ibit){fAODTrkCutFilterBit=ibit; return;}
//getters
const char * GetAppliedDaughterCutSetName() { return GetName();}
- Int_t GetAppliedDaughterCutSetId() { return fAppliedCutSetID;}
+ const Int_t GetAppliedDaughterCutSetId() { return fAppliedCutSetID;}
const AliRsnCutTrackQuality * GetQualityCut() {return fCutQuality;};
private:
fComputedValue = 0.0;
return kFALSE;
}
+ case kNITSclusters:
+ if (track) {
+ AliESDtrack *trackESD = dynamic_cast<AliESDtrack*>(track);
+ if (trackESD) {
+ fComputedValue = trackESD->GetITSclusters(0);
+ } else {
+ fComputedValue = ((AliAODTrack*)track)->GetITSNcls();
+ }
+ return kTRUE;
+ } else {
+ AliWarning("Cannot get n ITS clusters for non-track object");
+ fComputedValue = 0.0;
+ return kFALSE;
+ }
+ case kNTPCclusters:
+ if (track) {
+ AliESDtrack *trackESD = dynamic_cast<AliESDtrack*>(track);
+ if (trackESD) {
+ fComputedValue = trackESD->GetTPCclusters(0);
+ } else {
+ fComputedValue = ((AliAODTrack*)track)->GetTPCNcls();
+ }
+ return kTRUE;
+ } else {
+ AliWarning("Cannot get n TPC clusters for non-track object");
+ fComputedValue = 0.0;
+ return kFALSE;
+ }
+ case kITSchi2:
+ if (track) {
+ AliESDtrack *trackESD = dynamic_cast<AliESDtrack*>(track);
+ if (trackESD) {
+ UShort_t nClustersTPC = trackESD->GetITSclusters(0);
+ fComputedValue = trackESD->GetITSchi2()/Float_t(nClustersTPC);
+ } else {
+ fComputedValue = ((AliAODTrack*)track)->Chi2perNDF();
+ }
+ return kTRUE;
+ } else {
+ AliWarning("Cannot get ITS chi^2 for non-track object");
+ fComputedValue = 0.0;
+ return kFALSE;
+ }
+ case kTPCchi2:
+ if (track) {
+ AliESDtrack *trackESD = dynamic_cast<AliESDtrack*>(track);
+ if (trackESD) {
+ UShort_t nClustersTPC = trackESD->GetTPCclusters(0);
+ fComputedValue = trackESD->GetTPCchi2()/Float_t(nClustersTPC);
+ } else {
+ fComputedValue = ((AliAODTrack*)track)->Chi2perNDF();
+ }
+ return kTRUE;
+ } else {
+ AliWarning("Cannot get TPC chi^2 for non-track object");
+ fComputedValue = 0.0;
+ return kFALSE;
+ }
default:
AliError(Form("[%s] Invalid value type for this computation", GetName()));
return kFALSE;
kTOFnsigmaPi,// TOF number of sigmas pion
kTOFnsigmaK, // TOF number of sigmas kaon
kTOFnsigmaP, // TOF number of sigmas proton
+ kNITSclusters, // n ITS clusters
+ kNTPCclusters, // n TPC clusters
+ kITSchi2, // ITS chi^2
+ kTPCchi2, // TPC chi^2
kTypes
};
task = (AliAnalysisTaskSE *) taskRsn;
}
- if (isPhysSel) task->SelectCollisionCandidates(AliVEvent::kMB);
+ if (isPhysSel>=0) task->SelectCollisionCandidates((AliVEvent::EOfflineTriggerTypes)isPhysSel);
// TODO this is tmp hack
if (!rsnIH) rsnIH = new AliRsnInputHandler();
Bool_t valid;
Int_t isFullOutput = AliAnalysisManager::GetGlobalInt("rsnOutputFull",valid);
Int_t isPP = AliAnalysisManager::GetGlobalInt("rsnIsPP",valid);
-
+ Int_t useRapidity = AliAnalysisManager::GetGlobalInt("rsnUseRapidity",valid);
// axes
AliRsnValuePair *axisIM = new AliRsnValuePair("IM", AliRsnValuePair::kInvMass);
AliRsnValuePair *axisPt = new AliRsnValuePair("PT", AliRsnValuePair::kPt);
AliRsnValuePair *axisEta = new AliRsnValuePair("ETA", AliRsnValuePair::kEta);
+ AliRsnValuePair *axisRapidity = new AliRsnValuePair("Y", AliRsnValuePair::kY);
AliRsnValueEvent *axisCentrality = 0;
if (!isPP) axisCentrality = new AliRsnValueEvent("MULTI",AliRsnValueEvent::kCentralityV0);
axisPt ->SetBins(120, 0.0, 12.0);
// axisEta ->SetBins(400, -2.0, 2.0);
axisEta ->SetBins(400, -0.5, 0.5);
-
+ axisRapidity ->SetBins(10, -0.5, 0.5);
if (axisCentrality) axisCentrality->SetBins(20,0,100);
outPair = new AliRsnListOutput("pair", AliRsnListOutput::kHistoSparse);
outPair->AddValue(axisIM);
outPair->AddValue(axisPt);
- outPair->AddValue(axisEta);
+ if (useRapidity) outPair->AddValue(axisRapidity);
+ else outPair->AddValue(axisEta);
if (axisCentrality) outPair->AddValue(axisCentrality);
}
// add outputs to loop
Int_t useMixing = AliAnalysisManager::GetGlobalInt("rsnUseMixing",valid);
Int_t isPP = AliAnalysisManager::GetGlobalInt("rsnIsPP",valid);
+ Int_t useRapidity = AliAnalysisManager::GetGlobalInt("rsnUseRapidity",valid);
+
AliRsnMiniAnalysisTask *taskRsnMini = (AliRsnMiniAnalysisTask *)task;
if (isPP) taskRsnMini->UseMultiplicity("QUALITY");
/* eta */ Int_t etaID = taskRsnMini->CreateValue(AliRsnMiniValue::kEta, kFALSE);
/* rapidity */ Int_t yID = taskRsnMini->CreateValue(AliRsnMiniValue::kY, kFALSE);
- Bool_t useRapidity = kTRUE;
// use an array for more compact writing, which are different on mixing and charges
// [0] = unlike
// // END Subhash for train
//Francesca for train PbPb
- listRsn->Add(new TNamed("KStar","KStarNsigma:TPCveto_PiTOFnsig20_KTOFnsig20"));
- listRsn->Add(new TNamed("KStar","KStarNsigma:TPCveto_PiTOFnsig15_KTOFnsig15"));
- listRsn->Add(new TNamed("KStar","KStarNsigma:TPCveto_PiTOFnsig10_KTOFnsig10"));
+ listRsn->Add(new TNamed("KStar","KStarTOFanalysis:TPCveto_PiTOFnsig20_KTOFnsig20"));
+ listRsn->Add(new TNamed("KStar","KStarTOFanalysis:TPCveto_PiTOFnsig15_KTOFnsig15"));
+ listRsn->Add(new TNamed("KStar","KStarTOFanalysis:TPCveto_PiTOFnsig10_KTOFnsig10"));
//Francesca for train pp @ 2.76
//listRsn->Add(new TNamed("KStar","KStarNsigma:combined"));
}
+ // nITCcluster
+ AliRsnValueDaughter *axisITSnClusters = new AliRsnValueDaughter("ITS", AliRsnValueDaughter::kNITSclusters);
+ axisITSnClusters->SetBins(10,0,10);
+
+ AliRsnListOutput *outMonitorITSnClusters = new AliRsnListOutput("nClusters", AliRsnListOutput::kHistoDefault);
+ outMonitorITSnClusters->AddValue(axisITSnClusters);
+ // add outputs to loop
+ if (mon) mon->Add(outMonitorITSnClusters);
+ if (lm) lm->AddOutput(outMonitorITSnClusters);
+
+ // nTPCcluster
+ AliRsnValueDaughter *axisTPCnClusters = new AliRsnValueDaughter("TPC", AliRsnValueDaughter::kNTPCclusters);
+ axisTPCnClusters->SetBins(300,0,300);
+
+ AliRsnListOutput *outMonitorTPCnClusters = new AliRsnListOutput("nClusters", AliRsnListOutput::kHistoDefault);
+ outMonitorTPCnClusters->AddValue(axisTPCnClusters);
+ // add outputs to loop
+ if (mon) mon->Add(outMonitorTPCnClusters);
+ if (lm) lm->AddOutput(outMonitorTPCnClusters);
+
+ // ITSchi2
+ AliRsnValueDaughter *axisITSchi2 = new AliRsnValueDaughter("ITS", AliRsnValueDaughter::kITSchi2);
+ axisITSchi2->SetBins(10,0,10);
+
+ AliRsnListOutput *outMonitorITSchi2 = new AliRsnListOutput("chi2", AliRsnListOutput::kHistoDefault);
+ outMonitorITSchi2->AddValue(axisITSchi2);
+ // add outputs to loop
+ if (mon) mon->Add(outMonitorITSchi2);
+ if (lm) lm->AddOutput(outMonitorITSchi2);
+
+ // TPCchi2
+ AliRsnValueDaughter *axisTPCchi2 = new AliRsnValueDaughter("TPC", AliRsnValueDaughter::kTPCchi2);
+ axisTPCchi2->SetBins(10,0,10);
+
+ AliRsnListOutput *outMonitorTPCchi2 = new AliRsnListOutput("chi2", AliRsnListOutput::kHistoDefault);
+ outMonitorTPCchi2->AddValue(axisTPCchi2);
+ // add outputs to loop
+ if (mon) mon->Add(outMonitorTPCchi2);
+ if (lm) lm->AddOutput(outMonitorTPCchi2);
+
+
AliRsnListOutput *outMonitorPTvsMult = new AliRsnListOutput("PTvsMult",AliRsnListOutput::kHistoDefault);
AliRsnValueDaughter *vd1 = new AliRsnValueDaughter("pt",AliRsnValueDaughter::kPt);
vd1->SetBins(0.0,5.0,0.01);
Int_t mcMomentum = 0;
Int_t mcMon = 0;
- Int_t usePhysSel = 1;
+ Int_t usePhysSel = -1;
+// usePhysSel = AliVEvent::kMB;
Int_t useCentralityTask = 0;
Int_t useEventPlaneTask = 0;
Double_t eventCutVertex = 10.0;
+ Int_t useYNotEta = 0;
// useCommonQualityCut=-1 -> Defaultcuts for 2010
Int_t useCommonQualityCut = -1;
AliAnalysisManager::SetGlobalInt("rsnUsePIDResponse",1);
AliAnalysisManager::SetGlobalInt("rsnCommonQualityCut",useCommonQualityCut);
+ AliAnalysisManager::SetGlobalInt("rsnUseRapidity",useYNotEta);
// rsn options