Hello All,
I have used root inside the grid via prun,
after doing echo $ROOTYS it prompts:
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00d_python2.6/i686-slc5-gcc43-opt/root
so this is my version of root.
Here down is the central function of my code
void Analysis1::EventsLoop()
{
TFile f("file.root","RECREATE");
if ( fChain == 0 ) return;
Long64_t nentries = fChain -> GetEntriesFast();
Long64_t nbytes = 0, nb = 0;
//*****************************************************************
//****************** START LOOP OF EVENTS *************************
//*****************************************************************
for ( Long64_t jentry = 0; jentry < nentries; jentry++ ){
Long64_t ientry = LoadTree( jentry );
if (ientry < 0) break;
nb = fChain->GetEntry(jentry); nbytes += nb;
if( isRealData ){
GRL gqual;
mygrl = gqual.TieneRunLumiBlock(RunNumber,lbn);
} else mygrl = true;
if( mygrl == false ) continue;
//AOD to D2PD cuts
Int_t n1jetet40=0;
Int_t n2jetet20=0;
for(Int_t i=0; i<jet_AntiKt4H1Topo_n; i++){
if(jet_AntiKt4H1Topo_emscale_pt->at(i)>40.e3 && fabs(jet_AntiKt4H1Topo_eta->at(i))<3.0) n1jetet40++;
if(jet_AntiKt4H1Topo_emscale_pt->at(i)>20.e3 && fabs(jet_AntiKt4H1Topo_eta->at(i))<3.0) n2jetet20++;
}
if(n1jetet40==0) continue;
if(n2jetet20<2) continue;
if(MET_Topo_et<=20.e3) continue;
Int_t n1elet10=0;
for(Int_t i=0; i<el_n; i++){
if(el_author->at(i)!=0){
//if(el_loose->at(i)==1){
if(fabs(el_etas2->at(i))<2.5){
if(el_pt->at(i)>10.e3){
n1elet10++;
}
}
//}
}
}
if(n1elet10==0) continue;
Int_t n1muet6=0;
for(Int_t i=0; i<mu_staco_n; i++){
if( mu_staco_pt->at(i)>6.e3 && fabs(mu_staco_eta->at(i))<2.5) n1muet6++;
}
if(n1muet6==0) continue;
// JET CLEANING
wasBadJet = false;
for(Int_t i=0; i<jet_AntiKt4H1Topo_n; i++){
// cleaning applied to jets with EMSJES pt<20 and any eta.
if( jet_AntiKt4H1Topo_emscale_pt->at(i)*jet_AntiKt4H1Topo_EMJES->at(i) <= 20000. ){
if( isBadLooseJet(i) ) {
wasBadJet = true;
break;
}
}
}
if(wasBadJet) continue;
// there is at least 1 reco PV with nTracks > 4
isGoodPV=false;
for( UInt_t ivx = 0; ivx < vx_nTracks->size(); ivx++ ){
if( vx_nTracks->at(ivx) > 4 ){
isGoodPV=true;
break;
}
}
if(!isGoodPV) continue;
// event veto
//
//EventVeto();
wasCrackElectron=false;
for(Int_t i=0; i<el_n; i++){
if (fabs(el_cl_eta->at(i)) > 1.37 && fabs(el_cl_eta->at(i)) < 1.52) {
wasCrackElectron=true;
break;
}
}
if(wasCrackElectron) continue;
MuPt.clear();
MuEtCone20.clear();
MuEta.clear();
MuPhi.clear();
MuEnergy.clear();
Mud0_exPV.clear();
Mud0_exPVe.clear();
Muz0_exPV.clear();
Mur0_exPV.clear();
JetPt.clear();
JetEta.clear();
JetPhi.clear();
JetEnergy.clear();
DeltaR_jj.clear();
DeltaPhi_jj.clear();
DeltaEta_jj.clear();
pt_jj.clear();
m_jj.clear();
DeltaR_Wmu.clear();
DeltaPhi_Wmu.clear();
DeltaEta_Wmu.clear();
m_Wmu.clear();
pt_Wmu.clear();
v_x.clear();
v_y.clear();
v_z.clear();
v_r.clear();
v_errx.clear();
v_erry.clear();
v_errz.clear();
v_covxy.clear();
v_covyz.clear();
v_covzx.clear();
v_chi2.clear();
v_ndof.clear();
v_type.clear();
v_nTracks.clear();
dv1v2.clear();
vector< W_From_jj > Wv;
vector< W_From_jj >::const_iterator iWv;
if ( DEBUG ) cout << jentry << endl;
Wv.clear();
ts = TransverseSphericity();
met = MET_EMJES_RefFinal_CellOutEM_et;
em = EffectiveMass();
Offline();
MuonInfo();
JetInfo();
VertexInfo();
v1v2();
Wv = recoWContenedor();
NeutralinoIssues( Wv );
Nt->Fill();
}
//********************************************************************************
//********************* END OF THE EVENTS LOOP ***********************************
//********************************************************************************
Nt->Write();
f.Write();
f.Close();
return;
}
and this is the error message
Error in TROOT::WriteTObject: The current directory (root) is not associated with a file. The object (Nt) has not been written.