- /*/input event
- AliESDEvent *esd = (AliESDEvent*) InputEvent();
- if(!esd) return;
-
- //input data
- const char *filnam = ((TTree*) GetInputData(0))->GetCurrentFile()->GetName();
- fDataFilnam->Clear();
- fDataFilnam->SetString(filnam);
- fEvtNum = ((TTree*) GetInputData(0))->GetTree()->GetReadEntry();
- fRunNum = esd->GetRunNumber();
-
- hCounter->Fill( 1 );
-
- //Trigger
- TString trigger = esd->GetFiredTriggerClasses();
-
- fTrigger[0] = trigger.Contains("CINT7-B");
- fTrigger[1] = trigger.Contains("CCUP4-B"); // CE
- fTrigger[2] = trigger.Contains("CCUP4-E"); // CE
-
- Bool_t isTRG = kFALSE;
- for(Int_t i=1; i<ntrg; i++) {
- if( fTrigger[i] ) {isTRG = kTRUE; hCounter->Fill( fRunNum - 167806 + 1 + i*2000 );}
- }
- if( !isTRG ) {PostData(3, hCounter); return;}
-
- hCounter->Fill( 2 );
-
- //trigger inputs
- fL0inputs = esd->GetHeader()->GetL0TriggerInputs();
- fL1inputs = esd->GetHeader()->GetL1TriggerInputs();
-
- //Event identification
- fPerNum = esd->GetPeriodNumber();
- fOrbNum = esd->GetOrbitNumber();
- fBCrossNum = esd->GetBunchCrossNumber();
-
- //primary vertex
- AliESDVertex *fESDVertex = (AliESDVertex*) esd->GetPrimaryVertex();
- fVtxContrib = fESDVertex->GetNContributors();
-
- //Tracklets
- fNtracklets = esd->GetMultiplicity()->GetNumberOfTracklets();
-
- //VZERO, ZDC
- AliESDVZERO *fV0data = esd->GetVZEROData();
- AliESDZDC *fZDCdata = esd->GetESDZDC();
-
- fV0Adecision = fV0data->GetV0ADecision();
- fV0Cdecision = fV0data->GetV0CDecision();
- fZDCAenergy = fZDCdata->GetZN2TowerEnergy()[0];
- fZDCCenergy = fZDCdata->GetZN1TowerEnergy()[0];
-
- Int_t nGoodTracks=0;
- Int_t TrackIndex[5] = {-1,-1,-1,-1,-1};
-
- //Track loop
- for(Int_t itr=0; itr<esd ->GetNumberOfTracks(); itr++) {
- AliESDtrack *trk = esd->GetTrack(itr);
- if( !trk ) continue;
-
- if(!(trk->GetStatus() & AliESDtrack::kTPCrefit) ) continue;
- if(!(trk->GetStatus() & AliESDtrack::kITSrefit) ) continue;
- if(trk->GetTPCNcls() < 50)continue;
- if(trk->GetTPCchi2()/trk->GetTPCNcls() > 4)continue;
- Float_t dca[2] = {0.0,0.0}; AliExternalTrackParam cParam;
- if(!trk->RelateToVertex(fESDVertex, esd->GetMagneticField(),300.,&cParam)) continue;
- trk->GetImpactParameters(dca[0],dca[1]);
- if(TMath::Abs(dca[1]) > 2) continue;
-
- TrackIndex[nGoodTracks] = itr;
- nGoodTracks++;
- if(nGoodTracks > 4) break;
- }//Track loop
-
- if(nGoodTracks == 2){
- for(Int_t i=0; i<2; i++){
- AliESDtrack *trk = esd->GetTrack(TrackIndex[i]);
-
- AliExternalTrackParam cParam;
- trk->RelateToVertex(fESDVertex, esd->GetMagneticField(),300.,&cParam);// to get trk->GetImpactParameters(DCAxy,DCAz);
-
- new((*fJPsiESDTracks)[i]) AliESDtrack(*trk);
-
- }
- fJPsiTree ->Fill();
- PostData(1, fJPsiTree);
- }
-
- if(nGoodTracks == 4){
- for(Int_t i=0; i<4; i++){
- AliESDtrack *trk = esd->GetTrack(TrackIndex[i]);
-
- AliExternalTrackParam cParam;
- trk->RelateToVertex(fESDVertex, esd->GetMagneticField(),300.,&cParam);// to get trk->GetImpactParameters(DCAxy,DCAz);
-
- new((*fPsi2sESDTracks)[i]) AliESDtrack(*trk);
-
- }
- fPsi2sTree ->Fill();
- PostData(2, fPsi2sTree);
- }
-
- PostData(3, hCounter);
-/*/