+
// **************************************
// Task used for the correction of determiantion of reconstructed jet spectra
// Compares input (gen) and output (rec) jets
if(aod){
const AliAODVertex *vtxAOD = aod->GetPrimaryVertex();
+ if(!vtxAOD){
+ aod->Print();
+ }
aodVtxValid = IsVertexValid(vtxAOD);
aodVtxIn = IsVertexIn(vtxAOD);
Float_t zvtx = vtxAOD->GetZ();
TList recTracks;
GetListOfTracks(&recTracks);
- CalculateReactionPlaneAngle(&recTracks);
+ // CalculateReactionPlaneAngle(&recTracks);
+ fRPAngle = aod->GetHeader()->GetEventplane();
+ fh1RP->Fill(fRPAngle);
+ fh2RPCentrality->Fill(fCentrality,fRPAngle);
+
AliAnalysisHelperJetTasks::ReactionPlane(kTRUE,fRPAngle); // set slection to false
if(fUseAODInput&&fCentrality<=80){
if(fFilterAODCollisions&&aod){
// SPD SPDVertex vertexer: 3D
// SPD SPDVertex vertexer: Z
+ if(!vtx){
+ Printf("%s:%d No ESD vertex found",(char*)__FILE__,__LINE__);
+ return kFALSE;
+ }
Int_t nCont = vtx->GetNContributors();
if(nCont>=1){
fEventCutInfoESD |= kContributorsCut1;
// SPD SPDVertex vertexer: 3D
// SPD SPDVertex vertexer: Z
+ if(!vtx){
+ Printf("%s:%d No AOD vertex found",(char*)__FILE__,__LINE__);
+ return kFALSE;
+ }
+
+
if(fDebug){
Printf(" n contrib %d",vtx->GetNContributors());
vtx->Print();
nT = GetListOfTracks(&genParticles,fTrackTypeGen);
if(fDebug>2)Printf("%s:%d Selected Gen tracks: %d %d",(char*)__FILE__,__LINE__,nT,genParticles.GetEntries());
- CalculateReactionPlaneAngle(&recParticles);
-
+ // CalculateReactionPlaneAngle(&recParticles);
+ fRPAngle = aod->GetHeader()->GetEventplane();
// Event control and counting ...
// MC
fh1PtHard->Fill(ptHard,eventW);
}
track->Set(exParam.GetX(),exParam.GetAlpha(),exParam.GetParameter(),exParam.GetCovariance());
}
+ else if(fTrackType==7) {
+ //use global constrained track
+ track = esdtrack;
+ track->Set(esdtrack->GetConstrainedParam()->GetX(),esdtrack->GetConstrainedParam()->GetAlpha(),esdtrack->GetConstrainedParam()->GetParameter(),esdtrack->GetConstrainedParam()->GetCovariance());
+ }
else
track = esdtrack;
}
track->Set(exParam.GetX(),exParam.GetAlpha(),exParam.GetParameter(),exParam.GetCovariance());
}
+ else if(fTrackType==7) {
+ //use global constrained track
+ track = esdtrack;
+ track->Set(esdtrack->GetConstrainedParam()->GetX(),esdtrack->GetConstrainedParam()->GetAlpha(),esdtrack->GetConstrainedParam()->GetParameter(),esdtrack->GetConstrainedParam()->GetCovariance());
+
+ }
else
track = esdtrack;
}
}
}
+ else if(fTrackType==7) {
+ //use global constrained track
+ track = esdtrack;
+ track->Set(esdtrack->GetConstrainedParam()->GetX(),esdtrack->GetConstrainedParam()->GetAlpha(),esdtrack->GetConstrainedParam()->GetParameter(),esdtrack->GetConstrainedParam()->GetCovariance());
+ }
else
track = esdtrack;
// bextra == 0 4 plus
// bextra == 1 large pass1 split..
// bextra == 2 3 plus
- Int_t bRun = 802; Int_t bExtra = 0; char* cDate = "110706a";
+ Int_t bRun = 802; Int_t bExtra = 0; char* cDate = "110717a";
iAODanalysis = 0;
// 1 == Read Jets and tracks form the input AOD
// needs the jet branchnames set explicitly
// 1 = write the Full AOD for all events
// 2 = write the Full AOD for triggered events
// 3 = write the deltaAOD for all events
- iFilterAnalysis = 2;
-
+ iFilterAnalysis = 2;kJetTriggerPtCut = 40;
+
if (kPluginMode.Contains("merge")){
// currently merging this one...
// cDate = "110421a";
iPWG4JetSpectrum = 1;
iPWG4JetServices = 1; // !!!!!!!!!!!
iPWG4Cluster = 1;// not 5....
- kHighPtFilterMask = 1<<4; // Global tracks no SPD requirment
+ kHighPtFilterMask = 1<<4|1<<8; // Global tracks with SPD requirment global constraitn for the rest
iPWG4Fragmentation = 1;
//
}// version1
}
if (kPluginMode.Contains("test")){
+ kJetTriggerPtCut = 0.01;
if(kAnalysisMode.Contains("grid")){
// kPluginExecutableCommand = "source ~/setup_root.txt; alienroot -b -q";
kPluginExecutableCommand = "root -b -q";
}
+ if(stdCutMode == 1003) {
+
+ bStdCutsDefined = kTRUE;
+
+ // tight global tracks
+ trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kFALSE,1);
+ trackCuts->SetMinNClustersTPC(0);
+ trackCuts->SetMinNCrossedRowsTPC(120);
+ trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.1);// essentially switches it off
+ trackCuts->SetMaxDCAToVertexXY(2.4);
+ trackCuts->SetMaxDCAToVertexZ(3.2);
+ trackCuts->SetDCAToVertex2D(kTRUE);
+ trackCuts->SetMaxChi2PerClusterITS(36);
+ trackCuts->SetMaxFractionSharedTPCClusters(0.4);
+
+ tag = "Global tracks ITSTPC2010 + NCrossedRows + loose ITS";
+
+ }
+
if(stdCutMode == 2000) {
bStdCutsDefined = kTRUE;
}
+ if(stdCutMode == 2002) {
+
+ bStdCutsDefined = kTRUE;
+
+ trackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
+ trackCuts->SetMinNClustersTPC(0);
+ trackCuts->SetMinNCrossedRowsTPC(120);
+ trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.1);// essentially switches it off
+
+ trackCuts->SetEtaRange(-0.9,0.9);
+ trackCuts->SetPtRange(0.15, 100.);
+
+
+ tag = "TPConly track cuts, loose cuts, NCls=70, no ITS requirements";
+
+ }
+
if(!bStdCutsDefined) {
printf("last 4 digits do not represent a predefined set of standard cuts. Returning 0\n");
return 0;
}
+ if(addCutMode == 1004) {
+
+ trackCuts->SetRequireITSRefit(kFALSE);
+
+ tag += " + additional: ITSrefit=kFALSE";
+
+ }
+
Printf("Created track cuts for: %s", tag.Data());
return trackCuts;